OPC通讯技术

2024-06-14

OPC通讯技术(精选9篇)

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篇

关键词:OPC技术;工业监控;网络

中图分类号:TP277 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

随着计算机网络技术的发展所迎来的信息时代,很多企业已经把公司的信息化纳为自己企业长远发展的首要条件之一。但是因为多数企业都存在着多种网络系统,所以导致这些网络配置具有差异网络系统成为了公司管理机制网络一体化模式的绊脚石,因此OPC技术的出现正好成为了公司解决个难题的最佳方案。OPC英文全称为:OLE FOR PROCESS CONTROL,中文翻译为:应用于过程控制的OLE。OPC技术为基于Windows和现场控制的应用之间搭建了通道,它是过程控制的一个新准则,帮助我们解决了多种软件和硬件间的冲突问题,并提升了系统的集成性及开放性等。更重要的是OPC技术不但能活跃于工控软件系统的各个方面,还能成为各个软件及模块间数据通信的接口,这就是它为我们带来的真正优势;因此,很多企业已经开始投入对它的研究和使用。、

一、OPC标准技术的组成

OPC技术主要给企业工业监控网络方面给出了一个可以存取现场设备数据的办法,当前,OPC基金会早已发出了多种的OPC的规范,比如:OPC DATA EXCHANGE数据交换规范、OPC ALAMS AND EVENTS报警及事件规范、OPC DATA ACCESS数据存取规范及OPC SECURITY安全规范等。由于OPC各种规范的引进,让我们软硬件的配置都拥有了开放化、标准化及组件化等特性,也为我们的监控软件提供了一个高效的通信机制平台。

二、OPC接口及对象

OPC的规范叙述了OPC服务器需要完成的COM接口和COM对象,它分为定制接口和自动化接口这两个规范,从而使开发的工作人员能够更好的设计及完成OPC服务器程序及它的客户程序;而这两种不同的接口规范也分别服务于不同的编程语言。自动化接口它主要给出了一个具有自动配置及能存取数据的接口,来为VB编程程序等任意可以运用OLE自动化服务器接口的程序所使用。定制接口则叙述了OPC的对象及组件,是为C语言等其他高等的编程语言所提供的接口,所以它适合被使用于对运作性能要求较高的客户应用程序。其实,OPC技术开发的主要目的就是让标准接口能够完成网络中任何支持这个标准的节点进行数据的获取。

三、基于OPC技术的工业监控系统的结构设计

(1)设计思路。我们可以依据OPC结构的特点,来设计一个基于OPC技术的分布式工业监控系统。这个监控系统能把整个系统安装到一台计算机上,这样不但能进行集中式管理,而且能分配给其他计算机,从而利用分布式管理达到提高项目容量及系统性能的目的。OPC技术为企业工厂的自动化运作实现了真正的即插即用技术,从而让企业工厂里的系统及设备等都可以进行自由的连接、通信。这个设计方案把系统及设备,甚至从工厂的车间到管理信息系统,都进行了无缝隙的连结,完全实现了企业开放便捷式的管理。(2)基于OPC技术的工业监控系统的组成模块。OPC数据服务器:它把每个硬件设备的驱动程序及通讯程序合成一个单独的OPC数据服务器,来实现和硬件设备通讯的目的。一个独立的OPC数据服务器可以代替很多专用的驱动器,还可以和其他设备进行通讯,值得一提的是,被封装为OPC服务器的硬件驱动程序也得到了一定的技术保护。

监控站:监控软件支持OPC组态软件的使用,然后达到减少系统集成花费及软件开发时间等目的。监控软件和硬件彼此独立,它们都能在依照OPC數据接口协议的情况下进行单独的升级,并可以让分布式监控系统里的监控程序及数据采集程序模块化,最后提升它的开放性能。

报警服务器:它主要是用来收集监控站及OPC服务器上出现的报警信息,然后通过身份的确认后,形成了报警信息,并对其进行相应的统计。

历史数据服务器:它主要是统计系统中的历史数据,然后把这些信息发送到历史数据服务器的站点,最后进行保存,并提供给我们对历史数据进行查询的功能。

XML DA服务器:它主要是用来发布、统计并发送ACTIVEX画面所需要的数据,还要为使用者提供相应的WEB服务。

WEB浏览器:它主要是客户端使用的普通浏览器,我们可以通过下载ACTIVEX,来监测目前运行设备的工作状况。

上面这些多样的服务器则形成了我们的互联网数据中心,任意一个OPC客户都能连接到由供应商给出的OPC服务器上,而任意一个OPC服务器都能为多个OPC客户进行服务;只要我们的监控软件能依据OPC规范,那么它就能访问当前全部的OPC服务器所实现的硬件驱动程序。这个设计中所有的节点功能都能进行互换,还能把全部的功能放在一台计算机上去实现,这就是它的优势。

四、基于OPC技术的监控系统软件整体设计的实现

我们可以把软件分为多个功能组件,例如报警组件、数据库管理组件等等;然后把相对应的组件分门别类的进行编写、调试运行等,最终,就形成了集多个功能于一体的自动化工业软件。我们通过现场总线的协议来对设备的实时数据进行收集,并使用OPC接口传送数据,最终达到全方面了解现场目前运作状况的目的。

五、结束语

综上所诉,我们可以了解到OPC技术在我们目前企业工业监测中起到的重要作用,它为企业提出了一个新的、具有开放性的高效通信标准,让我们找到了一种存取实时数据的方式。本文就基于OPC技术简要构思和设计了一个基于OPC技术的监控系统软件,讲述了OPC的标准和它的设计结构,探讨了拥有分布式及模块化特性的工业监控软件的设计方法,突出了这个监控软件多样的功能性及可靠性。目前很多企业已经把OPC技术的使用投入到工业的自动化监控系统中。我相信在未来,基于OPC技术的工业监控技术将会越来越成熟,它将被应用在越来越多的企业管理中。

参考文献:

[1]陈永洪.一种基于IP架构的新工业监控系统[J].电气时代,2011(02).

OPC通讯技术 第3篇

1 OPC通讯原理

