关键词:FF现场总线;OPC;PID控制;先进控制算法
Abstract:The fieldbus control system (FCS) has more obvious advantage than the closed distributed control system (DCS), which has become the major in process control. Based on the experiment platform of foundation fieldbus designed by Shen Yang Automation Institute of Chinese Academy of Science, the feasible project of applying advanced control algorithm to the single loop liquid control of foundation fieldbus control system is proposed, which exerts the technical advantages of foundation fieldbus and advanced control algorithm.
Key words:foundation fieldbus; ole for process control; PID control; advanced control algorithm
引 言
现场总线技术的发展使得控制系统在由封闭走向开放的进程中迈进了一大步,以现场总线为基础的控制系统将会取代封闭的DCS系统成为过程控制的主流系统。FF现场总线[1]是一种全数字、串行、双向通信网络,同时也是一种专门针对过程自动化领域的应用而设计的现场总线,所以其在设计之初就充分考虑了过程自动化领域的一些特点,比如总线、供电、本质安全,以及较高的实时性要求等。我国在FF总线技术研究以及符合FF协议的现场设备产品开发方面己经取得了长足的进步,如中科院沈阳自动化研究所研制出了各种基金会现场总线产品,例如压力变送器、温度变送器,以及主机接口卡和通信栈软件等。在DCS时代,先进控制己被证明可以为企业获得巨大的经济效益。先进控制与现场总线的结合[2]无疑是工业界所期望的,也是该文讨论的主题。在FF现场总线过程控制实验系统中,被控对象往往存在时变性和时滞性问题,对控制系统构成了极大的难题,认为采用了现场总线就可以解决这些问题是一个误区。现场总线的采用只是提供了控制策略的更好的实现手段。动态矩阵控制(DMC)作为一种先进控制算法,可以直接用于时滞对象而无需附加其它的控制结构。
该文将以在中科院沈阳自动化研究所设计的基于FF现场总线的网络化测控实验平台[3,4]上,设计了双容水箱的液位反馈控制回路,并结合具体被控对象提出了将先进控制算法应用到FF现场总线系统的可行性方案,既在OPC服务器MicroCyber .FFServer.1的基础上实现了常规的PID控制,进而在PID控制的基础上实现了基于OPC技术的先进控制算法。实验表明,该方案控制效果更好的发挥了现场总线与先进控制的技术优势,取得了预期的控制效果。
1 基于FF现场总线的网络化实验平台
本系统包括两个部分[5]:FF现场总线部分和现场控制模型部分,如图1。FF现场总线[6]包括低速现场总线H1和高速现场总线HSE。低速现场总线H1的速率为31.25Kbps,可用于温度、液位及流量等控制场合,信号类型为电压信号;高速现场总线HSE的速率为100Mbps,一般用于高级控制、远程输入/输出和高速工厂自动化等场合。现场控制模型可以利用实验室的原有设备,从而节约了投资。原有的模拟仪表可以通过电流信号到现场总线信号变送器转接到现场总线。
图1 系统软件运行关系
以单回路液位控制为例,上位机中软件的运行情况:①HSE Init接口软件, 选择H1网段,HSE 接口程序可以与以太网段内的 HSE 设备,以及 LD 设备下的 H1 网段设备进行交互,向组态等上层软件提供数据访问接口;②运行组态程序FF-Configurator组态软件, 刷新网段获取系统的现场设备列表和功能块列表, 刷新网段后,建立应用完成功能块组态,功能块间的连线表示通过现场总线通信的信号连接,如图2所示;③FF H1和FF HSE OPC服务器, 每秒钟刷新一次,实现设备的实时数据和历史数据共享以及报警等功能; ④设计SiaView监控软件, 新建一个工程,在对象中选择PID拖到视图中,与OPC连接后经过编辑可得到一个PID功能块操作面板。
图 2 应用窗口中配置的PID组态策略
从组态软件的工程窗口的设备中选择IF-AI1功能块、IF-PID功能块和FI-AO1功能块拖拽到应用视图中连接配置成一个PID控制回路,见图2。将功能块连接,建立功能块之间的联系,使功能块之间能够进行参数值的传递并需下载组态信息到现场设备。要使液位控制回路正确运行需要修改功能块的参数值,双击IF-PID功能块,打开块的参数窗口,将IF-PID中MODE_BLK项下的TARGET参数修改成〝AUTO〞模式,读取功能块参数,从而实现单回路的液位控制自动正常的运行。如果想要实现将先进控制算法应用到FF现场总线系统的方案,只需将IF-PID中MODE_BLK项下的TARGET参数修改成〝MAN〞模式,具体设置如图3所示,然后通过OPC技术实现过程变量和控制变量的通讯。
图3 实现先进控制算法时的IF-PID功能块参数表
2 基于OPC的PID控制方案
要实现基于FF现场总线的先进控制算法,主要要先以实现常规PID控制为基础,包含先进控制算法的软件通过OPC接口来读写硬件设备的信息(作为OPC客户),通过OPC服务器访问过程数据,可以克服异构网络结构和网络协议之间的差异。
2.1 OPC服务器
选用中科院沈阳自动化研究所提供了OPC服务器MicroCyber .FFServer.1,服务器的地址空间由服务器可读写的所有数据项组成,可以根据需要得到数据项的全称对其进行相关操作。图4为OPC服务器的地址空间图。使用OPC技术实现用VB6.0编写的客户端程序与OPC服务器的通讯,服务器中液位的实时值IF-PID-PV.VALUE,以及自定义变量如液位设定值IF-PID-SP.VALUE,然后进行算法控制,得到控制量,将控制量写入OPC服务器的项FI-PID-OUT.VALUE,从而控制受控系统。
图 4 OPC服务器的地址空间图
2.2 OPC自动化接口标准
2.2.1自动化接口
OPC基金会为方便用户在各种环境下软件开发,为数据访问规范提供两类接口:自动化接口和定制接口。基于定制接口的开发,需要用到较深的COM/DCOM知识,比较晦涩难懂,而运用自动化接口则有以下优点:客户程序可以很容易地应用接口,而无需了解接口的详细内部机理;可以运用事件触发机制;可以生成一个通用的动态链接库(DLL)或控件供所有客户端应用程序使用。
2.2.2自动化接口的通信机制
OPC客户程序通过封装的OPC自动化接口动态链接库访问OPC服务器[7],如图5所示。该动态连接库将OPC服务器的定制接口翻译成OPC客户程序希望的自动化接口,以供客户程序调用。OPC客户程序和动态链接库是进程内的通信,而动态链接库和OPC服务器的通信则基于COM/DCOM,既可以是进程内或本地的连接,又可以是远程连接。封装的动态链接库解决了定制接口的解释和二者的通信,从而大大简化了OPC客户程序的开发。
图 5 OPC客户程序与服务器的通迅
图6 自动化对象模型
2.2.3自动化对象模型
OPC客户程序的开发关键在于搞清该动态链接库的封装结构,也即自动化接口标准。该标准可以用图6所示的自动化对象模型表示。它主要由6类对象组成:①OPCServer:OPC服务器的一个实例。只有创建了 OPCServer 对象以后才能获得 OPC服务器的信息,它包括 OPCGroups 的搜索以及 OPCBrowser 对象的创建;②OPCGroups:能够自动搜集到 OPCServer 范围内客户端创建的所有的 OPCGroup对象;③OPCGroup:OPCGroup 对象的一个实例。 它包含所有的状态信息,并且为 OPCGroup 中所涉及的 OPCItems提供必要的服务;④OPCItems :能够自动搜集到 OPCServer 范围内客户端创建的对应相应的 OPCGroup中的所有的 OPCItem 对象;⑤OPCItem :一个自动化对象,它包含“位号”的定义,当前值,状态信息,最后更新时间;⑥OPCBrowser:浏览服务器中所有“位号”名称的对象。对于每个 OPCServer只能创建一个 OPCBrowser 对象。
2.3 实现PID控制的OPC客户程序
2.3.1使用VB开发OPC应用程序
利用VB开发OPC应用程序时,实现OPC自动化接口的OPC包装DLL是必须的,这个OPC包装DLL一般应该是由OPC服务器的供应商提供的,为OPC客户程序的软件开发提供了具有良好接口的工具。本文使用为OPC基金会的OPC包装DLL进行说明。
因为在新建的VB工程里OPC包装DLL还没有注册,必须先用下述方法对OPC包装DLL进行注册:①从VB菜单里选择[工程(P)]-[引用(N)];②在[可用的引用(A)]的一览表示中,选择对应的OPC包装DLL的文件名,这里选择[OPC Automation 2.0]。
2.3.2 实现步骤
用VB编写OPC客户端程序包含以下步骤[8]:①添加服务器的引用,创建 OPC 服务器对象,并将客户程序与服务器相连;②创建组集合并添加组对象;③添加 OPC项,利用 OPCBrowse方法浏览整个服务器中所有的项,选择需要的项,将其添加到规定的组中,并显示其值和状态;④在主画面中显示添加的组和项。
2.3.3 程序设计
下面是以VB实现的具有PID功能的OPC同步客户程序。
图7 实现PID控制的OPC客户程序
该单回路控制过程为自衡非振荡,具有相互影响的双容过程。其数学模型可用如下传递函数描述:
G(s) =
式中, Kp , Tp ,τ为过程的增益、时间常数和时滞。式中的各参数可根据阶跃响应曲线用图解法求得。
下面给出确定传递函数的参数的方法:设图7中的控制量为q,测量值为y,新的稳态值为设定值,增益K可由输入输出的稳态值直接算出 而Tp ,τ则可以用作图法确定。为了能够随时调用在OPC服务器上采集的测量值y并绘制出相应的阶跃响应曲线,这里把选择的数据存放在指定的数据库中(采用SQL2000数据库)。同时也是为了在进行算法的仿真的时候,既可以从历史数据库中取数据,也可随着数据的采集,可以不断刷新数据,进行算法的优化,如图8。
图8 SQL server 数据库中存取OPC服务器数据
3 基于OPC的先进控制控制方案
动态矩阵控制(Dynamic Matrix Control,简称DMC)算法[9]包括预测模型、优化控制、反馈校正。监控软件体系[10,11]中的4.2动态矩阵控制软件的开发
动态矩阵控制的主要功能是按照DMC算法来确定控制作用。
在设计中将DMC控制类型抽象为一个DMC控制类(DMC Class ),并相应生成一个对象(object)。描述实体的属性成为数据被封装在对象的内部.即将DMC控制所需的各项参数如:模型时域长度N,优化时域长度P,控制时域长度M等作为DMC控制类的私有成员(Private). DMC控制对象的外部程序不能对这些数据进行访问,而DMC控制的初始化,DMC控制的在线计算等作为公共接口(Public),外部程序可以对其进行存取。
仿真对象采用FF现场总线过程实验系统的单回路控制模型,液位对象主要由2个水槽串联组成,每个水槽长20cm,宽10cm,高40cm,以水槽2的液位高度h2为被控变量,其最大值为40cm,工作点常设定在20cm左右.因为系统具有容积滞后和管道滞后,所以液位对象是一个具有纯滞后的多容对象。对系统进行实验测试,纯滞后约为3s。模型时域长度为10,优化时域长度为6,控制时域长度为5,控制周期1000ms,控制周期个数取为1000,设定值为20,误差权1,控制权0.01。
图9 用VB界面开发的OPC客户界面
图10 Vb6.0中实现DMC算法
4 结论
该文深入研究了FF现场总线的过程控制实验系统的设计过程,进而研究OPC技术,目的是希望通过VB去开发OPC自动化接口的客户应用程序,实现动态矩阵先进控制算法到OPC 客户应用程序的应用编程,进而方便用户的使用和系统的维护和升级,同时研究SQL Server 2000的数据库系统,用于历史数据的存取以及算法的仿真。如何实现更加复杂的先进控制算法,可以使用OLE自动化技术来实现VB与Matlab混合编程 [12],即用VB编写OPC客户端程序来实现数据通信,而利用Matlab进行先进控制算法的编写,从而对现场数据进行分析,是下一步研究的重点。
参考文献:
[1] 龙姿平,万曼影.FF现场总线概述[J].自动化与仪表,1999,14(4):5-7.
[2] 苑明哲,刘玉忠,周悦等.先进控制与FF 现场总线[J].工业检测与自动化装置,2003,(2):7-9.
[3] 刘丹,于海斌,王宏等. 自主开发的FF现场总线控制系统典型应用[J].自动化仪表,2005,26(3):46-48.
[4] 陈娜,戚淑芬。基于FF现场总线的实验测控系统[J].青岛科技大学学报,2004,25(1):80-82.
[5] 徐永红。基于FF的网络化控制实验平台[D].哈尔滨:哈尔滨工业大学,2003.
[6] 刘丹,于海斌,王宏等. FF HSE和FF H 1协议网关的基本原理与实现[J].信息与控制,2004,33(6):719-723。
[7] 王凌,杨新照,张凤形. OPC服务器在FF总线系统中的应用[J]. 仪器仪表学报,2004,25(4):227-228.
[8] 赵明生.基于OPC技术的预测控制[J].计算机工程与应用,2005(9):224~228..
[9] 李金霞,邱公伟.动态矩阵控制及其改进方法的仿真研究[J].福 州大学学报(自然科学版),2004,32(5):560-562.
[10] 张雯.基于现场总线过程控制系统的监控系统的研究[D].上海:上海理工大学,2001.
[11] 邵奇可.分布式软件技术及其应用研究[D].浙江:浙江工业大学,2002.
[12] 毛彦科。基于现场总线的智能监控系统组建技术及应用研究[D].上海:上海大学,2002.