OPC通讯技术六篇

2024-09-05

OPC通讯技术 篇1

如何检验复杂先进的控制算法, 并将其有效地应用在生产现场一直是工业控制领域普遍关注的热点问题。PLC+工控机模式是常见的分布式监控系统结构, 但是PLC编程语言简单, 无法实现复杂的控制算法, 而传统的PID算法已经不能满足实际控制的需要, 神经网络、模糊控制等复杂算法取代PID算法成为工业控制的发展趋势[1]。

MATLAB工程计算能力强大, 程序设计流程灵活, 可实现复杂的控制算法[2]。若将MATLAB应用到PLC控制系统中, 将有利于故障诊断和过程控制复杂算法的设计与实现。但要实现上述目的, 问题节点在于PLC和MATLAB之间的数据交换。本文介绍通过OPC技术实现MATLAB与PLC之间数据交换的方法, 并通过一个实际的例子来说明PLC与MAT-LAB通讯的原理及过程。

1 OPC技术

OPC是以微软公司COM和DCOM技术为基础而创建的一种应用于自动化领域的软件接口标准, 具有传输可靠、速度快的特点, 已广泛应用在工控行业的各个领域[3]。

OPC目标是在客户和服务器之间构建一种通讯和数据交换的工业标准机制, 只要遵循OPC标准, 客户和服务器间就能形成一定规范的链接关系, OPC服务器就可为客户提供数据服务。通常情况下OPC服务器主要由服务器对象 (Server) 、组对象 (Group) 和数据项对象 (Item) 3类组成[4], 具体层次关系如图1所示。

2 MATLAB与PLC之间的通讯实现

PLC采集现场的数据, 通过工业以太网传给工控机, 再通过工控机内部的OPC协议分别传给组态软件和MATLAB的工作空间, 组态软件用来监控系统, 而MATLAB通过算法取得最优数据, 然后再通过OPC协议和以太网将数据返回到PLC内。数据交换系统结构如图2所示。

打开MATLAB并在指令空间中输入“opctool”, 在OPC工具箱进行OPC的配置, 将MATLAB设为本地服务器, 然后把“CoDeSys.OPC.02”添加为客户, 点击“connect”, 连接之后, 在客户端添加一个组, 重命名为“INPUT”, 并且在该组中添加一个对象, 画面如图3所示, 可以看到, 在PLC配置中设置的两个变量都显示在添加对象的对话框的左边, 选中“INPUT”变量, 点击“add”, 则PLC的变量“INPUT”添加到了组“INPUT”中。用同样的方法添加一个“OUTPUT”组, 然后将PLC的变量“OUTPUT”添加到组“OUT-PUT”中, 这时在PLC的模拟量输入端给一个5V的信号, 且看到在PLC编程软件PLC配置中, 模拟量输入有了一个整型值, 而在MATLAB的OPC工具箱中, 选中“INPUT”变量, 也显示了一个整型值, 它的值和PLC配置中模拟量端口显示的整型值完全相等。

接着在MATLAB的Simulink中对这个模拟量输入实时监测, 然后将此模拟量再送到模拟量输出端子。首先在MATLAB的Simulink工作空间中加入“OPC Configuration”、“OPC Read”、“OPC Write”三个模块, 并做好相应的配置。“OPC Read”模块中加入变量“INPUT”作为对象, “OPC Write”模块中加入变量“OUTPUT”作为对象, 添加完毕后PLC的两个变量名显示在Simulink工作空间的“OPC Read”和“OPC Write”中, 说明PLC的两个变量都已经导入到Simulink的工作空间。然后, 将“OPC Read”的端子V和“OPC Write”的端子相连, 再在中间加入一个“scope”, 用来实时显示从PLC读过来的数据, 配置好的Simulink工作空间如图4所示。设置完毕后开始仿真, 双击“scope”, 则随着时间的推移数据也在实时显示, 通过调节模拟量输入端的电压值, 可以看到显示数据也在随着调节而实时变化, 如图5所示。

这时PLC硬件配置中在线显示的数据、模拟量输入端口显示的数据和模拟量输出端口显示的数据完全相等, 与“scope”监测到的数据以及opctool中组“IN-PUT”和组“OUTPUT”中的两个变量的数据也完全相同, 由此可得, 模拟量输入的值通过MATLAB的Simulink中的OPC准确无误地传送到了模拟量输出端口。

3 结束语

(1) 文献[5]提出用MATLAB和组态软件通过OPC技术进行数据交换, 实现了PLC与MATLAB之间的数据交换, 但是要经过两层OPC协议, 而本文提出的MATLAB和PLC直接用OPC协议进行数据之间的通讯, 只经过一层OPC协议, 实时性强。

(2) 本文验证了模拟量输入数据通过OPC协议, 经过MATLAB的Simulink空间传送到模拟量输出端子, 有了这个基础, 可以在“OPC Read”中添加任何现场的开关量或模拟量数据, 而在“OPC Write”中添加需要控制的开关量或模拟量输出变量, 然后在它们之间加入智能控制算法的工具箱以及控制系统的数学模型, 就可以实现控制系统的精确控制。

(3) 工业控制系统一般都是一直在运行的, 平时用Simulink做仿真时都是设定一个仿真时间值, 要想使Simulink能够一直处于工作状态, 可以将仿真值设为“inf”, 这样控制系统就可以一直运行, 而不用担心Simulink仿真时间结束导致系统瘫痪。

摘要:PLC具有结构简单、编程方便、可靠性高等特点, 在工业及生产过程中得到了广泛应用, 但PLC的编程语言功能简单, 无法实现复杂的控制算法;MATLAB是一种高级矩阵语言, 并且包含工具箱和Simulink仿真环境, 可通过对控制系统进行可视化建模、仿真等工作, 实现复杂控制算法, 但不能直接应用在实时控制中。采用OPC通信技术, 实现MATLAB与PLC通讯, 为PLC控制下复杂算法的实现提供了技术基础。

