1、引言
现场总线(Fieldbus)是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。由于现场总线简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视。一般把现场总线系统称为第五代控制系统,也称作FCS——现场总线控制系统。人们一般把50年代前的气动信号控制系统PCS称作第一代,把4~20mA等电动模拟信号控制系统称为第二代,把数字计算机集中式控制系统称为第三代,而把70年代中期以来的集散式分布控制系统DCS称作第四代。现场总线控制系统FCS作为新一代控制系统,一方面,突破了DCS系统采用通信专用网络的局限,采用了基于公开化、标准化的解决方案,克服了封闭系统所造成的缺陷;另一方面把DCS的集中与分散相结合的集散系统结构,变成了新型全分布式结构,把控制功能彻底下放到现场。可以说,开放性、分散性与数字通讯是现场总线系统最显着的特征。
本文以在中科院沈阳自动化研究所设计的基于FF现场总线的网络化测控实验平台上,设计了双容水箱的液位反馈控制回路,并结合具体被控对象提出了将PID控制算法应用到FF现场总线系统的可行性方案,OPC(OLE forProcessControl, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
2、基于FF现场总线的网络化平台
基金会现场总线分低速H1和高速H2两种通信速率。H1的传输速率为 3125Kbps,通信距离可达1900m(可加中继器延长),可支持总线供电,支持本质安全防爆环境。H2的传输速率为 1Mbps和 2.5Mbps两种,其通信距离为750m和500m。物理传输介质可支持比绞线、光缆和无线发射,协议符合IEC1158-2标准。其物理媒介的传输信号采用曼彻斯特编码,每位发送数据的中心位置或是正跳变,或是负跳变。正跳变代表0,负跳变代表1,从而使串行数据位流中具有足够的定位信息,以保持发送双方的时间同步。接收方既可根据跳变的极性来判断数据的“1”、“0”状态,也可根据数据的中心位置精确定位。
本系统包括两个部分:FF现场总线部分和现场控制模型部分,如图1。FF现场总线包括低速现场总线H1和高速现场总线HSE。低速现场总线H1的速率为31.25kbps,可用于温度、液位及流量等控制场合,信号类型为电压信号;高速现场总线HSE的速率为100Mbps,一般用于高级控制、远程输入/输出和高速工厂自动化等场合。现场控制模型可以利用实验室的原有设备,从而节约了投资。
图1 系统软件运行关系
以单回路液位控制为例,上位机中软件的运行情况:
(1) HSE Init接口软件,选择H1网段,HSE接口程序可以与以太网段内的HSE设备,以及LD设备下的H1网段设备进行交互,向组态等上层软件提供数据访问接口;
(2) 运行组态程序FF-Configurator组态软件,刷新网段获取系统的现场设备列表和功能块列表,刷新网段后,建立应用完成功能块组态,功能块间的连线表示通过现场总线通信的信号连接,如图2所示;
(3) FF H1和FF HSE OPC服务器, 每秒钟刷新一次,实现设备的实时数据和历史数据共享以及报警等功能;
(4) 设计SiaView监控软件,新建一个工程,在对象中选择PID拖到视图中,与OPC连接后经过编辑可得到一个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所示。
图2 应用窗口中配置的PID组态策略
图3 实现先进控制算法时的IF-PID功能块参数表
3、基于OPC的PID控制方案
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能 控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接 口。控制器的输出经过输出接口、执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。不同的控制系统,其传感器、 变送器、执行机构是不一样的。
实现基于FF现场总线的先进控制算法,要先以实现常规PID控制为基础,包含先进控制算法的软件通过OPC接口来读写硬件设备的信息(作为OPC客户),通过OPC服务器访问过程数据,可以克服异构网络结构和网络协议之间的差异。
3.1 OPC服务器
OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。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服务器的地址空间图
3.2 OPC自动化接口标准
(1) 自动化接口
OPC基金会为方便用户在各种环境下软件开发,为数据访问规范提供两类接口:自动化接口和定制接口。基于定制接口的开发,需要用到较深的COM/DCOM知识,比较晦涩难懂,而运用自动化接口则有以下优点:客户程序可以很容易地应用接口,而无需了解接口的详细内部机理;可以运用事件触发机制;可以生成一个通用的动态链接库(DLL)或控件供所有客户端应用程序使用。
(2) 自动化接口的通信机制
OPC客户程序通过封装的OPC自动化接口动态链接库访问OPC服务器,如图5所示。该动态连接库将OPC服务器的定制接口翻译成OPC客户程序希望的自动化接口,以供客户程序调用。OPC客户程序和动态链接库是进程内的通信,而动态链接库和OPC服务器的通信则基于COM/DCOM,既可以是进程内或本地的连接,又可以是远程连接。封装的动态链接库解决了定制接口的解释和二者的通信。
图5 OPC客户程序与服务器的通迅
(3) 自动化对象模型
OPC客户程序的开发关键在于搞清该动态链接库的封装结构,也即自动化接口标准。该标准可以用图6所示的自动化对象模型表示。它主要由六类对象组成:
OPCServer:OPC服务器的一个实例。只有创建了OPCServer对象以后才能获得OPC服务器的信息,它包括OPCGroups的搜索以及OPCBrowser对象的创建;
OPCGroups:能够自动搜集到OPCServer范围内客户端创建的所有的OPCGroup对象;
OPCGroup:OPCGroup对象的一个实例。它包含所有的状态信息,并且为OPCGroup中所涉及的OPC- Items提供必要的服务;
OPCItems:能够自动搜集到OPCServer范围内客户端创建的对应相应的OPCGroup中的所有的OPCItem对象;
OPCItem:一个自动化对象,它包含“位号”的定义,当前值,状态信息,最后更新时间;
OPCBrowser:浏览服务器中所有“位号”名称的对象。对于每个OPCServer只能创建一个OPCBrowser对象。
图6 自动化对象模型
3.3 实现PID控制的OPC客户程序
(1) 使用VB开发OPC应用程序
利用VB开发OPC应用程序时,实现OPC自动化接口的OPC包装DLL是必须的,这个OPC包装DLL一般应该是由OPC服务器的供应商提供的,为OPC客户程序的软件开发提供了具有良好接口的工具。
因为在新建的VB工程里OPC包装DLL还没有注册,必须先用下述方法对OPC包装DLL进行注册:
从VB菜单里选择工程引用;
在可用的引用的一览表示中,选择对应的OPC包装DLL的文件名,这里选择[OPCAutomation2.0];
(2) 实现步骤
用VB编写OPC客户端程序包含以下步骤:
添加服务器的引用,创建OPC服务器对象,并将客户程序与服务器相连;
创建组集合并添加组对象;
添加OPC项,利用OPCBrowse方法浏览整个服务器中所有的项,选择需要的项,将其添加到规定的组中,并显示其值和状态;
在主画面中显示添加的组和项。
(3) 程序设计
图7是以VB实现的具有PID功能的OPC同步客户程序。
图7 实现PID控制的OPC客户程序
该单回路控制过程为自衡非振荡,具有相互影响的双容过程。其数学模型可用如下传递函数描述:
G(s)=
式中, Kp, Tp,τ为过程的增益、时间常数和时滞。式中的各参数可根据阶跃响应曲线用图解法求得。
下面给出确定传递函数的参数的方法:设图7中的控制量为q,测量值为y(∞),新的稳态值为设定值,增益K可由输入输出的稳态值直接算出,而Tp,τ则可以用作图法确定。为了能够随时调用在OPC服务器上采集的测量值y并绘制出相应的阶跃响应曲线,这里把选择的数据存放在指定的数据库中(采用SQL2000数据库)。同时也是为了在进行算法的仿真的时候,既可以从历史数据库中取数据,也可随着数据的采集,可以不断刷新数据,进行算法的优化,如图8所示。
图8 SQL server数据库中存取OPC服务器数据
4、结束语
通过FF现场总线的过程控制实验系统的设计过程,论述OPC技术,目的是希望通过VB去开发OPC自动化接口的客户应用程序,实现PID控制算法到OPC 客户应用程序的应用编程,方便用户的使用和系统的维护和升级,同时研究SQL Server 2000的数据库系统,用于历史数据的存取以及算法的仿真。如何实现更加复杂的先进控制算法,可以使用OLE自动化技术来实现VB与Matlab混合编程,即用VB编写OPC客户端程序来实现数据通信,而利用Matlab进行先进控制算法的编写,从而对现场数据进行分析,是下一步研究的重点。