OPC (OLE for Process Control) 通讯技术是基于OLE/COM技术的扩展远程支持的TCP/IP网络通讯协议。由于OPC规范了自动化控制系统通讯接口函数, 不管现场自动化系统设备以何种形式存在, 客户都可以以统一的方式去访问, 从而实现了自动化系统的开放性, 易于实现与其他控制系统的接口。正因为OPC通讯这种特点, 目前各种流行的DCS系统都配备了OPC通讯接口。

按照OPC通讯的规定, OPC通讯接口中分OPC服务端 (OPC Server) 和OPC客户端 (OPC Client) , 任何两个带有OPC通讯接口的自动化系统通讯时, 必须是一个作为OPC Server端, 而另一个作为OPC客户端, 这两套控制系统建立好连接后, 用户只要将双方需要通讯的OPC标签变量名 (也称为item) 添加在OPC Server中, 这样OPC服务端和OPC客户端双方就以OPC标签变量读写的方式完成数据交换, 即实现通讯。

需要指出的是任何2个只具有OPC服务端的控制系统之间或2个只具有OPC客户端的控制系统之间不能直接进行通讯, 只能借助于第三方具有OPC通讯接口的控制系统中转来完成, 如图1所示。

2 QCS系统和DCS的通讯

图2中, QCS生料质量控制系统由X荧光分析仪和QCS控制系统组成, X荧光分析仪用于生料及其各配料原料的化学成分分析, QCS控制系统根据来自DCS系统采集的各生料电子秤数据和X荧光分析仪的分析数据进行配料计算, 计算出的生料配比传送给DCS控制系统, 控制皮带秤进行配料。此后每间隔1h从出磨生料和均化库出口提取生料样品, 由X荧光分析仪进行分析生料化学成分的波动情况, 适时进行自动调整原料配比, 以确保入窑生料的三率值始终保持在规定的范围。

从图2可以看到, QCS系统需要从DCS系统中获得生料电子秤的开停信号、流量信号等现场数据;QCS系统还需要将控制原料下料的配比参数和出磨生料的化学成分数据发送给DCS系统, 这种控制数据的输入输出必须通过双方进行通讯才能完成。

下面以某厂QCS系统与ABB Freelance2000DCS系统的OPC通讯为例, 介绍石灰石、生页岩、砂岩、铁粉和电石渣五组分配料的生料配料控制系统。

图3为其QCS生料质量控制系统画面。QCS系统需要将原料给定配比和出磨生料化学成分变量发给DCS系统, 进行配料控制。部分输出变量见表1。

为了实现QCS系统与DCS系统的OPC通讯, 首先采用以太网连接方式将DCS系统与QCS系统硬件进行连接;DCS系统作为OPC的服务端, QCS控制系统作为OPC客户端, 在ABB DCS系统中建立ABB的OPC Server并且将上述OPC标签变量添加在ABB服务器中, 见图4。

ABB的DCS系统设置完毕, QCS控制系统就可以以OPC客户端的方式访问ABB的OPC Server, 并将OPC客户端的标签变量名字和ABB的OPC Server标签变量名字设定为相同, 双方就可以自动地进行OPC通讯。见图5。

3 OPC通讯值得注意的问题

OPC通讯技术 第4篇

关键词:OPC;COM;DCOM;风电场

针对当前风电场中风机控制系统及电力监控系统多系统并存的情况,将OPC技术引入其中,以实现风电场中风机控制系统和电气控制系统的无缝连接,解决了风电场多系统互联问题。

1.OPC的关键技术

OPC技术也是微软公司为了把Windows应用于控制系统而和控制界共同推出的一项技术。它以微软公司的组件对象模型/分布式组件对象模型(COM/DCOM)技术为基础,为工业控制软件定义了一套标准的对象、接口和属性,通过这些对象接口,实现了应用程序之间数据交换的标准化,从而大大提高自动化设备之间的开放性和互操作性。

A.COM与DCOM技术

随着软件技术的迅速发展,传统的程序升级已经不能满足技术发展的需要,解决这个问题的方法就是将应用程序分割成一些小的应用或组件,然后将这些组件在运行时组装起来形成应用程序。在组件技术规范方面主要有两个标准,其中一个是由微软推出的组件对象模型(Component Object Model,COM)技术。该技术提供了各个软件部件以标准模式在一起工作的框架和技术规范,此规范为了保证能够互操作、客户和组件应遵循的一些二进制和网络标准,任意的两个组件之间可以在不同的操作环境下进行通讯,甚至使用不同的开发语言开发的组件也能实现。COM是一种软件组件间相互数据交换的有效方法。

COM接口的COM规范中最重要的部分,COM规范的核心内容就是对接口的定义,COM都是以接口的形式出现。组件与组件之间、组件与客户程序之间都要通过接口进行交互。接口成员函数将负责为客户过其他组件提供服务。对于COM来说,接口是一个包含一个函数指针数组的内存结构。对于客户来说,一个组件就是一个接口集,任何一个具备相同接口的组件都可对组件都可以对此进行相对于其他组件透明的替换。

B.基于OPC的客户机/服务器数据交换模型

COM技术的出现为控制设备和控制管理系统之间的数据交换简单化提供了技术基础。但是如果不提供各异标准的化COM接口,各个控制设备厂家的COM组件之间的相互连接仍然是不可能的。

随着基于OPC标准的控制组件的推广和普及,不仅使控制系统功能的增减和组件的置换更加简单,而且使过程数据的访问也变得容易。比如,符合OPC规范的过程控制程序可以直接和数据分析软件包或电子表格应用程序连接。

2.OPC数据采集系统设计

在传统的数据采集系统中,监控与数据采集系统(SCADA)、人机接口(HMI)、组态软件等应用程序都是通过驱动程序与现场设备进行通信的,但驱动程序有着它自身的局限性,如同一设备为适应不同的客户端应用程序需要开发不同的驱动程序,造成劳动重复。一旦硬件设备升级,先前开发的驱动程序也应做相应的修改。驱动程序一般采用动态链接库(DLL)的形式,动态数据交换(DDE)是其进行数据交换的主要方式,但这种方式不允许多个应用程序同时访问一个设备。

A.风电场前置机数据采集系统设计

由于OPC定义了一套基于Microsoft OLE/COM或DCOM的接口访问方式,符合或支持OPC协议的应用程序只要基于TCP/IP协议可以互相访问,就可以通过OPC协议交换数据。风场前置接口机上安装多块网卡,需要和风机生产厂家提供的监控系统的工程师站相连,其IP地址设置成与工程师站在同一网段即可。