关键词:OPC技术,MATLAB,PLC,通讯

参考文献

[1]王树东, 毕作文, 王红波.OPC技术下PLC与MATLAB相结合的实时模糊控制系统[J].电气自动化, 2011, 33 (5) :11-14.

[2]林宝全, 陈冲.基于MATLAB与PLC的实时控制系统[J].南昌大学学报 (工科版) , 2011, 33 (3) :298-302.

[3]柴兆森.基于工业以太网和OPC技术的异构系统集成研究[D].兰州:兰州理工大学, 2009:12-15.

[4]唐立学, 梁伟平, 杨维波.基于OPC的MATLAB与iFIX数据通信实现的过程控制[J].电力科学与工程, 2008, 24 (2) :26-28.

OPC通讯技术 篇2

Atmos-Wave泄漏检测系统是一套集成了声波法, 负压波发和3D图形成像法的软件, 可以通过收集到的压力信号判断管道是否存在泄漏, 渗漏或偷盗油。与此同时, Atmos-Wave泄漏检测软件会将所收集的信息整合、处理并通过OPC通讯传输至用户的客户端, 使用户可以在第一时间对管道状况进行监控和做出判断。

1 Atmos-Wave泄漏检测软件介绍

Atmos-Wave泄漏检测软件 (以下简称Atmos-Wave) 是由英国阿特莫斯国际有限公司独立开发, 基于稀疏波、声波和3D图形成像法与一体的泄漏检测软件。AtmosWave可以通过对管道中压力变化的监控与收集, 通过软件后台运算, 甄别出其压力变化是由管道正常操作造成或是否有真实泄漏发生。在得出判断之后, Atmos-Wave泄漏检测软件可将所有运算信息通过OPC Server传输给长呼线原油管道已有的SCADA系统。

Atmos-Wave泄漏检测软件中包括了多种软件, 它们是:Detector, Logger, Mesh, OPC Server和Wave Manager。其中logger是用来收集以及传输数据的第一步骤软件, 数据经过logger会传输至DETECTOR以用来处理并得出结论, 之后得出的结论会传输至MESH显示出所得到的结论, 并通过OPC Server传至SCADA系统。

在长呼线原油管道上, 安装有10段Atmos-Wave泄漏检测单元, 并可以将此10段检测单元所得到的结论通过OPC协议传输至位于油坊庄首站的SCADA系统中, 让值班员能迅速发现泄漏报警。

2 Atmos-Wave与SCADA系统通讯的实现

为实现Atmos-Wave与SCADA系统之间的OPC通讯, 需对Atmos-Wave泄漏检测计算机进行DCOM设置, 以达到两台计算机之间可以进行数据交换。

OPC全称是Object Linking and Embedding (OLE) for Process Control, 它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去, 为了存取现场设备的数据信息, 每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多, 产品的不断升级, 往往给用户和软件开发商带来了巨大的负担。通常这样也不能满足工作的实际需要, 系统集成商和开发商急切需要一种具有高效性, 可靠性, 开放性, 可互操作性的即插即用的设备驱动程序。在这种情况下, OPC标准应运而生。OPC标准以微软公司的OLE标准为基础, 它的制定是通过提供一套标准的OLE/COM接口完成的, 在OPC技术中使用的是OLE 2技术, OLE标准允许多台微机之间交换文档, 图形等对象。[1]

COM是Component Object Model的缩写, 是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准, 该标准将Windows下的对象定义为独立单元, 可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯, 而不需要知道对方是如何创建的。例如, 用户可以使用C++语言创建一个Windows对象, 它支持一个接口, 通过该接口, 用户可以访问该对象提供的各种功能, 用户可以使用Visual Basic, C, Pascal, Smalltalk或其它语言编写对象访问程序。在Windows NT4.0操作系统下, COM规范扩展到可访问本机以外的其它对象, 一个应用程序所使用的对象可分布在网络上, COM的这个扩展被称为DCOM (Distributed COM) 。

通过DCOM技术和OPC标准, 完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式, 把开发访问接口的任务放在硬件生产厂家或第三方厂家, 以OPC服务器的形式提供给用户, 解决了软、硬件厂商的矛盾, 完成了系统的集成, 提高了系统的开放性和可互操作性。[2]

OPC服务器通常支持两种类型的访问接口, 它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口 (Automation interface) ;自定义接口 (Custom interface) 。自动化接口通常是为基于脚本编程语言而定义的标准接口, 可以使用Visual Basic、Delphi、Power Builder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案, 为工业监控编程带来了便利, 用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决方案的提供者, 如果它不能全方位地支持OPC, 则必将被历史所淘汰。[3]

3 在Atmos-Wave泄漏检测软件配置DCOM

(1) 开始设置DCOM, 选择“开始→运行”, 在运行窗口中输入“dcomcnfg”然后点击OK, 这样就可以打开组件服务。

(2) 右键点击“我的电脑”, 选择属性, 随后属性窗口将会打开, 点击“默认属性”标签, 确定“开启本机分布式COM”和“开启本机Internet服务”都已经被选, 默认身份验证等级应设置为连接, 默认模拟级别等级应设置为识别。 (图2)

(3) 当默认属性配置完成后, 点击“COM安全协议”, “编辑限制”和“编辑默认值”可以按照相同的权限设置。在访问权限组中点击“编辑默认值”, 将“EVERYONE, IN-TERACTIVE, SYSTEM和NETWORK”添加至编辑默认值中。如果, 用户对访问机器有严格的规则规定下, EV-ERYONE选项可以被用户指定的用户名代替。确认所有在下方窗口下的选项都被选择上。并对所有提到的COM安全设置重复以上设置。 (图3)

