PID优化整定系统中OPC接口的研究与应用
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的引用。
(2)声明OPC对象。
(3)连接OPC服务器,创建OPC对象。设计时需要调用OPC服务器对象的“Connect” 方法,和OPC服务器建立连接。之后,用OPC服务器对象的“OPCGroups”属性生成一个组 集合,再调用“Add”方法在OPC组集合中添加新的OPC组。最后,在对OPC服务器进行访 问前,要使用“OPCItems”属性生成项集合,并使用“Add”添加新的OPC项。
(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必然会向 更为广泛的跨语言、跨平台、企业级的方向发展。
评论