由于目前各风机生产厂商开放程度的不同,丹麦的Vestas风机开发了OPC接口,用于第三方厂商的接入,西班牙歌美萨风机是提供了其数据库的接口软件(DLL),东汽、华锐等国产风机是与风机控制器进行轮询,转发为MODBUS通讯协议,提供给第三方,由第三方完成。

B.风电场OPCSever接口软件设计

本文以华锐风机1500为例,介绍风电场OPCSever接口软件的设计方案。华锐风机是提供与风机控制器的进行通讯的MODBUS数据通讯服务器软件,其软件实现与现场风机进行实时数据交互,我们设计将MODBUS/TCP包装成OPCSever.在使用MODBUS/TCP协议规范时,采用面向连接的方法,在通信时要经过建立连接、传输数据、释放连接三个步骤。

a. MODBUS/TCP的报文解析

MODBUS/TCP请求报文:00 00 00 00 00 06 01 03 00 01 00 78 16 31

前七位为MBAP头,分别为事物处理标识符高位(1位),事物处理标识符低位(1位),协议标识符(2位),长度标识符(2位),单元标识符(1位)。后七位为MODBUS请求报文,03为功能码,为读取保持寄存器的内容,00 01为起始地址,00 78为寄存器数量,16 31為校验码,校验方式为CRC循环冗余校验。

MODBUS/TCP接收报文:00 00 00 00 00 F3 01 03 F0 00 00 40 E0…

从第十位开始,采用单浮点型float,每两位报文为一个寄存器响应数据,其中高字节在前,低字节在后。

b. OPCSever数据访问的实现

OPC数据存取服务器的主要功能是完成数的存取,OPCSever有4种数据访问方法:同步数据访问,异步数据访问,刷新访问,订阅方式访问。在本设计方案中,采用订阅方式进行访问,访问的数据在状态发生改变时主动的通知客户程序刷新数据。

报文解析Sockect通讯模块实现与MODBUS/TCP服务器进行读写操作,解析收到的报文。

OPC接口模块是主要完成OPCSever、OPCGroup和OPCItem的定义、连接、添加和删除等。其定义了订阅方式进行数据访问,OPC基金会提供了标准的接口函数客户以统一的方式去访问。

程序管理模块主要是现场数据的监视,测点信息的管理和从OPC接口模块中接收的项信息,包括时间戳和数据质量。

3.结论

OPC通讯技术 第5篇

1 工业以太网及OPC技术简介

OPC是为了解决应用软件和各种设备驱动程序的通讯而制定的一项工业技术规范和标准。它采用客户/服务器体系, 基于Microsoft的OLE/COM和DCOM (Distributed Component Object Mode1) 技术, 为硬件厂商和软件开发者提供了一套标准接口。OPC规范了接口函数, 不管现场设备以何种形式存在, 客户都以统一的方式去访问。当OPC服务器向上层应用程序提供标准接口时, 使上层的应用程序能够获取到OPC服务器中的数据, 从而向上实现互联。

2 基于工业以太网的OPC应用实例

安徽江淮汽车乘用车二厂冲焊分厂, 车间自动化程度较高, 目前拥有的五条自动化焊接线均采用西门子CPU317—2DP型号的CPU来进行运行控制, 通过专用通讯模块CP343—1以工业以太网的方式进行连接组网, 该模块也支持通用TCP/IP协议, 因此能够将其接入公司内部网络系统, 以现有的硬件网络为基础, 组网是基于公司内网, 自动化生产线自身又配置成一个局域网, 从而实现远程的访问, 通过高级语言VISUAL BASIC采集访问数据, 以目视化的形式展现出来, 这就是整个系统的网络结构。需要指出的是控制系统数据是不能被VISUAL BASIC直接访问的, 因此要实现控制系统的数据通过工业以太网为介质被生产管理者访问, 就必须通过第三方应用程序来实现通讯。OPC作为访问工业控制站数据的一种通用方式, 应用于这种场合非常适当, 通过配置就可以实现西门子程控器和上位机应用程序VISUAL BASIC之间的通讯。

系统的软件配置如下。

软件配置: (1) SIMATIC Step 7 V5.4。 (2) SIMATIC NET PC SOFTWARE V6.2SP 1。 (3) Visual Basic 6.0。其中SIMATIC Step 7和SIMATIC NET PC SOFTWARE V6.2 SP I用于对西门子PLC进行编程并组态OPC Server;Visual Basic 6.0用于PC机监控系统程序的编写。

系统的硬件配置如下。

硬件配置: (1) PC机。 (2) Siemens PLC.300; (CPU.317 2DP) 。 (3) 以太网通讯模块 (CP343-1) ; (4) 数字输入/输出模块。 (5) 存储卡。 (6) 普通自适应以太网卡。 (7) 网线。 (8) 多口交换机。

PC机与PLC通讯硬件配置方法[3]主要包括:西门子S7通讯及网络的配置方法、OPC服务器配置方法、Visual Basic软件设置及程序编写, 具体如下所述。

(1) 西门子S7通讯及网络的具体配置方法。

步骤1:将现场五个CPU程序项目F501, F601, F602, F801, F802集成到一起形成一个程序项目OPC_SERVER, 统一分配参数和地址。

步骤2:在集成项目插入SIMATIC PC STATION命名为OPC_server, 对PC STA-TION进行组态配置, 1#槽插入OP C服务器, 3#槽插入IE通讯模块。编译完成后进行网络组态配置。

步骤3:先配置IE通讯模块属性, IP地址设置同一网段, 然后加入工业以太网络 (深绿色线) 。

步骤4:右击OPC服务器, 选择”Insert New Connection”项分别插入五条连接, 设置时与五个CPU的通讯模块IP地址相对应, 最后需要对整个网络进行再编译。

(2) 3OPC服务器配置方法。

打开图标“Station Configurator”进入配置窗口。在第一槽加入“OPC server”服务器。在第三槽加入“IE General”, 并进行网络地址的配置。配置S7与OPC服务器通讯接口, 打开“CONFIGURATION CONSOLE”窗口, 在“ACCESS POINTS”窗口中选择“PC internel”。