(4) 右键点击本地OPCENUM服务, 选择属性。选择安全标签, 其中的启动和激活权限和访问权限可以设置为使用默认值, 配置权限设置为用户自定义, 点击编辑按钮, 将EVERYONE, INTERACTIVE, SYSTEM和NETWORK添加至用户或用户组中, 启用每一个添加用户的本地启动, 远程启动, 本地激活和远程激活。 (图4)

(5) 在安全标签下, 激活和启动权限和访问权限设置为使用默认值。

将配置权限设置为自定义, 点击编辑, 在权限窗口添加EVERYONE, INTERACTIVE, SYSTEM和NETWORK, 并在每一个选项上勾选上全控制。 (图5)

(6) OPCENUM多为OPC服务器的一部分已经自动安装。OPCENUM同时也已作为一个服务进行过注册, 因此在识别标签中需要选中系统账户 (服务) 。

(7) 关闭计算机防火墙。

(8) 以下列出的设置需要在OPC Server和OPC Client电脑上检查。

本地安全设置在:

开始>控制面板>管理工具>本地安全设置。 (图6)

“DCOM:安全描述符定义语言 (SDDL) 为机器访问限制定义的语法”

“DCOM:安全描述符定义语言 (SDDL) 为机器启动限制定义的语法”

以上这两个选项需要被配置为未定义。

与此同时:

将“网络权限:使所有人权限适用于匿名权限。”设置为可使用。

将“网络权限———本地账户共享和安全模式”设置为“经典”。

4 应用实例和效果

长庆-呼和浩特原油管道 (下称长呼线) 总长度为578公里, 管径为457mm。全线共有18座阀室, 其中RTU阀室5座, 普通阀室13座。采用英国ATMOS公司开发的ATMOS WAVE泄露检测系统软件。ATMOS为长呼线安装实施的产品为基于3D压力波法的ATMOS WAVE泄漏检测系统。长呼线原油管道拓扑图如图7所示。

Atmos Wave泄漏检测系统将音波、压力波和3D方法结合应用至泄漏检测当中, 通过管线上的高性能压力传感器来感知由于泄漏而引起的压力波和音波的传导的方向, 可以在各种各样复杂的工况 (连续开关阀门、管线充装、管线泄压) 等瞬态的情况下区分泄漏及偷盗油行为所产生的信号。当泄漏产生时, 系统可以在5分钟内检测到泄漏并提供泄漏定位, 泄漏报警、泄漏位置及泄漏量的等相关信息。

由于软件全是英文界面, 不方便操作人员观察, 最后通过OPC通信把泄漏报警、泄漏位置及泄漏量传至SCA-DA系统画面, 极大地方便了操作人员。

Atmos Wave泄漏检测系统在2014年9月间监测到管线压力异常变化, 并将其判断为偷盗油行为, 定位于89.7公里处。在偷盗油行为发生期间, 压力在129秒中下降0.024MPa, 压力变化率为0.000186MPa/秒, 压力变化极为缓慢。经过巡线人员排查, 在管线约89公里处发现盗油点。

在泄漏检测系统运行的过程中, 全年共出现报警次数约为30次, 其中除去GPS运行故障造成的报警次数7次外, 其他均由于工况操作、泵和阀门状态变化以及工艺流程造成的报警。该类报警均可通过操作人员的人工排查排除, 此类报警不计入误报警。同时现场的工程师已经将该类报警的数据交予Atmos公司, 在经过Atmos公司的工程人员调试后, 可以永久的将该类报警消除。2013年-2015年, 由于非设备故障造成的报警共有2次, 成功定位2次, 无误报警。

5 结论

通过对Atmos-Wave泄漏检测软件, 硬件的介绍, 以及对OPC通讯相关知识的研究学习对Atmos Wave泄漏检测软件与SCADA之间的OPC通讯有了初步的认识和了解, 在文档中同时介绍了如何实现OPC通讯, 位于长呼线原油管道上的Atmos-Wave泄漏检测系统中的OPC已与现有SCADA系统实现联通, 从而对管道安全生产和系统稳定起到了积极的作用。

参考文献

[1]Using OPC via DCOM with XP SP2 v1.10.pdf.http://www.opcfoundation.org/.

[2]OPC and DCOM Security.http://www.opcconnect.com/dcomcnfg.php.

[3]Using KEPServer Ex via DCOM with Microsoft XP Service Pack 2.KEPware, Inc.

[4]MSDN.Microsoft.

[5]潘爱民著.COM原理与应用[M].清华大学出版社, 1999, 1.

[6]兰景英, 刘月著.COM/DCOM技术与应用[J].玉溪师范学院学报, 2004, 08.

OPC通讯技术 篇3

【关键词】OPC技术;DCS与PLC数据通讯;应用

【中图分类号】F224-39【文献标识码】A【文章编号】1672-5158(2013)07-0119-02

引言

随着我国计算机技术的不断发展,其为我国工业生产提供了更为有效的管理方式和控制方式。在我国工业生产中,控制技术以及网络通讯技术等技术有了突飞猛进的发展,其为我国工业生产提供了非常有效的技术支持。OPC技术是我国工业控制中十分常用的技术,其对工业生产的有效开展提供了重要的技术支持。通过OPC技术可以有效实现不同的控制系统同数据监控系统间形成有效的数据通信,进而保证工业生产有效进行。

本文就对OPC技术在DCS与PLC数据通讯中的应用进行分析,并提出一些相应的建议。

一、 OPC技术介绍

