OPC技术在液位控制中的应用
2011-06-01匡芬芳
匡芬芳
(湖南化工职业技术学院自动化系,湖南 株洲 412004)
0 引言
随着智能仪表和现场总线技术越来越多地应用于工业现场,计算机控制系统内部各软硬件间以及不同系统间需要进行大量的信息共享与交互[1]。由于目前企业使用的控制系统往往由不同厂商开发,因此相互间的兼容性差。
虽然采用专用接口或数据库互连可实现部分信息交互,但因实施成本高、系统集成难度大,所以大家一直在探讨新的解决方法,OPC(OLE for process control)技术就是其中之一。
OPC规范是由AB、西门子等200多家自动化厂商与微软合作制定的一项工业标准。该标准定义了在微软操作系统下,不同程序、设备之间交换实时数据的方法,能将现场信号按照统一的标准与各厂商提供的软件无缝连接,同时对硬件制造商和软件开发商划分了界限,大大提高了控制系统的互操作性、适应性和可扩展性。
1 基于OPC技术的液位控制系统
1.1 液位对象
液位对象是常见的工业过程被控对象,复杂液位对象具有时变、非线性、大滞后和不确定性等过程对象的典型特征[2-5]。
本文提出的液位系统是一种基于OPC技术的多级网络控制平台,并在其中嵌入了模糊控制算法,控制网络很好地实现了现场操作级、工程师站和专家站的信息共享。同时,通过Access数据库、VB等应用软件将专家知识库、过程模型、仿真图件及实际生产过程无缝地连接起来,组成了一种开放的、即插即用的工业实时监控系统。
本文所用对象为深圳固高公司的三容水箱系统,其双容液位部分结构如图1所示。
图1 液位对象结构Fig.1 Structure of the liquid level object
水由水泵从储水箱中抽出后,流经电磁阀、水柱1、手动阀1、水柱2、手动阀2,再回到储水箱。该对象的输入信号为电磁阀电压,输出信号为两水柱水位。各阀门的开度变化均可影响对象的非线性程度。
1.2 液位控制系统的OPC结构
本文中的液位控制系统采用图2所示的网络结构[6-7]。该系统由现场操作级、工程师站和专家站三级网络组成。
图2 液位控制系统网络结构Fig.2 Network structure of the liquid level control system
1.2.1 现场操作级
现场操作级包括液位对象、数据采集卡和控制PC机,主要完成以下功能。
①液位传感器的静态标定与动态校准;
②液位信号的数据采集处理,并通过OPC协议将数据传输给工程师站和专家站;
③液位系统画面监控及控制方式的选择,包括手动与自动控制。
1.2.2 工程师站
工程师站由3台控制PC机组成,装有RSView32、VB等高级应用软件,主要完成以下功能。
①集中显示液位控制系统所有可视化信息,包括各个水柱高度、电磁阀状态、控制模式和给定数值等;
②设置系统的初始化状态和复杂控制算法,并可在线修改各控制算法的参数;
③可改变整个系统各控制回路中的手动、自动控制模式;
④生成液位系统各种数据的班报、日报、月报和年报表。
1.2.3 专家站
专家站计算机装有 RSView32、Matlab、LabVIEW和Access数据库等高级应用程序,主要功能如下。
①管理整个控制系统,对突发错误作出相关处理;
②对系统进行建模仿真及优化计算;
③建立各项指标数据库,将历史数据、操作报告和报警信息存入数据库。
此外,由图2可知,专家站中预留了控制系统升级接口,日后其他开发人员开发不同的控制算法时,可以方便地与原有系统建立数据通信,无须再开发底层数据采集与通信程序,简化了开发步骤。
2 液位控制系统的OPC实现
液位系统的工程师站和专家站均采用了RSView32组态软件。在工程师站中,RSView32通过其自带的VBA程序开发系统进行模糊控制等复杂算法的运算;在专家站中,借助RSView32卓越的管理系统和数据库功能可以管理整个控制系统,建立各项指标数据库,存储历史数据。
由此可见,组态软件RSView32相当于一座中间桥梁,将现场操作级、工程师站和专家站连接了起来。因此,该液位系统需要解决3个核心问题:如何实现现场实时信号的采集、如何在组态软件RSView32中嵌入复杂控制算法以及如何实现工程师站与专家站组态软件之间的数据通信。
2.1 数据采集
为了获取实时液位信号,我们采用VB编程操作数据采集卡采集现场数据。
本系统采用的是阿尔泰公司的PCI2006数据采集卡,它自带接受访问的底层驱动。因此,在正式编程之前,需要把开发商提供的模块文件PCI2006.bas加入到VB工程当中。通过VB程序采集数据的步骤和核心代码如下。
2.2 组态软件OPC通信方法
现场操作级、工程师站和专家站计算机上都装有RSView32组态软件。该软件支持基于OPC技术的数据交换。将现场操作级的RSView32设定为服务器,工程师站和专家站的RSView32设定为客户机,则现场数据和控制参数可以在3站之间双向传递。
在OPC服务器设定中,现场操作级计算机取名为Water1,在RSView32中建立一个新的节点,则各项参数设置如表1所示。
表1 OPC服务器参数表Tab.1 Parameters of OPC server
在客户机设定中,服务器计算机均为Water,则在工程师站和专家站上的RSView32中分别建立一个新的节点,各项参数设置如表2所示。
表2 客户机参数表Tab.2 Parameters of the client
需要注意的是,客户机上OPC节点设定中的服务计算机名应当填入OPC服务器的计算机名称,且更新速率应该大于服务器中OPC节点的更新速率。
客户机上RSView32中的标记需要连接到OPC服务器,并将对应的数据名称设定为来自设备的名称,节点名为Expert,地址填入现场操作站RSView32中标记的名称。测试证明,RSView32的OPC服务器最多可以同时连接10台用作OPC客户的RSView32计算机。
2.3 组态软件与VB的通信方法
客户机的组态软件通过OPC技术与VB连接起来,实现复杂控制算法[8-9]。VB在客户机上与组态软件RSView32的通信方法如下。
先在VB工具栏中的“工程引用”项加入Rockwell OPC Automation 2.0,然后定义变量。
定义复杂控制算法中的全局变量如下。写等。
由于程序较长,这里不再赘述。整个程序的流程如图3所示。
图3 VB程序流程图Fig.3 Flowchart of VB program
由于OPC客户建立连接后,占用了服务器资源,因此,程序结束后必须断开OPC连接,释放资源。关键程序如下。
3 结束语
本文根据工业液位对象的特性,借助RSView32、VB等高级应用软件,采用OPC技术构建了三级网络控制系统。
系统结构开放,可扩展性强,成本低廉,不同厂家的新设备、新软件,只要提供统一的OPC接口,就能与本系统简便互联,减少了底层开发时间和费用。同时,该网络实现了计算机内部应用程序与现场设备、不同软硬件、不同应用程序之间的无缝连接与资源实时共享,可供多个客户同时访问系统。
[1]李京,宋真君.“工控软件互操作规范OPC技术”讲座——第一讲OPC 规范的产生与发展[J].自动化仪表,2002,23(4):68-70.
[2]金彦平.用PLC实现分段液位控制[J].机床电器,2004,31(4):32-34.
[3]陆仲达,徐凤霞.单片机液位控制系统[J].齐齐哈尔大学学报:自然科学版,2003,19(1):56 -58.
[4]袁丽英,牟晓光.自适应液位模糊控制系统设计[J].哈尔滨商业大学学报:自然科学版,2005,21(3):302 -304.
[5]匡芬芳.基于LabVIEW的液位神经网络PID控制系统[J].微计算机信息,2010,26(19):60 -62.
[6]向冬,王润孝,秦现生.基于OPC的多层过程控制系统架构设计及实现[J].计算机应用,2003,23(2):68-70.
[7]薛福珍,徐磊,田贵宾,等.基于OPC的先进控制算法平台的设计与实现[J].自动化仪表,2005,26(9):26 -28.
[8]赵艳秋,王建民.采用OPC技术实现竖炉烧结DCS系统与VB软件的接口[J].计算机与数字工程,2006,34(1):114 -117.
[9]郭建明,隋永强,黄珍.基于VB的OPC客户端程序设计与应用[J].湖南工业大学学报:人文社会科学版,2007,21(6):83-87.