打开之前在项目“OPC_server”中配置网络组态, 编译后下载, 即完成OPC基本配置。用网络指令“PING“测试各个网络是否连通。

3 Visual Basic软件的设置及程序编写

利用Visual Basic开发OPC应用程序时, 应加载OPC自动化接口的OPC包装DLL。在Visual Basic6.0中编程过程[2]如下:启动Visual Basic, 新建一个[标准EXE]的工程。菜单选择[工程 (P) ]-[引用 (N) ], 选择控件[OPC Automation 2.0]。在编辑程序中使用以下语句来进行OPC服务器的连接。

连接成功后就可以进行数据的读写操作, 接下来再进行一定的逻辑编写、画面制作及变量的连接等。最后就可以实现PC上位机通过OPC服务及VB可视化软件对西门子程控系统的数据进行采集, 达到生产线状态信息的反馈, 各线故障提示, 停线日志记录等功能, 图3表示的为主画面及其中一条自动化生产线的生产状态目视化界面。

4 结语

安徽江淮汽车乘用车焊装就是充分利用OPC的功能, 通过CP343-1通讯模块, 以工业以太网的方式实现Siemens s7—300系列的多个PLC与Visual Basic之间的通讯。该系统采用OPC通讯方式与原有控制系统实现异构系统的数据共享和交换;通过OPC读取控制柜中PLC采集的数据, 在VB编写的软件中进行目视化输出, 供现场管理人员浏览, 以了解生产现场的设备运行信息;同时由以上组态形成的局域网络可以实现各个PLC的远程在线监控, 也从很大程度上方便现场各生产线故障的及时分析和排查。

摘要:本文以工业以太网为基础, 采用OPC技术, 应用面向对向的可视化编程语言, 实现与工厂内多个西门子317CPU的实时通讯, 同时采集现场各条生产线生产状态数据, 以目视化的方式表现出来。通过建立焊装自动化线信息目视化系统, 充分利用内部网络结构, 现场管理人员能够及时了解各条生产线的生产状态, 远程监控各PLC中程序状态, 同时为现场电气维护人员的远程分析或故障处理提供保障。

关键词:PLC,工业以太网,OPC技术,西门子,远程监控,VB

参考文献

[1]日本OPC协会, 郑立[译].OPC应用程序入门.

[2]刘莉.用VB编写OPC客户端程序的方法[J].工业控制计算机, 2005, 5.

OPC通讯技术 第6篇

In Touch软件系统是Wonderware公司研发的技术先进的人机接口界面 (HMI) 和具有面向对象特性的图形开发环境, 具有快捷、高效的用户配置功能的应用程序。它在报警信息存储和历史数据保存, 趋势显示方面的功能, 给用户对系统的监控提供极大的方便。在网络连接方面具有强大的功能, 通过DDE和SUITLINK、NETDDE等通讯协议方式, 可与本地系统或其它存在于网络中的计算机系统中的应用程序进行实时数据交换。同时, 它也可以支持通过ODBC协议访问各种类型的数据库, 实现对系统的综合管理。尤为重要的是, INTOUCH提供了多种通讯协议的转换接口—I/O Server, 可以与各种控制系统进行通讯, 包括:HONEYWELL、SIEMENS、DELTAV等系统, 甚至也可以通过第三方Server进行连接。

2 OPC简介

OPC (是OLE for Process Control的缩写, 意为用于过程控制的OLE) , 是一个由多家工业行业领先者制定的行业标准, 由OPC基金会这个国际组织制定并管理这个标准, OPC基金会由全球两百多家行业领先的自动化厂家作为会员, 包括世界上所有主要的仪器仪表、自动化控制系统以及过程控制系统的公司, 如SIEMENS、HONEYWELL、Rockwell Software、微软等。OPC协议是以微软的OLE (如今的Active X) 、COM (意为部件对象模型) 、DCOM (意为分布式部件对象模型) 技术为基础。OPC技术包含关于接口、属性和方法的标准集等概念, 用于过程控制和制造业自动化系统之间的互联互通。OPC全称是OLE for Process Control, 它的出现为基于Windows的各种应用程序与现场过程控制应用程序建立了方便通道。在此之前, 为了存取现场控制系统的数据等信息, 相应的应用程序开发厂家都需要编写自己独有的接口函数。由于现场控制系统的种类繁杂, 而且产品时常更新换代, 经常给用户和软件开发厂家带来了额外的工作强度。即使这样亦不能满足实际工作的需要, 系统集成厂家和软件开发商迫切需要一种具有可靠性、高效性、开放性、可互操作性的即插即用的设备驱动程序。OPC标准就是在这种情况下应运而生的。OPC技术协议以微软公司的OLE技术为基础, 它的出现是通过提供一套标准的OLE与COM接口完成的, 在OPC技术协议中使用的是OLE 2技术, OLE协议标准允许多台控制系统之间交换图形、文档等数据对象。

3 进行OPC通讯时防火墙的配置

两台或多台计算机控制系统进行OPC通讯时, 由于防火墙的存在, 可能导致无法进行通讯的情况, 此时可以直接将Windows系统防火墙关闭, 或者在打开防火墙的情况下, 做程序的例外处理, 由于关闭系统防火墙, 可能存在系统安全隐患, 对系统安全造成影响, 所以建议以以做程序例外处理为首选, 处理过程如下:

(1) 打开防火墙, 添加端口, 名称为“DCOM”, 端口号为“135”, 类型为“TCP”。

(2) 添加例外程“OPCENUM”, 程序路径在“C:WINDOWSSYSTEM32OPCENUM.EXE”。

(3) 添加OPC SERVER例外程序, 根据实际通讯情况不通, 程序的名字会不通。

(4) 添加MMC控制台程序例外, 程序路径在“C:WINDOWSSYSTEM32MMC.EXE”。

(5) 打开“文件和打印共享”。

4 进行OPC通讯时DCOM的配置

(1) 运行DCOMCNFG, 进入DCOM配置程序, “组件服务”->“我的电脑”, 右键属性, “默认属性”->“默认身份验证级别”, 设置为“无”。

(2) “COM安全”中“访问权限”的“编辑限制”和“编辑默认值”, 分别添加“ANONYMOUS LOGON”、“Everyone”、“Guests”、“INTERACTIVE”、“NETWORK”、“SYSTEM”, 权限为允许“本地访问”和“远程访问”。