OPC(OLE for Process Control),其能够为Windows的应用程序和现场过程控制应用之间建立起一座非常重要的桥梁。其以微软公司的OLE技术为基础,通过提供一套十分完备的OLE/COM接口完的。OPC技术是我国工业控制中非常关键的技术,其对工业生产的有效开展提供了重要的技术支持。之所以该技术在工业生产控制中应用广泛,是因为控制网上的PLC与DCS 往往都是来自于不同的商家的,这些商家们之间的通讯是极为复杂的。也正因为如此,想要在控制网中高效、可靠地获取那些重要的、需要的实时数据,就需要采用OPC通讯技术。通过利用OPC技术,可以在过程控制方面有效使用对象连接以及嵌入技术,进而为控制系统提供了标准的数据访问。

一般情况下,在对OPC数据进行存取时,规范规定的基本对象主要有服务器、组以及数据项三类。一个服务器是与一个设备驱动程序想对应的。在利用过程中,OPC会将开发访问的接口任务放在硬件生产厂家或第三方厂家,然后通过利用OPC服务器来将这些数据提供给用户们。这样一来,就可以非常有效地解决了软件厂商同硬件厂商之间存在的矛盾,使系统资源更为集中,从而大大提高了系统的开放性。与此同时,还能够有效提升系统的可互操作性,从而实现有效管理。

通过利用OPC技术,可以有效实现控制网与管理网之间的互联,当两个网络形成一个整体时,就可以很好地保证上层应用软件和控制设备之间的数据通讯,这不但提高了控制质量,也提高了工作效率。可以说,在遵守OPC规范的前提下,可以在任何时间有效获取工艺生产的过程数据,而这一程序是通过OPC接口来完成的,具体如图1所示。

二、 系统功能与特点分析

OPC技术在DCS与PLC数据通讯的应用中可以起到非常有效的作用,DCS系统通过有效利用OPC协议,可以将实时数据库与OPCServer端连接在一起,从而可以更为有效地采集到现场PLC的实时数据,为系统提供更为丰富、有效的数据。

(一)功能分析

1、数据采集与监控功能

当我们将现场的测量点的测量数据以及状态数据输入到PLC系统时,这时候操作站就可以有效进行数据共享,这一过程是通过DCS系统来完成的。值得一提的是,在进行数据采集时可以实现在数据周期内进行自动采集,并且这个时间周期能够被设定。与此同时,其还能够随时对PLC的相应数据进行必要的监控。

2、数据处理与存储功能

对数据的处理是非常普通的功能。除此之外,还能够将当前存在的一些数据存入之能源网数据库,并且还能够对出现异常的数据给予告警信息,在给出告警信息后会将这些信息快速地存入至数据库内,此时数据库就会对这些信息进行相应的计量和统计,并可以对当前的生产状态以及历时趋势等内容进行有效的分析。

(二)特点分析

通过利用OPC技术,DCS系统能够实现更好地联网。系统在满足了OPC规范后,可以有效支持相应的工控软件和工控设备。此过程是通过安装好外置的程序后便能够将数据联入至我们所指定的数据库服务器之中。不仅如此,通过使用OPC技术,还能够使数据更为方便地被共享,当PLC工控数据进入至DCS系统后,此时就能够在DCS系统中进行必要的监视了。

安全可靠是另一个特点,系统通过使用不同的网段来设定好数据的单项上传,进而能够很好地保证位机在更为安全的环境下进行。不仅如此,由于系统使用的是发数据采集上传软件和数据监控客户端软件,这使得系统使用起来更为便利且有一个更好的运行空间,运行非常稳定。值得一提的是,这种方式还能够同原有的DCS系统完美地融合在一起,这可以非常有效地促进系统软件的一体化,有利于其研发,适用性非常强。由此可见,OPC技术应用于DCS与PLC数据通讯中是非常利于监控的。

三、 OPC技术在DCS与PLC数据通讯中的应用

OPC技术在DCS与PLC数据通讯中的应用是非常有效的,本文仅以化学水处理控制系统为例,对OPC方案的应用加以说明。

(一)建立以太网

在DCS与化学水处理控制系统联网之前,各自网络为独立的局域网(以太网)。为了实现OPC方案,首先必须建立两个系统之间的光纤以太网。为了保证各自网络的相对独立和安全性,两个局域网的网段不一样,因此需设置网关和路由才能在两个系统之间建立一条以太网通道。

(二)设置OPC服务器和客户端

确认OPC服务器(SERVER)的上位机安装的是带有OPC服务的IFIX,且运行IFIX时,必须启动IFIX的OPC服务(一个名为OPC2OiFTX.EXE的可执行文件)。

OPC基于Microsoft Windows的对象链接和嵌套(Active X)、部件对象模型(COM)和分布式部件对象模型(DCOM)技术,因此需要修改OPC SERVER的IFIX操作员站以及作为OPC客户端(CLIENT)的DCS操作员站的DCOM配置,才能建立OPC SERVER和OPC CLIENT之间的正确连接。这是建立SERVER/CLIENT结构的关键一步。

1、 OPC CLIENT的DCOM设置。作为OPC CLIENT的Ovation DCS操作员站所使用的计算机操作系统为Windows xp,具体设置可以参阅DCS的相关手册,该部分工作由DCS厂家完成,在此不进行详述。

2、在OPC CLIENT上访问OPC SERVER 正确配置了OPC SERVER和CLIENT的DCOM后,就在DCS和BOP PLC系统之间构建了一条基于OPC的网络通道,从而将BOP的过程数据库纳入DCS过程数据库中,实现在DCS操作员站上对BOP的监控。

