您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > OPC技术在液位控制中的应用
OPC技术在液位控制中的应用针对计算机控制系统内部各软硬件之间通信困难以及系统可扩展性差等问题,提出了一种基于OPC技术的多级网络控制系统。该系统由现场操作级、工程师站和专家站三级网络组成,借助OPC技术,系统内部信息可在三级网络间实时传递。详细探讨了系统结构及程序实现的方法,并将系统成功应用于液位对象的控制。实践表明,系统具有开放、可扩展和开发费用低廉等特点,便于实现多种软硬件之间的信息交互与共享。引言随着智能仪表和现场总线技术越来越多地应用于工业现场,计算机控制系统内部各软硬件间以及不同系统间需要进行大量的信息共享与交互。由于目前企业使用的控制系统往往由不同厂商开发,因此相互间的兼容性差。虽然采用专用接口或数据库互连可实现部分信息交互,但因实施成本高、系统集成难度大,所以大家一直在探讨新的解决方法,OPC(OLEforprocesscontr01)技术就是其中之一。OPC规范是由AB、西门子等200多家自动化厂商与微软合作制定的一项工业标准。该标准定义了在微软操作系统下,不同程序、设备之间交换实时数据的方法,能将现场信号按照统一的标准与各厂商提供的软件无缝连接,同时对硬件制造商和软件开发商划分了界限,大大提高了控制系统的互操作性、适应性和可扩展性。1基于OPC技术的液位控制系统1.1液位对象液位对象是常见的工业过程被控对象,复杂液位对象具有时变、非线性、大滞后和不确定性等过程对象的典型特征。本文提出的液位系统是一种基于OPC技术的多级网络控制平台,并在其中嵌入了模糊控制算法,控制网络很好地实现了现场操作级、工程师站和专家站的信息共享。同时,通过Access数据库、VB等应用软件将专家知识库、过程模型、仿真图件及实际生产过程无缝地连接起来,组成了一种开放的、即插即用的工业实时监控系统。本文所用对象为深圳固高公司的三容水箱系统,其双容液位部分结构如图1所示。点击图片查看大图图1液位对象结构水由水泵从储水箱中抽出后,流经电磁阀、水柱1、手动阀1、水柱2、手动阀2,再回到储水箱。该对象的输入信号为电磁阀电压,输出信号为两水柱水位。各阀门的开度变化均可影响对象的非线性程度。1.2液位控制系统的OPC结构本文中的液位控制系统采用图2所示的网络结构。该系统由现场操作级、工程师站和专家站三级网络组成。点击图片查看大图图2液位控制系统网络结构1.2.1现场操作级现场操作级包括液位对象、数据采集卡和控制PC机。主要完成以下功能。①液位传感器的静态标定与动态校准;②液位信号的数据采集处理,并通过OPC协议将数据传输给工程师站和专家站;③液位系统画面监控及控制方式的选择,包括手动与自动控制。1.2.2工程师站工程师站由3台控制PC机组成,装有RSView32、VB等高级应用软件,主要完成以下功能。①集中显示液位控制系统所有可视化信息,包括各个水柱高度、电磁阀状态、控制模式和给定数值等;②设置系统的初始化状态和复杂控制算法,并可在线修改各控制算法的参数;③可改变整个系统各控制回路中的手动、自动控制模式;④生成液位系统各种数据的班报、日报、月报和年报表。1.2.3专家站专家站计算机装有BSView32、Matlab、LabVIEW和Access数据库等高级应用程序,主要功能如下。①管理整个控制系统,对突发错误作出相关处理;②对系统进行建模仿真及优化计算;③建立各项指标数据库,将历史数据、操作报告和报警信息存入数据库。此外,由图2可知,专家站中预留了控制系统升级接口,日后其他开发人员开发不同的控制算法时,可以方便地与原有系统建立数据通信,无须再开发底层数据采集与通信程序,简化了开发步骤。2液位控制系统的OPC实现液位系统的工程师站和专家站均采用了RSView32组态软件。在工程师站中,RSView32通过其自带的VBA程序开发系统进行模糊控制等复杂算法的运算;在专家站中,借助BSView32卓越的管理系统和数据库功能可以管理整个控制系统,建立各项指标数据库,存储历史数据。由此可见,组态软件RSView32相当于一座中间桥梁,将现场操作级、工程师站和专家站连接了起来。因此,该液位系统需要解决3个核心问题:如何实现现场实时信号的采集、如何在组态软件BSView32中嵌入复杂控制算法以及如何实现工程师站与专家站组态软件之间的数据通信。2.1数据采集为了获取实时液位信号,我们采用VB编程操作数据采集卡采集现场数据。本系统采用的是阿尔泰公司的PCI2006数据采集卡,它自带接受访问的底层驱动。因此,在正式编程之前,需要把开发商提供的模块文件PCI2006.bas加入到VB工程当中。通过VB程序采集数据的步骤和核心代码如下。点击图片查看大图点击图片查看大图2.2组态软件OPC通信方法现场操作级、工程师站和专家站计算机上都装有BSView32组态软件。该软件支持基于OPC技术的数据交换。将设定为服务器,工程师站和专家站的BSView32设定为客户机,则现场数据和控制参数可以在3站之间双向传递。在OPC服务器设定中,现场操作级计算机取名为Waterl,在RSView32中建立一个新的节点,则各项参数设置如表1所示。点击图片查看大图表1OPC服务器参数表在客户机设定中,服务器计算机均为Water,则在工程师站和专家站上的RSView32中分别建立一个新的节点,各项参数设置如表2所示。点击图片查看大图表2客户机参数表需要注意的是,客户机上OPC节点设定中的服务计算机名应当填入OPC服务器的计算机名称,且更新速率应该大于服务器中OPC节点的更新速率。客户机上ILSView32中的标记需要连接到OPC服务器,并将对应的数据名称设定为来自设备的名称,节点名为Expert,地址填入现场操作站RSView32中标记的名称。测试证明,ILSView32的OPC服务器最多可以同时连接10台用作OPC客户的RSView32计算机。2.3组态软件与VB的通信方法客户机的组态软件通过OPC技术与VB连接起来,实现复杂控制算法。VB在客户机上与组态软件BSView32的通信方法如下。先在VB工具栏中的“工程\引用”项加入Rock.well0PCAutomation2.0,然后定义变量。ConstServerName=“RSI.RSView320PCTagServer”DimNodenameasString//节点名即计算机名DimMyOPCServerasOPCServer//OPC服务器DimMyOPCGroupasOPCGmup//OPC组DimMyOPCItemasOPCItem//OPC项对象DimOPCItemColleefionasOPCItems//OPC项集合定义复杂控制算法中的全局变量如下。DimtanklasSingle//定义1号液位高度变量DimSetlasSingle//定义1号液位高度给定定义好所有的变量后,进行OPC的连接、OPC读写等。由于程序较长,这里不再赘述。整个程序的流程如图3所示。由于OPC客户建立连接后,占用了服务器资源,因此,程序结束后必须断开OPC连接,释放资源。关键程序如下。①清除指定的OPC项OPCItemCollection.RemoveItemCount.RemovehEmptyServerHandles.RemovehemServerSetOPChemColleetion=Nothing②与服务器断开连接并清除AnOPCSenrer.DisconnectSetAnOPCServer=Nothing3结束语本文根据工业液位对象的特性,借助BSView32、VB等高级应用软件,采用OPC技术构建了三级网络控制系统。系统结构开放,可扩展性强,成本低廉,不同厂家的新设备、新软件,只要提供统一的OPC接口,就能与本系统简便互联,减少了底层开发时间和费用。同时,该网络实现了计算机内部应用程序与现场设备、不同软硬件、不同应用程序之间的无缝连接与资源实时共享,可供多个客户同时访问系统。
本文标题:OPC技术在液位控制中的应用
链接地址:https://www.777doc.com/doc-2884867 .html