(3) “COM安全”中“启动和激活权限”的“编辑限制”和“编辑默认值”, 分别添加“ANONYMOUS LOGON”、“Everyone”、“Guests”、“INTERACTIVE”、“NETWORK”、“SYSTEM”, 权限为允许“本地访问”、“远程访问”、“本地激活”、“远程激活”。

(4) 选择“DCOM配置”并展开, 配置“OPCENUM”, 属性之常规为“无”, 安全之“启动和激活权限”选择使用默认值, “访问权限”使用默认值, “配置权限”自定义, 进行编辑, 增加“ANONYMOUS LOGON”、“Everyone”、“Guests”、“INTERACTIVE”、“NETWORK”、“SYSTEM”用户, 权限为允许“完全控制”和“读取”。

(5) 配置OPC SERVER程序, 程序以具体控制器为准, 例如SIEMENS WINCC的OPC SERVER程序为OPCServer.Wincc, HONEYWELL PKS的OPC SERVER程序为HWHsc.OPCServer, 配置方法按照“DCOM配置”方法配置。

5 进行OPC通讯时本地安全策略的配置

进行安全策略程序配置, 控制面板->管理工具->本地安全策略, “网络访问:本地账户的共享和安全模式”设置为经典, “网络访问:让每个人 () 权限应用于匿名用户”设置为已启用。

6 INTOUCH通过OPC LINK访问OPC SERVER

OPC通讯技术 第7篇

S7-200系列PLC是西门子SIMATIC PLC家族中的成员之一, 具有体积小, 软硬件功能强大等特点, 在我国工控领域应用中占有率很高, 但是在实际工程应用中经常遇到计算机与S7-200系列PLC通信问题。由于西门子PPI协议未公开, 西门子公司的监控软件WINCC虽然功能强大, 但因为Win CC6.0及以后版本中没有集成S7-200系列PLC的通信驱动程序 (老版本WINCC5中有Modbus Serial驱动) , 虽可以添加, 但还要再付费用购买相应软件, 价格比较昂贵, 而且也不方便。利用Prodave调用“w95_s7.dll”等库函数也可以解决, 但开发系统工作量大、可靠性难保证。这些问题给S7-200系列PLC的应用带来了一定的限制。

OPC全称是OLE for Process Control, 它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。OPC包括一整套接口、属性和方法的标准集, 用于过程控制和制造业自动化系统。用高级语言以OPC方式实现监控, 灵活性好, 系统投资低, 能适用于各种系统, 为了解决这个实际问题, 笔者做了一些研究, 并在生产中得到成功应用, 本文以VB6.0为例把S7-200系列PLC与计算机通信问题展开说明。

二、S7-200系列PLC用VB以OPC方式监控的实现

西门子推出的PC Access软件是专用于S7-200 PLC的OPC Server (服务器) 软件, 它向OPC客户端提供数据信息, 可以与任何标准的OPC Client (客户端) 通讯。

以下通过用VB6与S7-200的OPCSERVER PCACCESS-SP3通讯实现数据交换。PCACCESS-SP3为西门子公司出品软件, 机器中应先安装。

1、定义全局变量

Option Explicit

Option Base 1'数组的索引从1开始

Private My OPCServer As OPCServer'定义OPC服务器

Private My Groups As OPCGroups'定义OPC组集合

Private With Events My Group As OPCGroup'定义可以引发事件的OPC组

Private My Items As OPCItems'定义OPC标签

Private My Item Server Handles () As Long'标签指针

Dim My TID As Long'异步调用ID

2、连接OPC服务器

Private Sub cmd Connect_Click ()

Set My OPCServer=New OPCServer'设置OPC服务对象

Call My OPCServer.Connect (txt Server.Text) '连接OPC服务

End Sub

3、服务器中增加组

Private Sub cmd Add Group_Click ()

Set My Group=My Groups.Add (txt Group.Text) '给组集合增加一个新组

End Sub

4、组中增加条目 (变量)

Private Sub cmd Add Item_Click ()

Dim i As Long

Dim Error Flag As Boolean

Dim Item Obj As OPCItem

Dim Item IDs (2) As String

Dim Item Client Handles (2) As Long

Dim Errors () As Long

C a l l M y I t e m s.A d d I t e m s (2, I t e m I D s, Item Client Handles, My Item Server Handles, Errors)

End Sub

5、同步读命令

用户窗体上应建一TIMER控件, 实现定时同步操作, 时间可根据具体情况设定, 比如1秒, 即可实现数据同步高效采集。

Private Sub cmd Read Sync_Click ()

Dim i As Long

Dim Values () As Variant

Dim Errors () As Long

Dim Qualities As Variant

Dim Time Stamps As Variant

Call MyGroup.SyncRead (OPCDevice, 2, My Item Server Handles, Values, Errors, Qualities, Time Stamps)

End Sub

文中仅以2个变量为例, 使用中可以做相应修改, 限于篇幅, 移走条目、移走组、断开连接、同步写等操作代码略。

三、结论

优点:该方法连接简单、数据通讯稳定可靠、可以读写S7-200系列PLC中所有存储区域, 加CP5611通讯卡后 (还要另加EM277) 可以走PRUFIBUS、PPI、MPI通讯协议, 通讯接口选择性较灵活, 允许同时访问同一个设备, 操作系统稳定可靠。

另外, 也可以通过其他高级语言如VB.net, C等实现通信, 实现方法与上述方法类似, 这种方法灵活性较好, 还特别经济实惠, 也省去了通讯的底层运行和许多烦琐的处理过程, 极大提高了控制系统的操作性和适应性, 经长期生产考验, 系统稳定可靠。

参考文献

[1]郭宗仁, 等:《可编程控制器及通讯网络技术》, 人民邮电出版社, 1999年。

[2]《s7-200中文系统手册》 (西门子公司电子文档2006)

OPC通讯技术 第8篇