总结:OPC技术可以对现场PLC系统进行有效的数据采集,能够实时地获取相关的重要数据,也可以有效地保证DCS系统安全、有效的运行,从而为工业生产提供必要的技术支持,保证DCS与PLC数据通讯有效开展下去。

参考文献

[1] 龚政.OPC技术在DCS与PLC数据通讯中的应用[J].鄂钢科技,2010年03期

[2] 雷鸣.OPC DA和OPC DX在数据采集方面的综合应用[A].中国计量协会冶金分会2011年会论文集[C].2011年

[3] 赵涛.基于OPC和PLC的煤矿主扇风机在线监控系统的研究与设计[D].太原理工大学,2010年

OPC UA技术总结 篇4

(OPC Unified Architecture,OPC统一体系架构)

1.OPC UA 简介

OPC UA(Unified Architecture)标准是OPC基金会2006年推出的一个新的工业软件应用接口规范,是企业软件架构的一个全新方向。OPC UA的主要目标是建立更丰富的数据模型与平台的独立性,以及提高工厂底层和企业系统之间的集成支持。

2.OPC UA 产生

现有OPC 规范的不足:

1)缺少跨平台通用性。由于COM/DCOM对Microsoft平台的依赖性,使得OPC-COM接口很难被应用到其它平台上。

2)较难与Intemet应用程序集成。由于网络防火墙会过滤掉大多数基于COM传输的数据,因此OPC-COM不能与Intemet应用程序进行交互。DCOM 不适用于Internet 环境,它不支持通过Internet访问对象;

3)COM 产生的传输报文复杂,并且由于防火墙的存在,在Internet 上发送COM 报文非常困难。

4)较难与企业应用程序连接。企业应用程序需要实时的工业现场数据,这些数据通常来自具有OPC-COM接口的服务器。但是这些上层应用程序大多没有与OPC-C0M服务器交互的OPC-COM接口,因而不能进行连接。促使OPC UA 出现的主要因素:

1)工业应用软件正转向Microsoft.NET;

2)客户端软件需要一个集成的API 集成现有OPC规范及各自独立的API;

3)客户端软件需要对数据语义进行识别;

4)客户对服务器安全性、可靠性等性能方面更高的要求。

针对上述因素和现有OPC 的不足,新规范OPC UA 主要通过以下方法来解决:

1)OPC UA 的消息采用WSDL 定义,实现了规范的平台无关性;

2)OPC UA 定义了一套集成的服务,解决了现有OPC 规范在应用时服务重叠的问题; 3)OPC UA 采用了集成的地址空间,增加对象语义识别功能,并实现了对信息模型的 支持;

4)另外,OPC UA 采用冗余技术、安全模型等一系列机制,提高了安全性、可靠性等方面的性能。

虽然我们可以用OPC XML-Data Access 规范,并结合SOAP、WSDL 等Web Services 技术,能弥补上述缺陷,但是由于规范本身的问题,其在可互操作性、安全性、可靠性等方面仍不能满足用户的需求。为此,OPC 基金会推出新一代OPC 规范—— OPC UA。

3.OPC UA 服务器体系结构

OPC UA 服务器体系结构中主要包括真实对象、OPC UA 服务器应用程序、OPC UA 地址空间、公布/ 预定实体、OPC UA 服务器服务API、OPC UA通信栈,其中真实对象包括物理对象和软件对象。

3.1 OPC UA 服务器与客户主要的交互实现

1)客户发送服务请求,经底层通信实体发送给OPC UA 通信栈,并通过OPC UA 服务器接口调用请求/ 响应服务,在地址空间的一个或多个节点上执行指定任务之后,返回一个响应;

2)客户发送发布请求,经底层通信实体发送给OPC UA 通信栈,并通过OPC UA 服务器接口发送给预定,当预定指定的监视项探测到数据变化或者事件/警报发生时,监视项生成一个通知发送给预定,并由预定发送给客户。3.2 OPC UA服务器的链接机制

一个服务器可作为一个客户与另一个服务器进行交互:

由此,通过OPC UA 服务器,企业容易实现现场层到企业层的数据访问。

4.OPC UA 对象模型

现有OPC API 定义的对象是相互分离独立的,OPC UA 通过OPC UA 对象模型,实现了对各个对象服务的集成。对象模型是通过对象的变量、方法、事件及其相关的服务来表现对象的。

变量:现有OPC DA API 方法:现有OPC Commands API 事件:现有OPC A&E API 变量表示对象的数据属性,它可以是简单值或构造值。变量有值特性、质量特性和时间戳特性。值特性表示变量的值,质量特性表示生成的变量值的可信度,时间戳特性表示变量值的生成时间。

方法是被客户调用执行的操作。它分为状态的和无状态的。无状态是指方法一旦被调用,必须执行到结束,而状态指方法在调用后可以暂停,重新执行或者中止。

事件表示发生了系统认为的重要事情,而其中表现异常情况的事件被称为报警。通过对象模型实现了数据、报警、事件以及历史数据集成到一个单独的OPC UA 服务器中。例如,OPC UA 服务器把一个温度传送器视为一个对象,它由一个温度值,一组警报参数和相关的警报界限组成。

5.OPC UA 地址空间

OPC UA 的地址空间是由一系列节点经组织而构成的,客户通过OPC 服务来访问它。地址空间里的节点是用于表现真实对象、对象的定义以及对象间的引用(reference)。在现有OPC 规范中,各个规范单独定义自己的地址空间和服务,而OPC UA 把这种模型统一为一个集成的地址空间。

