API数据接口的设计与应用(提升数据接口的效率和安全性)
284
2022-10-30
基于PID技术实现数据采集模块中OPC接口的设计
1、引言
2、DCS 及OPC 概述
OPC是一个开放的工业接口标准,意指用于过程控制的OLE技术。OPC基于微软的 OLE、COM和DCOM技术,包括一整套接口、属性和方法的标准集,用于过程控制和制造 业自动化系统。OPC技术的实质是允许任何设备与其它设备自由通讯的一种机制,是一种 用于过程控制和工业自动化的即插即用的软件技术,是一种过程实时数据交换的工业标准 。这个接口规范不但能够应用于单台计算机,而且可以支持网络上分布式应用程序之间的 通讯,以及不同平台上应用程序之间的通讯。其基本思想是:每个硬件供应商为其设备开发 一个通用的数据接口(即OPC Server),供其它系统读写信息,客户应用软件也可以通过OPC 规范的接口来读写硬件设备的信息(作为OPCClient)。我们在使OPC时,不必关心底层硬件内 部的具体细节,只需遵循OPC数据接口协议,就能够从不同OPC数据服务器中取得数据。
3、OPC接口的设计
OPC接口的设计包括OPC服务器端和客户端两个部分,其实质就是连接数据源和数据使 用者之间的通道。目前,许多DCS产品都推出和集成了OPC服务器,例如基于Windows操作 系统的YOKOGAWA CS3000 DCS和ROSEMOUNT DELTA V DCS。因此,设计PID优化整定 系统的OPC接口有很大的普遍性和实用性。
3.1 OPC接口的选择及实现
图 1 OPC 接口类型
其中,客户端程序的开发主要是指客户端程序中 OPC 接口部分的开发。客户端程序本 身可以完成很多复杂的数据处理与显示功能,但需要通过OPC 接口部分访问OPC 服务器, 对现场数据进行存取。设计时可根据不同的需求特点,应用不同的接口标准。
3.2 OPC数据存取服务器的访问方式
OPC客户程序对OPC服务器中数据的访问方式主要有同步、异步和订阅三种。客户程序 可按照一定的周期对服务器程序进行数据同步存取操作,此时客户方的调用函数一直运行到 所有数据读写完成。在异步通信方式下,服务器程序定期刷新OPC项,并判断其数值或品质 是否变化,如果有变化则将变化后的数据发送给客户程序,此时客户方的调用函数可立刻返 回。显然,异步通报方式的通信效率更高,但有多个客户程序与服务器相连时,同步读写方 式更具时效性。第三种订阅方式,即OPC服务器监控的数据在状态发生改变时主动的通知 客户程序,而不用客户被动地、一次次地去查询数据,判断其是否发生改变。对于每个组 对象,客户程序可根据需要采用其中一种数据存取方式。
4、PID优化整定系统OPC接口的架构与实现
4.1 PID优化整定系统的软、硬件结构
PID优化整定系统的硬件为一台装有OPC接口客户端程序的PC机,根据实际情况分别采 用添加网卡或使用路由器的方式接入到控制系统的工程师站上,使PID优化整定系统与工程 师站处在同一局域网内。如果原有的工程师站上配有双网卡,则直接使用网线与工程师站连 接;如果没有双网卡,或不方便接入的,则添加路由器,将两台机器接入同一网内。
图2 系统网络结构图
PID优化整定系统的软件是指优化整定PC机上装有的自行开发的PID优化整定软件。数 据采集的通讯接口方式使用OPC自动化接口方式,数据采集所搭建的环境结构如图2所示。
4.2 OPC接口的实现
由图2可以看出,整个系统的服务器端采用DCS提供的OPC接口,在工程师站上放置使 用OPC数据访问接口编写的OPC应用程序,它主要有两个方面的功能:一是作为控制系统的 客户端,连接下位机与上位机,读取现场数据;二是作为PID优化整定系统的服务器端,连 接PID优化整定系统与下位机,将数据读取到PID优化整定站,供后期数据计算使用。而数 据采集部分的客户端,则放置在PID优化整定站,是使用VB语言,按照OPC自动化访问接口 编写的应用程序。读取数据后,将相关数据保存在Access数据库中,以便于以后随时查询使 用。在全部数据读取过程中,应用的网络协议主要为TCP/IP协议。
4.2.1 OPC服务器端的实现
根据不同工厂DCS设备或者工程师站操作系统的具体情况,服务器端分别采用两种接口 方式,即自动化接口和自定义接口编写服务器端程序。例如,对于YOKOGAWA CS3000 DCS, 采用的是VB编写的自动化接口方式;对于ROSEMOUNT DELTA V DCS采用的是C++编写的 自定义接口方式。
4.2.2 OPC客户端的实现
客户端的主要实现方式是OPC自动化接口方式,使用VB编写应用程序。对于工厂各装 置回路中pv(实测值)、sv(设定值)、mv(阀门开度)参数的采集使用同步通讯的方式; 而对于回路控制的自动、手动情况的采集则使用订阅通讯的方式,即在参数(控制状态)发 生改变时主动通知客户端程序。 OPC数据访问对象由分层结构组成,它由上而下包括OPC服务器对象(OPCServer)、 组对象(OPCGroup)、项对象(OPCItem),在设计OPC客户端程序时,基本按照以上顺 序进行连接。对于OPC自动化接口方式,OPC基金会专门为它的开发提供了“自动化包装器” OPCDAAuto.dll,在编写程序前,应该首先在VB项目中引用该动态链接库,这样才能调用 OPC自动化规范中定义的属性、方法和事件。客户端程序设计的基本步骤如下:
(1)在VB工程中添加对OPCDAAuto.dll的引用。
(4)读取数据。对于装置回路PID参数采集采用同步读取方式,对于装置回路的控制 状态采集采用订阅读取方式;最多可同时读取16条回路的参数。
(5)删除OPC对象,断开与服务器的连接。连接着OPC服务器的OPC应用程序,在退 出之前必须断开与OPC服务器的连接。否则,OPC服务器不知道OPC应用程序的退出,计算 机资源就一直不能被释放,长此以往,会造成计算机资源枯竭而产生严重问题。断开连接时, 使用“Disconnect”方法;并将OPCItems、OPCGroup和OPCServer都置为Nothing,删除对象。
4.3 数据存储及导出的实现
为了给后期PID优化整定提供大量完整的数据,在数据采集过程中需要将大量数据保存 在Access数据库中,以备使用。由于同时读取多条回路,数据量很大,为避免在最后保存数 据时由于数据量过大而造成时间过慢,甚至是死机现象,设计时采取每读取30个数据自动保 存一次的方法。另外,在把数据导出到Excel过程中,由于Excel自身的限制,一张Sheet保存 的数据有限,为了避免数据溢出,设计成每保存一定数据自动生成一张新的Sheet进行存储。
5、结束语
以OPC为接口通讯方式的数据采集模块是PID优化整定系统的基础,该模块及整个PID 优化整定系统的设计都相对独立于现场工程师站,使用OPC通讯也只进行读操作而不进行写 操作。该设计的好处是,既能使两台机器互相没有影响,又能使客户端采集到全部DCS数据。 鉴于石油化工企业的重要性,数据采集只读不写,具有较好的安全性,可以保证原系统数据 的安全和纯洁,也避免了数据错误造成的影响,保证了生产的安全。目前,PID优化整定系 统经过实验室长期检验,已经稳定的运行于国内许多石油化工企业中,且运行状况良好。 现在,绝大多数工控厂商为实现系统的开放性,其DCS都提供了OPC接口。同时,OPC 基金会也在不断推出新的产品,从OPC DA到OPC XML-DA,再到OPC UA。OPC必然会向 更为广泛的跨语言、跨平台、企业级的方向发展。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~