由于西门子公司S7-200系列PLC比监控组态软件WinCC推出晚, 因此WinCC中没有集成S7-200系列PLC的通信驱动程序, S7-200系列PLC的通信协议也不公开, 这些问题给S7-200系列PLC的应用带来了一定的限制。S7-200 PC ACCESS是S7-200的一种OPC服务器, 是西门子公司推出的专为S7-200使用的低成本OPC工具。S7-200 PC ACCESS使用PPI、以太网或调制解调器与PLC通讯, 可同时从8个PLC读取数据。S7-200系列PLC的通讯口分三种工作方式:PPI方式、Freeport (自由口) 方式和PROFIBUS-DP方式, 其中自由口方式具备良好的开放性。本调度系统S7-200系列PLC通过CP243-1以太网卡经OPC与WinCC进行通讯, PLC与三相智能电力仪表通讯采用的是MODBUS协议。

一、应用背景

我公司50kt/aPVA生产线及配套工程投产后, 公司10KV配电系统有来自杨桥变电站的308、312、334、336四回路进线电源, 包括1#总配电房 (老装置区) 、2×6MW电站、3×90t锅炉配电房、2#总配电房 (新装置区) 四个区域性高压配电房, 各配电房联络复杂, 承担全公司的生产、生活用电。由于新老装置分别建设在不同时期, 设备状况和自动化水平不一致, 新老装置区综合保护装置、监控系统来自不同的厂家, 采用的通讯规约五花八门, 增加了上位监控软件与各个保护装置通讯实现的难度。为便于公司电网运行与调度管理, 决定采用S7-200通过OPC服务器与WinCC通讯具有良好开放性平台组建企业电力调度系统。

二、技术方案

各高压配电房开关量 (DI) 为50点左右, 模拟量 (AI) 为30个点左右。利用S7-224 PLC及配套的开关量输入、模拟量输入等扩展模块、三相智能电力仪表采集四个区域性高压配电房及各段母线、进线馈线电流、电压、负荷等数据, 利用三相智能电力仪表采集四趟电源进线、两台发电机电流、电压、有功、无功、频率、功率因数等数据, 可简化接线减少传感器的使用, 降低成本。开关量模块采集各高压断路器运行状态。电流电压变送器采集母线、联络、馈线电流电压数据。S7-224采集的实时数据通过OPC服务器与人机界面软件WinCC通讯, 交换机设电站高压配电房, 由于现场配电间、监控室、调度室分布较为分散距离比较远, 网络部分采用了光纤通讯。网络结构如图1所示。

在公司总调和电仪厂调度室安装上位机配置52寸液晶电视实时监控各高压配电房断路器状态及各回路运行数据, 关键数据有趋势图, 开关跳闸自动弹出画面, 并进行语音报警, 智能提示启动应急预案, 利于在系统停电事故状态下调度系统正确指挥、组织、协调, 快速恢复生产。

三、软件配置

系统共配OPC服务器2套, 每台S7-200PLC在以太网配置中均设置两个TSAP地址, 第一个用于连接电仪厂调度室OPC服务器, 第二个用于连接公司总调OPC服务器。每个OPC服务器与4套PLC均有连接。

1) 在西门S7-200编程软件Step7-Micro/Win32中用进行以太网向导配置CP243-1。根据以太网模块安装槽号, 在软件中设置正确的模块位置。在Step7-Micro/Win32软件中设置各套PLC的以太网IP地址, 设置以太网通讯连接数量, 用PC/PPI电缆下载。各套PLC的以太网通讯连接数量为2个, 具体配置见PLC与OPC服务器连接号对照表。设置完成后自动生成一个以太网配置子程序, 在主程序调用该子程序。

2) 配置O P C服务器。打开P C A c c e s s, 看到MicroWin的接口已经改为以太网, 属性中设定CP243-1的IP地址, 要保证PC Access中所设的IP地址和TSAP地址与Micro/Win以太网向导中所设置的一致, 特别注意两边远程和本地的TSAP地址设置要交叉过来, 才能保证正确的通讯, 具体配置下表。建立所有的变量或直接从MicroWin导入符号表, 则条目的符号名与项目中的符号名相对应, 也不用在WinCC中手动创建。PC Access软件自带OPC客户测试端, 用户可以方便的检测其项目的通讯及配置的正确性。配置完成后必须保存整个配置文件, 这样OPC客户端软件才能找到S7-200 OPC Server的配置。

3) 智能电力仪表的Modbus协议及与S7-200系列PLC通讯的编程组态。Modbus协议是GOULID公司为工业控制而设计的, 是一种可靠的工业控制系统通讯协议, 本系统中珠海派诺生产的三相智能电力仪表PMAC600BH-C采用这一通讯协议。仪表采用Modbus-RTU通讯模式, 遵从主-从通讯方式, 数据帧中包含地址信息、功能码、信息域以及校验码, 功能码仅支持03H和10H指令, 03H功能码在MODBUS规约下的功能为读取内部寄存器的内容, 10H为刷新多个寄存器内容。

STEP--Micro/WIN的Modbus指令库通过包括预组态的子程序和专门设计用于Modbus通讯的中断例行程序, 使与Modbus设备的通讯变得更简单。通过Modubs协议指令, 将S7--200组态为Modubs RTU主站设备工作, 并与两个Modbus从站 (智能仪表) 设备通讯。通讯程序略。

4) 在WinCC变量管理器中添加OPC通道, 在OPC Group上右键“系统参数”, 在“OPC条目管理器中”本地找到S7200.OPCServer, 选择“浏览服务器”, 进入变量列表, 添加好所有需要的变量后, 制作监控画面, 本项目根据需要组态了四个区域性配电房的系统图 (附电站系统图) 、10KV系统联络图、趋势图、报警记录等画面。并利用WinCC语音报警脚本编写语音报警程序, 实现了只要有断路器跳闸、母线失压、发电机机过负荷等异常出现就触发声音报警。

四、实施效果

该项目实施后, 调度室值班人员能够集中实时监控公司电网运行情况, 能够根据设备的负荷、电压、频率等情况及时和操作人员进行沟通调整运行方式。当断路器跳闸时, 报警画面有明显文字提示信息, 并进行语音报警, 能够让值班人员及时发现。现场PLC及OPC服务器都配备90minUPS (不间断电源) , 在系统失压停电等事故状态下值班调度能够根据系统提示正确指挥, 对防止误操作及快速恢复生产, 发挥了重要作用。

参考文献

[1]李艳杰, 等.S7-200PLC原理与实用开发指南[M].北京:机械工业出版社, 2008, 11.