例如,一个温度传送器的OPC 服务器,假定它提供当前的温度值和一组警报——当温度值超过最高极限或低于最低极限时发生。用现有OPC 规范实现上述OPC 服务器,需要实现两个OPC API,OPC DataAccess API 用来获取温度传送器的温度值,OPCAlarm & Event API 用来实现警报,客户程序用不同的浏览方法定位温度值和其警报之后,还要在客户端使用特定方法关联温度传送器的温度值和其警报,而OPC UA 服务器则把数据、警报、事件集成到单一的地址空间里。

6.OPC UA 服务器与现有OPC 服务器比较

1)可互操作性:集成了现有OPC 各自独立的API,增强了可互操作性。2)开放性:增加了对Linux/Unix 等其他非微软平台的支持。

3)安全性:增加了服务器的鉴别与授权、消息的签名与加密,提高了安全性能。4)集成能力:服务器间的链接机制使得更容易实现现场层到管理层的集成,诸如实现MES,ERP 系统,更适合作为系统的集成工具。

5)可靠性:利用冗余技术、消息序列号、生存保持期等方法,提高了可靠性。

7.OPC UA 适用场合

OPC UA规范为独立于平台的通讯和信息技术创造了基础。UA 技术具有可升级性、网络兼容性、独立于平台和安全性等特点。因此,它可广泛应用于控制系统、MES(制造执行系统)以及 ERP(企业资源计划系统)。

8.OPC UA与EDDL、FDT/DTM的结合 所谓设备集成(Device Integration),就是在自动化技术的系统中集中地调用现场设备的数据和功能。近年来市场上流行两种先进的集成技术:电子设备描述语言(EDDL)和现场设备工具(FDT)。这两种技术构成不同的解决方案。

FDT(Field Device Tool)技术已由ABB、EB Hartmann&Braun、Siemens公司的代表及ZVEI成员开发完成。其目的是找到一种解决方案,使得人们能在控制系统的工程设计软件中设置现场仪器,而不管它们使用何种通讯协议。一方面他们想为工程师提供有关智能以表的所有细节,另一方面要让仪器制造商从需支持各种不同种类的过程控制系统的困境中解脱出来。以Microsoft ActiveX/COM技术为基础的FDT规范就是很好的解决方案,通过它,仪表的所有应用都可集成到工程师软件或其他配置工具软件中。

DTM(Device Type Manager)是仪器制造商提供的用于对仪表进行配置的接口程序,它相当于智能仪表的driver。它与FDT的关系是:FDT定义了DTM与控制系统工程设计软件之间的接口。DTM拥有仪器的所有信息。通过工程设计软件,人们可以实施仪表的所有功能,并能设置其所有参数。另外,DTM把它的数据存储到过程控制系统的中心数据库,通过使用FDT实现与现场仪表的通讯。这样,DTM就无需知道关于过程控制系统的结构及通讯路径的信息。一旦建立了DTM并且FDT起作用,DTM就可在任何环境中使用。

EDDL是描述电子(仪表)设备的语言。电子设备描述(EDD)是作为文本文件被保存下来的,和不依赖于操作系统和浏览器的HTML 或JAVA 相似。EDD-Application(应用)程序解释EDD并为用户生成一个操作界面。EDD 是一种统一的、独立于平台的设备操作的基础,这是它最重要的特征与优点。EDDL是与操作系统独立的并向后兼容的。如果操作系统版本升级,现有的EDD文件将会继续有效,不会由于升级EDD造成时间、生产力和成本的损失。新的驱动程序不是必需的,这就免去了测试和验证兼容性的必要。

表1所示为EDDL 和FDT/DTM 两种集成方法主要不同点的对比。

表1 EDDL-FDT/DTM对比

将OPC UA和EDDL相结合用于数据交换是FF现场总线基金会、Hart通信基金会和Profibus总线技术协会推荐采用的方式。

OPC与EDDL技术的集成将为使用标准的、与平台独立接口的OPC客户应用提供更加丰富的信息。这些客户应用程序将能够工作在整个企业中大范围的系统上。通过合并EDDL与OPC,客户端不仅能够访问数据而且可以访问数据描述。这样就可以开发更加复杂、与平台独立的客户端应用。

EDDL不仅是与平台独立,而且与通讯协议独立;再加上它是一个国际性的标准。考虑到OPC服务器支持来自数百万已经使用FF、HCF和PNO通讯技术的设备对数据的访问,并且这些设备使用EDDL描述数据,OPC使用EDDL作为它的类型描述就很自然了。这不仅提供了访问数据的途径,而且提供了访问已存在的EDD描述的路径。

实际上,当这个项目完成时我们的最终用户将成为真正的赢家。我们相信OPC与EDDL的结合真正是解决与互操作性和数据集成相关问题的唯一合理方法。9.OPC UA特点

与目前的OPC 规范相对比,OPC UA 提出了更多的新特点:

● 复杂数据内置:在新的数据获取标准 OPC DA 中增加了复杂数据规范,例如当前的 DA 服务器可以不仅支持简单数据,还可以支持变化型变量Variant,在 OPC UA 中,这种复杂数据类型的支持变成基本的功能。

● 增强的命名空间: 在目前的 OPC 规范中支持将目前的数据组织成层次结构,OPC UA 更支持无限的节点命名和无限的关系设定,同时每个节点均可以对其他节点有无限的关系设定。

OPC通讯技术 篇5

在企业生产过程中,控制网上的D C S、P L C和其他智能仪器仪表通常来自不同的厂商,相互之间的通讯非常复杂,甚至由于通讯接口不够灵活,导致控制网与管理网之间数据的互操作性差,基于控制网硬件的生产数据报表、管理软件功能受到限制。OPC(OLE for Process Control)作为硬件和软件之间的一个中间件,它为工业数据通讯提供了一种标准。本文在实际应用中,采用V B与O P C自动化接口结合,完成实时数据采集,生成EXCEL数据报表,完成与控制网之间数据的互操作,并给出实现方法。

