薄迎春, 刘 宝, 张 欣
(中国石油大学 信息与控制工程学院, 山东 青岛 266555)
随着国民经济的不断发展,对工业生产过程的控制要求也日趋严格[1],以模糊控制、预测控制、学习控制等为代表的先进控制策略越来越多地在工业生产过程中得到推广和应用[2-3]。先进控制理论与应用等相关课程也在高等工科院校逐渐受到重视。然而,目前的工业过程控制设备(如集散控制系统、PLC等)开放性及灵活性较低[4],难以在这些系统或设备上直接开发复杂的先进控制算法[5]。采用通用语言或平台(如Visual C++,Matlab等)可灵活、方便地实现各类先进控制算法的设计[6-7],但是,由于工业控制设备通信的复杂性以及学生实验时间的限制,这些采用通用语言或平台开发的先进控制算法模块又难以快速接入实验室现有的工业过程控制设备或系统[8],从而无法实现先进控制算法在过程控制实验装置上的有效应用。
上述因素使得先进控制实验难以在过程控制实验装置上得到有效的实施,学生学习到的先进控制理论与工程实践难以有机融合,不能最大限度地发挥实验装置的效用。鉴于此,针对过程控制实验装置开发了一套先进控制接口平台,以解决通用先进控制算法模块与底层工业过程控制设备之间的通信问题,力求降低先进控制策略在过程控制实验装置上实施的复杂性。该平台采用Visual C++语言设计,支持OPC(OLE for Process Control)及Modbus通信协议,可与绝大部分集散控制系统、PLC、单片机系统等过程控制设备实现数据交互[8-9]。同时该平台提供了先进控制算法接口,采用通用语言或平台编写的先进控制算法程序可非常方便地接入先进控制接口平台。
如图1所示,先进控制接口平台主要由实时数据库及2个接口模块(控制设备通信接口及算法接口)组成。实时数据库是先进控制算法与底层过程控制设备进行数据交互的中转站,先进控制算法模块及底层设备之间的数据交互通过实时数据库的中转间接实现;算法接口从实时数据库获取先进控制算法所需的数据,同时将先进控制算法输出的控制量送入实时数据库;控制设备通信接口对过程控制设备的数据进行采集并送入实时数据库,同时将实时数据库的相应控制数据送入过程控制设备,过程控制设备获得控制数据后,可驱动过程控制实验装置上相应执行机构动作,从而实现对实验装置的控制。
图1 先进控制接口平台总体结构
除上述功能外,平台还提供了变量显示、曲线显示、报警显示、参数配置及调整等辅助功能模块,通过这些模块,学生可对先进控制的运行情况进行监视和调整。
先进控制实验接口平台支持OPC及Modbus两种通信协议(利用这两种协议可实现与绝大部分过程控制设备的数据通信)。在接口平台运行之前,需要对数据接口进行配置,如图2所示。
图2 通信接口配置
图2所示的协议列表中选择与底层过程控制设备对应的接口协议。通信协议列表中Modicon Modbus协议为标准的Modbus协议,当选用此协议时,需要在后续的参数配置中填写波特率、数据位、停止位、校验方式等信息,这些信息必须与过程控制设备定义的参数一致。除Modicon Modbus协议,列表中其余协议均为OPC协议(不同厂家设备OPC服务器名称不一致),采用OPC协议时,首先在图2所示列表中选择过程控制设备对应的OPC服务器名称,并在后续的参数设置中填写OPC服务器所在的IP地址即可。若所连接设备的OPC服务器名称未出现在列表中,可以通过添加数据接口,填入OPC服务器名称及服务器所在的IP地址即可完成控制设备通信接口的配置。
实时数据库由Visual C++采用动态链接库及共享内存技术生成[10],该动态链接库在平台启动时自动载入,并在计算机的内存中开辟一段共享的存储空间以存储实时数据。实时数据库的变量属性见表1。
表1 实时数据库变量属性
实时数据库包含了所有先进控制算法与过程控制设备之间要进行通信的变量,这些变量需在接口平台运行之前进行登记。通信变量登记界面如图3所示。
图3 通信变量登记界面
当采用OPC通信协议时,只需填写变量ID、变量名称、通道类型及变量说明信息、变量名称要与定义在过程控制设备的OPC服务器中的变量名称完全一致,这主要是由于OPC协议是通过标签(即变量名称字符)实现访问数据定位的。当采用Modbus通信协议时,除上述信息外,还必须填写从站地址及变量地址,因为Modbus协议主站是通过从站地址及变量地址实现访问数据定位的。
算法接口主要实现从实时数据库获取数据,以及将算法输出的控制量写入到实时数据库。该接口由实时数据库提供的2个函数实现:(1)从实时数据库获取数据函数int GetItemValue(int nID, VARIANT Value),该函数获取实时数据库中编号为nID的变量值,并将其存入Value中,其中,Value是一个变体类型(VARIANT)的数据,这意味着该函数可以获取任意类型的数据值;(2)向实时数据库写入数据函数int SetItemValue(int nID, VARIANT Value),该函数将Value的值写入实时数据库中编号为nID的变量中。 采用任何语言编写的先进控制算法均可通过调用这两个函数实现与接口平台之间的数据访问。
接口平台运行之前要进行参数配置及设计相应的先进控制算法。参数配置通过系统提供的界面完成如下2项工作:一是根据过程控制设备支持的通信模式选择相应的通信接口方式;二是对需要从底层过程控制设备获取的数据及要写入底层控制设备的数据进行登记。完成系统参数配置及设计好相应的先进控制算法后,即可使平台进入运行状态。系统运行过程可分为5步:
(1) 系统初始化,根据登记信息初始化通信接口及为变量在实时数据库中分配空间;
(2) 控制设备通信接口从过程设备获取所需数据并写入实时数据库相应位置;
(3) 先进控制算法通过算法接口从实时数据库获取所需数据进行处理,处理后得到的控制量通过算法接口写入实时数据库相应位置;
(4) 通信接口从实时数据库获取先进控制算法输出的控制数据并写入底层过程控制设备;
(5) 底层过程控制设备接收控制数据并驱动相应执行机构动作。
上述过程周期性执行,即可实现对过程控制实验装置的先进控制。运行过程见图4。
图4 接口平台运行过程
以A3000过程控制实验装置的温度控制为例说明本先进控制接口实验平台的应用过程。
图5 A3000装置温度控制结构
如图5所示,锅炉出口温度为TI01,锅炉温度为TI02,控制器TC将采集到的信号进行处理、形成控制输出,并将控制输出送到调压器,通过调节调压器的电压BS01,使锅炉出口温度TI01达到预设值。原系统采用西门S7-200PLC进行控制。S7-200PLC编程能力有限,只能实现常规的PID控制。由于锅炉与温度检测点之间存在滞后管段,检测到的出口温度比实际的锅炉温度滞后。温度被控对象的数学模型可表示为:
G(s)=Gp(s)e-τds
(1)
其中,Gp(s)为被控对象中不含纯滞后环节的传递函数,τd为滞后时间。整个控制系统的闭环传递函数为
(2)
D(s)为控制器传递函数。
由(2)式可见,闭环传递函数的分子和分母均含有纯滞后环节,对于这样的系统,常规控制方法难以取得较好的控制效果。图6为常规PID控制效果。由于存在纯滞后环节,为避免系统振荡,常规PID的比例参数必须设置得非常小,这使得整个控制过程相应十分缓慢[11]。
采用纯滞后补偿技术虽然可以解决纯滞后系统的控制问题,但需要准确辨识Gp(s)及滞后时间τd。精确辨识对于实际的生产过程也是很难实现的,所以这里采用BP神经网络在线学习策略实现出口温度的控制[12]。控制器结构如图7所示。
图6 常规PID控制效果
图7 神经网络控制器结构
由于西门子PLC支持MODBUS协议,所以在数据接口配置中选择Modicon Mdbus。PLC及接口平台的通信参数设置:波特率为9 600 bit/s,数据位为8,停止位为1,校验为无。本例中,先进控制算法运行需要获取锅炉温度TI02及出口温度TI01,并将算法输出送入PLC调压变量BS01。接口平台的变量登记见表2。
表2 实时数据库变量登记
神经网络控制算法采用Matlab实现[13],程序结构如下:
float TI01,TI02,BS01;//定义变量
//装在动态链接库文件
loadlibrary(′DataIFPlat′,′ DataIFPlat.h′);
//从实时数据库获取温度数据
calllib(′ DataIFPlat′,′ GetItemValue′,1,TI01);
calllib(′ DataIFPlat′,′ GetItemValue′,2,TI02);
//神经网络控制算法,算法输入为TI01,TI01,
//算法输出为BS01
……
//将算法输出的控制量BS01写入实时数据库
calllib(′ DataIFPlat′,′ SetItemValue′,3,BS01);
其中,DataIFPlat为先进控制实验接口平台的dll文件名,DataIFPlat.h为动态链接库的头文件。
系统运行时,PLC的常规控制回路设置为手动控制状态(在手动状态下,PLC相应回路的控制量可由外部输入更改),然后启动先进控制接口平台及先进控制算法程序,此时先进控制算法的数据可通过先进控制接口平台直接送入PLC,同时PLC的过程数据也可通过先进控制接口平台传输到先进控制算法模块,从而构成先进控制闭环回路。神经网络对于出口温度的控制效果如图8所示。由图8可见,在保证出口温度稳定的情况下,神经网络控制的响应速度较常规PID明显加快。
图8 神经网络控制效果
先进控制接口平台提供了开放的算法接口,各类语言编写的先进控制算法均可接入平台以构成先进控制回路。学生只需按要求填好通信参数及配置相应的通信变量,不必关注先进控制与底层过程控制设备的通信细节,降低了先进控制策略在过程控制实验装置上实施的复杂性。同时,该平台也可使学生更专注于先进控制算法本身的理论和实践研究,使实验更具目的性。先进控制接口平台在中国石油大学(华东)信息与控制工程学院自动化系的先进控制课程实验、创新实践以及毕业设计等环节得到了应用,获得了较好的实践应用效果。