基于OPC的楼宇监控技术的研究 第9篇

关键词:智能楼宇,系统集成,OPC技术

1 引言

在OPC技术应用于集成系统监控平台之前, 传统的集成系统中, 各个设备厂商的硬件设备之间以及各硬件设备与监控平台中的应用软件之间的信息共享是通过驱动程序来完成的。控制软件开发商要构造一个完整的监控平台往往需要针对不同的应用软件开发大量的驱动程序。OPC技术标准的制定, 使得所有的设备之间以及设备与监控平台中的应用软件之间的通信有了统一的规则。

由于所有OPC服务器接口的标准都是统一的, 因此OPC客户端应用程序能够用一种标准的方法实现对所有设备供应商提供的OPC服务器程序的访问。用户能够直接从OPC服务器读取到来自现场设备的数据, 而不需要另行开发通信程序。也就是说, 只要OPC客户端应用程序开发成功并能够使用, 就能够被用于带有OPC服务器的监控系统中。这样一来, OPC技术的引入就大大简化了监控系统的复杂性, 使用户可以独立开发OPC客户端应用程序而不必购买比较昂贵的商业组态软件。

2 项目介绍

下面以上海由由喜来登酒店系统集成软件开发项目为例详细阐述。为了实现数据共享, 以及在统一的界面对所有的子系统进行监控管理, 必须提取所有子系统需要的数据。系统通过运行在各子系统监控分机上的服务器程序采集各个子系统的数据, 加以整理后存入数据库, 同时提供监控系统。整个酒店的各个子系统共设置有1016个监控点 (其中AI点294个, DI点268个, AO点216个, DO点238个) , 监控对象主要包括空调子系统的送/回风机运行状态 (DI) 、手/自动状态 (DI) 、开/关控制 (DO) 、送风温度 (AI) 、送风湿度 (AI) 等, 给排水子系统的给排水泵运行状态 (DI) 、手/自动转换状态 (DI) 、开/关控制 (DO) 、给排水水流开关状态 (DI) 等, 照明子系统的楼层/事故照明的电源开关控制 (DO) 、电源运行状态/故障 (DI) 、电源手/自动状态 (DI) 等, 以及供配电子系统、新风机监控子系统、冷热源子系统等各子系统的数据。大楼内各子系统设备主要选择江森和霍尼韦尔的楼控产品, 主要采用OPC数据通信协议对办公大楼内的各个子系统进行集成, 并对各子系统设备的运行状态进行监测和控制, 采集并配置相关参数。整个大楼的集成网络结构如图1所示。

整个大楼的集成系统主要分为三个层次, 即管理层、控制层和设备层, 各层有着彼此不同的特点。

(1) 管理层

管理层主要是位于大楼中央监控室的监控计算机, 采用以太网进行通信, 并且能够与其他监控分机进行互联, 实现管理层上的集成。

(2) 控制层

控制层主要是运行于各监控分机中的OPC服务器程序。由于OPC服务器封装了各子系统设备的驱动程序, 因此服务器可以向下对现场设备进行数据采集, 并将采集到的数据转换为统一的OPC数据传输格式, 通过OPC接口向上传送给位于监控主机中的OPC客户端应用程序。

(3) 设备层

由于霍尼韦尔、江森等大型自动化设备厂商往往会提供OPC服务器以便进行系统集成, 因此该项目主要采用霍尼韦尔和江森公司提供的自动化设备, 包括空调子系统、新风机监控子系统、给排水系统、供配电子系统的大部分设备。没有附带OPC服务器的设备, 将由控制软件开发商为之开发OPC服务器。由于Lon Works使用开放式的, 面向对象的总线网络协议Lon Talk, 可靠性和实时性较高, 因此底层的现场设备采用Lon Works总线网络进行互联。

(4) OPC客户端和服务器

OPC客户端运行于中央监控计算机中, 负责采集并显示现场设备运行的实时数据, 管理人员通过OPC客户端对现场设备进行数据访问操作。客户端与服务器进行连接, 通过OPC服务器实现与现场设备的通信, 从而实现整个系统的数据通信, 最终达到管理和控制的目的, 实现系统集成。

3 监控平台软件体系结构

整个上位机监控系统包括三个模块, 即集成平台管理软件模块、数据通信模块、数据库模块, 三个模块既各自独立又相互联系。整个监控系统软件体系结构如图2所示。

在监控系统软件体系中, 集成平台管理软件模块主要用于实现模拟现场设备运行情况的界面显示、报警通知和报表打印等功能。

数据通信模块也就是OPC客户端应用程序, 它作为整个上位机监控系统的数据通信模块, 与OPC服务器进行连接, 通过OPC服务器与现场设备进行数据交互, 采集现场设备的运行参数。在监控点比较多的情况下, OPC服务器程序和OPC客户端程序一般运行在不同的计算机上, 通过DCOM配置实现远程的数据交互。OPC服务器将采集到的数据通过标准的OPC接口传送给位于上位机监控系统中OPC客户端应用程序, OPC客户端应用程序读取并显示采集到的各个设备的运行参数以供管理人员进行分析和使用。管理人员可以通过OPC客户端应用程序直接对设备运行参数进行配置, 以实现对现场设备的监测和控制, 实现对整个系统的集中监控和统一管理。

数据库模块在整个监控系统中也非常重要, 它负责存储由OPC客户端采集到的现场设备的数据信息, 并为集成平台管理软件提供接口, 使集成平台管理软件能够通过该接口共享数据库信息。由此, 在集成平台管理软件中既能显示模拟现场设备的运行状况, 又能显示现场设备的各类数据信息。我们采用ADO方式来实现对数据库的访问。ADO不仅支持关系型数据库, 也支持非关系型数据库, 它封装了ODBC和OLE DB的功能, 执行效率和可扩展性能都优于ODBC, 并且能够用统一的方法来访问不同的数据类型。

将OPC技术应用于整个大楼的系统集成当中, 不仅能够实现各个子系统之间的互联和互操作。而且能够实现在一个统一的集成管理平台上对大楼内所有的现场设备进行控制和管理, 这为未来进一步实现智能建筑一体化系统集成奠定了良好的基础。

4 系统客户端的开发