2 OPC技术概述

OPC全称是OLE for Process Control,是过程控制业中的新兴标准。O P C新技术标准的出现为数据采集接口和现场过程控制DCS系统应用建立了桥梁,为工业控制领域提供了标准的数据访问机制。O P C采用客户/服务器结构,提供了两套接口方案,分别为C O M接口和OLE自动化接口,C O M接口效率高,通过它客户能够发挥O P C服务器的最佳性能,采用C++语言的客户一般采用此方案[1];OLE自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB语言的客户一般采用此方案。如图1所示:

3 OPC数据访问规范

到目前为止,O P C基金组织发布的O P C规范主要有:数据访问接口规范(Data Access Interface Standard)、报警及事件处理规范(OPC Alarms and Events)和历史数据存取规范(Historical Data Access)。得到广泛应用的是OPC数据访问规范,它主要解决服务器端和客户端的实时数据存取问题。总体而言,OPC数据访问规范中包含三类对象:服务器(Server)组(Group)和数据项(Item)。三类对象的组织结构像普通文件系统,其中服务器与分区、组与文件夹、项与文件一一对应,各个部分都有自己的属性,同时负责管理其底层分支[2,3]

3.1 服务器对象

服务器对象包含服务器的所有信息,也是组对象的容器,一个服务器对应于一个OPCserver,即一种设备的驱动程序,在一个Server中,可以有若干个组,组对象除了包含它自身信息外,还负责管理数据项,每一个数据项代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对数据项直接进行操作,应用程序必须依靠数据项的容器组对象来对它进行操作。

3.2 组对象

拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。OPC组对象(Group)提供了客户组织数据的一种方法,组是应用程序组织数据的一个单位,客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,O P C将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询;一般说来,客户和服务器的一对连接只需要定义一个组对象,在一个组中,可以有若干个项。

3.3 项

项是读写数据的最小逻辑单位,一个项与一个具体的位号相连。项不能独立于组存在,必须隶属于某一个组。在每个组对象中,客户可以加入多个O P C数据项(Item);OPC数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。O P C客户对设备寄存器的操作都是通过其数据项来完成的,通过定义数据项,O P C规范尽可能地隐藏了设备的特殊信息,也使O P C服务器的通用性大大增强。O P C数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的,每个数据项的数据结构包括三个成员变量:即数据值、数据质量和时间戳;数据值是以V A R I A N T形式表示的。可以把数据项看作数据源的地址,即数据源的引用。

4 系统组成

目前企业使用的报表系统中,简单的报表系统组态软件能够实现。但对于复杂的报表,组态软件处理能力有限,不能满足复杂报表要求,一种方案采用的专业报表软件(如水晶报表),需要用户具有一定的基础,另一种方案采用数据库记录转存,将数据记录到SQL2000或ACCESS数据库上,利用数据库报表工具生成报表,上面提到的报表方案,存在维护不方便,开放性不好,成本过高。EXCEL具有强大的报表分析处理能力,采用E X-C E L报表模板功能,将报表统计功能制作成报表模板,利用V B语言上手容易,配合E X C E L报进行编程,构建报表系统,数据采集由V B完成,这样的系统开放性好,用户可根据需要更改EXCEL模板,维护方便,大大降低了用户的是成本和工作量,是比较经济实用的一种方法。本文利用罗克韦尔公司的Rslinx软件提供的OPC接口,用VB编写了客户端应用程序,系统由两个独立单元构成,VB-OPC接口单元、VB-EXCEL报表单元,第一部分负责数据读取,通过O P C技术从P L C等下位机得到所需数据,第二部分负责报表生成,通过V B与EXCEL结合,将时实数据写入文件中,整体结构如图2:

4.1 客户端应用程序的设计

客户端应用程序的设计主要是指客户端O P C接口部分设计,以便完成很多复杂的数据处理与显示功能,因此需要O P C接口部分O P C访问服务器,对现场数据进行存取[4]。

实现步骤:

4.1.1 RSLinx的配置

RSLinx是AB可编程控制器在Windows环境下建立工厂所用通信方案的工具,要使用RSLinx的OPC接口作为服务器,在R S L i n x中对O P C进行配置,设置Topic名称指向数据源设备。

4.1.2 安装OPC自动化接口服务

若要用VB开发OPC应用程序,必须安装O P C自动化接口服务,保证计算机系统目录下有OPCDAAuto.dll。OPC基金会提供了一个叫做“自动化包装器”的动态连接库,从OPC基金会的网站(www.opcfoundation.org)可下载。在V B环境中,按“工程”的子菜单“引用…”后,弹出对话框,选择其中的“R S L i n xO P C Automation2.0”项,这样才能使用自动化接口。

4.1.3 程序设计

(1)连接OPC服务器

(2)添加OPC组对象

(3)添加数据项

(4)同步数据读写

O P C数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。

若只读取数据,可以使用Data Change事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到Txt Value(数据共享区)变量数组中。

(5)断开OPC服务器

4.2 Excel接口部分

Excel具有强大报表功能,由于Visual Basic的可扩展性,使用和融入Office的特性,包括Excel,Excel可以用作O L E服务器,向外部输出某些属性,方法和事件。Visual Basic可以利用这些功能,实现与Excel的集成,并控制报表格式。

4.2.1 在工程中引用Microsoft Excel类型库

从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定",表示在工程中要引用E X C E L类型库。

4.2.2 在通用对象的声明过程中定义EXCEL对象

在此处将读到Txt Value变量数组的数据按照报表格式写进相应单元格中

到此完成了从控制网取得生产数据,并写入报表文件,完成生成报表的流程。

5 结束语