编写OPC客户端应用程序是通过接口调用OPC服务器的功能, 对楼宇自动化系统中的现场设备进行数据访问操作, 完成对数据的配置, 从而为监控系统提供实时数据, 以达到对系统中现场设备运行状态的实时监测。在整个OPC客户端应用程序的设计过程中, 有两个部分是最重要的, 一个部分是OPC数据读取模块的设计, 另一个部分是OPC数据保存模块的设计。两个部分的信息交互采用多线程技术来完成。我们将数据读取模块作为工作线程 (它对现场设备的数据读取工作主要在后台完成) , 将数据保存模块作为主线程。工作线程会定时读取服务器数据缓冲区中的数据, 当数据发生变化时, 作为主线程的数据保存模块就会将变化的数据保存至数据库。OPC数据读取模块主要实现与OPC服务器的数据交互, 也就是定时读取来自服务器的实时数据;也可以完成对服务器数据的写入操作。数据保存模块可以通过ADO的数据访问方式来访问OPC数据采集模块建立的数据库。

这里提到的接口功能实现主要由服务器来完成, OPC客户端应用程序就是需要通过接口函数来调用服务器接口提供的功能。当然, 函数的编写必须符合OPC数据访问规范标准。具体的OPC客户端应用程序连接和断开OPC服务器的实现流程如图3所示。

5 服务器端的设计

OPC服务器的功能主要是通过封装在其内部的设备驱动程序实现对现场设备的数据访问, 然后通过统一的OPC接口将数据传递给OPC客户端。因此, 需要按照OPC数据访问规范的要求完成OPC服务器的结构、数据传输机制和接口功能的设计与实现。在OPC服务器的结构设计中, 服务器的数据采集功能主要参考OPC数据访问规范2.0版本来实现。根据OPC数据访问规范中有关服务器的描述, OPC服务器的结构应如图4所示。

整个服务器的设计主要包括两个部分, 一个是与客户端进行通信的OPC标准接口类的设计, 另一个是对现场设备进行数据采集的硬件通信模块部分的设计。标准接口类部分的设计目标主要是按照OPC数据访问规范的要求, 分别实现各内部组件对象 (主要包括OPC Server对象和OPC group对象) 的接口功能, 以及实现将从现场设备中采集到的数据与接口类中的Item相关联, 转换为统一的数据格式传递给OPC客户端应用程序的功能。硬件通信模块的设计目标主要是根据设备支持的通信协议完成I/O动态链接库的设计, 并实现通过调用动态链接库中的API函数进行与现场设备的数据交互的功能。

OPC服务器的工作流程如图5所示。

6 OPC客户端的测试

集成平台管理软件主要采用自行开发的BMS监控软件, 通过BMS监控软件来监控并显示空调系统设备的运行状态。监控软件空调系统的界面如图6所示。

图6显示了大楼内空调系统中空调机组的配置情况, 点击进入空调机组可以看到每一空调机的具体运行状况, 如图7所示。

从图7中我们可以看到, 空调机组运行状况界面包括空调机组的5个运行参数, 即故障报警、空调机手/自动设置、空调机运行/停止控制选择、送风温度以及送风湿度。这5个参数的读取和配置由监控系统中的OPC客户端应用程序来完成, BMS监控软件共享OPC客户端应用程序的系统数据库。OPC客户端应用程序对空调系统设备OPC服务器进行数据访问操作的主界面如图8所示。

从图8中可以看出, OPC客户端应用程序首先与空调系统设备的OPC服务器进行连接, 然后添加组;在与服务器连接之后, 就可以读取到来自服务器的空调机设备参数 (即故障报警、手/自动设置、运行/停止控制选择、送风湿度、送风温度) 。

通过以上OPC客户端应用程序在实际的工程项目中的测试可以看出, 本课题设计的OPC客户端应用程序能够成功地运用到大楼内上位机监控系统中, 满足通过服务器对现场设备的数据访问操作的要求。OPC客户端应用程序设计的目的不只是为了读取一个设备的数据值, 而是要实现对整个建筑内所有现场设备的数据访问操作。只要设备厂商提供了其子系统设备的OPC服务器, 并将其通过网络进行互联, OPC客户端应用程序就能够通过多线程的方式同时对大楼内所有的OPC服务器进行连接, 在同一界面环境下对现场设备进行数据读取和配置。这样就使得管理人员在需要对多个设备进行数据访问时, 不必同时操作多个界面, 从而节省了系统资源。由于OPC客户端和OPC服务器的接口标准是统一的, 所以即使现场的硬件设备进行了升级或完全改变, 也只需要替换该设备相应的OPC服务器或更新服务器内部封装的设备驱动程序, 而不需要对客户端程序作很多改动, 只要在程序中更换一个相应的Prog ID即可。所以说OPC客户程序的代码重用率是相当高的。

7 结束语

随着自动化技术、网络技术的快速发展, OPC技术规范也在不断地发展和创新, 它所拥有的强大应用潜力已经在许多领域得到了展示。随着Web服务的广泛应用, 在楼宇自动化领域, 基于Web服务的自动化设备在远程监控、维护、管理等方面的需求越来越迫切。将OPC XML技术应用于楼宇自动化系统集成, 更能提高各种应用系统在异构平台上基于Internet技术的互联能力和互操作性。同时, 由于其采用软件方式, 在实现控制系统和信息系统的无缝连接的同时更易于实现功能的扩展, 使得系统更加开放, 势必将成为未来楼宇自动化系统集成的又一种高效的方法。

参考文献

[1]王再英, 韩养社等.楼宇自动化系统原理与应用[M].北京:电子工业出版社, 2006.45~49

[2]邢建春, 王平等.工业控制软件互操作标准OPC综述[J].工业控制计算机, 2006, 13 (1) :29~32

[3]苗雷, 冯济缨.基于现场总线的OPC接口技术的研究[J].贵州工业大学学报, 2004, 6:30~32

[4]刘快.基于OPC技术的实时控制系统研究与应用[J].浙江大学学报, 2004, 6:15~17

[5]周江建, 周运森.中间件OPC技术在工业控制系统中的应用[J].计算机工程, 2004, 23:23~25

[6]孟逢逢.冗余OPC数据采集系统的设计与实现[J].计算机应用, 2009, 1:13~15

上一篇:语言哲学视角下一篇:城市发力点