通过上述V B的模块化编程,将数据源与数据应用结合起来,程序可维护性好,同时具备可扩展性,在OPC技术规范支持下,把硬件供应商和应用软件开发者分离开来,使得双方的工作效率都有了很大提高。软件开发商无需了解硬件的实质和操作过程,就能访问OPC数据服务器中的数据,对具体的用户需求进行二次开发,并与Office办公软件结合,已在电厂分炉计量报表系统中实际应用,取得了很好的效果,也为其他厂家面对用户的个体需求,提供了参考。

摘要:本文介绍了基于Visual Basic开发环境,通过OPC自动化接口实现客户端的数据采集,并把数据与Excel无缝结合形成的数据报表系统。

关键词:VB,EXCEL,OPC数据访问规范,自动化接口,数据采集

参考文献

[1]潘爱民.COM原理[M].北京:清华大学出版社,2000

[2]OPC Foundation.OPC Data Access AutomationInterface Standard version2.02[S].1999.

[3]OPC Foundation.OPC Data Access Custom Inter-face Standard version 2.05[S].2001.

OPC通讯技术 篇6

楼宇自动化系统简称为BAS, 是当前智能建筑的重要构成部分之一。在智慧建筑当中, 通过对楼宇自动化系统的应用, 能够很好地满足对建筑物内的所有设备与环境进行管控的目的。一般而言, 楼宇自动化系统包括着多个方面的内容, 这些内容也进一步构成了相应的子系统, 如电力子系统、照明子系统、安全子系统等。尽管楼宇自动化系统对于智慧建筑的发展有着十分重要的帮助, 但不可否认的是, 在其长期的发展过程中却未能形成一个国家化的标准式的通信方面的协议, 从而使得上述子系统不能够很好地进行有效集成, 彼此之间的合作效率不高, 而这也极大地损害了智慧建筑的更高层次的发展。

就系统集成的观念来看, 最需要解决的问题是软件方面的集成, 也即怎样构建其相应的标准化的通讯协议, 从而驱动各种子系统之间的有效沟通。在智慧建筑各种子系统中, 他们彼此之间往往会采用不同的网络化的平台, 并遵循着不同的通讯协议。在进行系统方面的集成操作时, 为了能够很好地实现子系统之间的彼此沟通问题, 可以采用如下几种方法: (1) 采用统一的通讯协议来满足各个子系统集成的目的; (2) 通过进行相应的协议转换来实现各个子系统集成的目的; (3) 通过OPC技术来实现各个子系统集成的目的; (4) 运用ODBC技术来实现各个子系统集成的目的。实践表明, 目前使用OPC技术能够很好地满足子系统的集成, 因此它也称为当前应用最为普遍的手法。

OPC技术的出现就是为了有效解决存在于应用软件与各种驱动程序当中的通讯问题, 它是一种标准化的工业技术规范, 能够为软硬件的开发者提供城乡的标准接口。具体来看, OPC系统对接口的函数进行了有效规定, 这使得不管现场处于何种情况, 也不管现场应用何种设备, 使用者都可以应用标准的方式去进行访问与连接, 这使得相应的软件对于所有客户都具有足够的透明性。OPC系统能够被很好地连接到I/O设施、现场总线等当中, 是一种即插即用的便利性组件, 用户对其使用具有很大的可操作性, 也相对比较容易。从OPC系统的构成来看, 它充分运用了微软的OLE/COM方面的相关技术, 包括用户所使用的机器与服务器两大部分, 也就是应用客户计算机/服务器类型的运行体系构架。OPC系统的服务器程序是被安装到整体的系统服务器当中的, 而用户所使用的程序也能够在整个系统的服务器当中应用, 并且还可以实现互联网应用。

2 楼宇自动化控制系统集成模式与OPC技术接口特征

楼宇自动化控制系统有其自身的显著特点, 一是测控点非常分散, 二是被控设备的种类繁多。要实现对建筑物内所有机电设备进行全面协调控制, 保证其经济运行和科学管理, 为人们提供一种安全、健康、舒适、温馨的生活环境, 就必然需要构建一种低成本、交互操作性强、成熟的控制系统。随着信息技术的发展和管理水平要求的不断提高, 基于网络的系统集成, 或者说楼宇各类信息 (包括监控信号) 的集成, 已成为楼宇自动化的主要内容。信息集成的主要特征是建立一个完整、统一的, 以网络为基础的监控管理平台。该平台能采集和取用各子系统的所有实时数据和历史数据, 并在集成的网络系统上发布, 实现对系统信息、资源和管理服务的共享。另外, 系统具有便捷和友好的个人业务操作界面, 能满足众多用户的不同作业需求。

就目前情况而言, 使用最为广泛也是最为先进的楼宇自动化控制系统是采用了总线安装技术的网络化的控制方式。这种方式是在之前较为常用的集散化的控制系统的基础上设计出来的, 将总线方面的控制技术融入到集散系统当中, 如BACnet技术等。通过这种技术化的引进, 能够有效地解决由现场设备存在相对的分散性以及数据在传输过程中所具有双向性所带来的问题。就系统化的角度而言, 在这个系统中具有两种核心的数据方面的交换与结合。 (1) 在现场的控制器与监控使用的计算机之间发生的, 这也即上下位机之间进行的数据交换; (2) 控制层面与管理层面之间针对相应的监控信息资源所发生的数据的交换与结合。对于上述两种数据交换方面问题的解决, 最有效的方法就是采用软件方面的技术, 而OPC技术就是这样一种技术, 这也是在国际上最为流行的技术方法之一。从接口方面的视角来看, OPC作为一种标准化的接口, 能够将软硬件进行很好的融合。

上一篇:功能交际法论文下一篇:高职学生工作信息化论文