曹慧超 李 炜 申富媛 童 源
(兰州理工大学电气工程与信息工程学院 甘肃 兰州 730050)
离散事件触发通信机制下NCS实验平台的构建
曹慧超李炜申富媛童源
(兰州理工大学电气工程与信息工程学院甘肃 兰州 730050)
目前离散事件触发通信机制DETCS(Periodictime-triggeredcommunicationscheme)下NCS(Networkedcontrolsystem)理论研究结果的验证仍限于单机下的Matlab仿真,尚无真实网络环境的引入;而传统基于周期时间触发通信机制的NCS实验平台,又缺少受控制需求驱动事件触发条件的约束。针对此问题,开发了DETCS下的虚拟NCS实验平台。该平台以校园局域网为通信媒介,采用OPC通信协议,结合西门子S7-300PLC,首先实现了分离于2台PC机上的被控对象和控制器的通信;其次将离散事件触发条件引入被控对象输出端,借助MatlabOPC工具箱提供的OPC技术及软件组态方法实现了真实网络环境下基于DETCS的虚拟NCS平台的搭建。实验平台测试及结果分析表明,DETCS的引入兼顾了NCS的控制性能和网络资源的节约,所搭建的平台能够为DETCS下的NCS理论研究提供有效的工程可用性验证平台。
离散事件触发网络化控制系统OPC技术实验平台
EVENT-TRIGGEREDCOMMUNICATIONSCHEME
CaoHuichaoLiWeiShenFuyuanTongYuan
(College of Electrical and Information Engineering,Lanzhou University of Technology,Lanzhou 730050,Gansu,China)
目前,网络化控制系统NCS以其独特优势在各个领域得到了广泛的应用,同时也因特殊的网络反馈通道所引出的许多问题受到了学术界的关注[1-4]。为验证一些理论研究结果的正确性和可用性,不少学者还搭建了不同类型的NCS仿真平台。文献[5]基于Matlab的TrueTime工具箱,开发了NCS综合仿真平台,实现了对控制系统与网络系统的联合仿真。文献[6]利用网络仿真软件NS2实现真实网络环境的模拟,利用Java网络接口模块连接Matlab仿真对象和NS2网络模块,设计并实现了NCS实时仿真平台。文献[7]也基于网络模拟器NS2设计了一种直流电机网络化控制系统仿真平台。文献[8]利用OPC技术、PC机以及PLC实现了服务器和客户端的网络通信,构建了NCS仿真平台。
但上述NCS仿真平台均基于周期时间触发通信机制PTTCS所搭建。然而面对NCS中有限的网络带宽资源,PTTCS因未从控制的需求出发便按固定的周期传输信息,使得大量冗余数据的传输导致了网络通道的拥塞,也使得网络资源未被合理有效利用,因此如何更有效地利用网络带宽资源,并使系统达到理想的控制目标,逐渐成为NCS研究中的一个重要问题。近期一种信息量按需求传输的离散事件触发通信机制DETCS下的NCS设计方法开始进入人们的视野[9]。DETCS的引入,兼顾了系统的控制性能与网络资源的有效节约,展现出了突出的优势。但现有研究所得结论均采用单机下Matlab仿真来验证其有效性[10,11],对于工程可用性的验证仍存在缺失。
因此,本文拟在真实的网络环境下,利用OPC标准化通信协议,借助西门子Step7、SimaticNet及Matlab等软件,通过引入离散事件触发条件,搭建基于DETCS的NCS实验平台,以期为相应的理论结果寻求较为工程化的实验验证手段。
DETCS引入NCS后,使得网络资源得到了更为合理的利用,但同时其结构也随之发生了一定的变化,下面首先陈述DETCS下NCS的结构,然后给出相应实验平台的构建方案。
1.1DETCS下NCS的结构
DETCS中数据传输是根据控制任务“按需”进行的,基于此机制的NCS结构如图1所示。
图1 DETCS下NCS结构图
与传统的PTTCS下NCS结构图不同的是,图1中在采样器后增加了“事件发生器”。其功能是根据事先设定的事件触发条件,对采样数据进行判断筛选,满足触发条件的采样信号则被传输给控制器,反之则不被传输。它的引入自然而然的结果就是数据的传输不再按固定的采样周期进行,而是按控制系统的需求变周期进行,从而节约网络资源。
1.2DETCS下虚拟NCS实验平台的构建方案
依据DETCS下的NCS结构图1所示,开发相应的实验平台主要包括3部分工作:被控对象的虚拟和控制器设计、DETCS的引入、通信网络及通信协议。
(1) 被控对象的虚拟和控制器设计
考虑到Matlab/Simulink环境具有强大数字运算能力、丰富的图形环境和大量成熟的控制工具箱,是解决系统建模和分析、研究和开发新的网络过程控制算法的首选,因此本平台分别采用2台装有Matlab7.6以上软件的PC机,分别虚拟被控对象并设计控制器,以使其具有模拟多种对象和实现不同控制算法的灵便性。若条件允许或需要时,还可将虚拟被控对象和控制器部分或全部替换为实体,构成半实体或全实体平台。
(2) DETCS的引入
DETCS是一种仅在采样时刻依据某种“事件”发生与否决定系统采样数据是否需要传输的通信机制。这种机制下,需要对被控对象输出的离散采样信息进行不断的分析判断,因此在平台搭建中最为直接的方法就是在虚拟对象模型后引入一个离散事件触发模块,来计算判断被控对象的采样信息是否需要被传输。考虑该模块的计算分析需要,可以采用Matlab/Simulink中M-函数模块来实现。
(3) 通信网络及通信协议
搭建NCS实验平台,应尽可能地接近工程背景,其中真实的网络环境是关键。考虑常用的TrueTime是依据网络MAC协议对网络时延等进行模拟[6]且仅适用于单级的网络拓扑,具有一定局限性;NS2软件虽能模拟复杂网络环境[7,8],但由于其采用C++和OTCL程序语言搭建网络拓扑环结构,使得应用起来难度又较大。因此,为了使所搭建平台具有网络工程真实性的同时可操作性更强,本平台的构建选用校园局域网作为通信媒介。
当被控对象和控制器通过Matlab/Simulink中的模块组件实现于校园局域网中的两台不同PC机上后,二者之间的数据传递,则需要选择合适的通信协议。目前,采用服务器/客户端模式的OPC技术可按照标准化的方法解决软硬件之间数据交换问题,即客户端能够用一种标准的方法去访问任意厂商的OPC服务器程序[12],且Matlab中已具有专门的OPC工具箱,所以,本平台搭建中采用数据传送性能高、开发成本低、可靠性高的OPC作为通信协议。
(4) DETCS下NCS实验平台的结构
综上分析,DETCS下虚拟NCS实验平台的实现选用OPC通信协议,以西门子S7-300PLC作为OPC服务器,2台装有Matlab7.6以上软件的PC作为2个OPC客户端,分别虚拟被控对象和控制器,以校园局域网为通信媒介,借助Matlab中OPCToolbox工具箱提供的相应OPC技术实现OPC服务器与客户端的网络通信。需要强调的是,为实现DETCS所引入的离散事件触发模块被置于被控对象之后,且与其同在一个PC机的Matlab/Simulink中实现。该模块便可判断受控对象输出采样数据是否需要传输,满足条件被传输的采样数据最终将通过PLC数据通道传给控制器。平台的整体拓扑结构如图2所示。
图2 DETCS下虚拟NCS实验平台拓扑结构
DETCS下的虚拟NCS实验平台实际为PTTCS下NCS实验平台基础之上的改建,因此首先应搭建PTTCS下的NCS实验平台。其硬件设备有2台PC机、西门子S7-300PLC(CP313C)、以太网通信模块(CP343-1Lean)、IE通用模块(IE_CP);软件除Matlab外,还包括西门子编程软件Step7V5.5和西门子网络通信软件SimaticNetV6.0。
2.1PTTCS下虚拟NCS实验平台组态
(1) 配置PC站
在SimaticNet软件StationConfigurationEditor窗口中1号槽插入OPCServer,3号槽插入IEGeneral,并分别进行网卡配置和站点命名。
(2) PLC硬件组态
在Step7软件SIMATICManager中创建一个新工程,依次组态PC站和Simatic300站,即在硬件库中选取实际设备中的相应硬件型号,并设置各个模块属性,然后编译保存。
(3) 网络配置
点击ConfigureNetwork按钮进行网络配置,设置PG/PC接口后,进行组态下载,下载成功后,StationConfigurationEditor窗口中组件状态显示运行成功、连接激活。
2.2DETCS下虚拟NCS实验平台搭建
基于DETCS的虚拟NCS实验平台中,系统输出的采样数据采用“按需求”(需求也即“离散事件触发条件”)的传输方式,其实现必须借助于软件组态的有效编程方可实现从PTTCS向DETCS的转换。下面具体陈述DETCS实现方法和相应的软件组态。
(1) DETCS具体实现方法
PTTCS下NCS实验平台中,采样数据均按其固有周期通过网络被传输,这未能满足DETCS的要求,使得不满足离散事件触发条件的采样数据也被传输,所以如何实现信息按需求传输成为关键。
考虑到实际中一旦对OPC进行相应工作属性的初始化后,OPC便以固有频率刷新,即便不满足触发条件的采样信息也会被OPC以固定周期刷新,并通过网络传输送入PLC,尽管可以通过Matlab中shutdown语句关断OPC的通信,停止对不满足触发条件的数据的传输,但此时也无数据送入PLC,整个系统是开路的,为了解决此问题,引入了“0”数据包的概念。即当系统采样数据满足离散事件触发条件时,则将此采样数据直接写入OPCWrite模块并通过网络传输送入PLC,最终送至控制器端的OPCRead模块,此过程中还需要将当前满足触发条件的采样数据值缓存至另外一个中间寄存器,如MREAL190中;若不满足,则写入OPCWrite模块并通过网络传输至PLC的是为“0”的数据包,而当PLC读到数值“0”时,将上一个满足离散事件触发条件的数值,即MREAL190中的值返回给控制器端的OPCRead模块。
图3 DETCS下NCS实验平台工作流程图
从数据包大小的层面来讲,“0”数据包在传输时占用的网络资源较实际传输的真实值所占用的资源要少很多[13],所以采用此方法实现DETCS,从一定程度上节约了网络资源。DETCS下NCS实验平台的工作流程如图3所示。
(2) 软件组态
虽然现有Matlab7.0以上的软件中集成了OPC工具箱,即一个OPC客户端数据访问软件,使得通过OPC工具箱连接任何一个OPC数据服务器,实现对连接的OPC数据服务器的读或写。但是固有的OPCRead模块和OPCWrite模块中item的“Active”属性为“on”,且不可改动,即item按照固有刷新速率去更新数据。而通常情况下OPC的刷新周期远大于Matlab中所组建的仿真系统的运行周期,这导致了异步问题的出现。为了实现OPC扫描周期与Matlab中仿真系统的同步运行,通过编写程序生成“Active”属性可改动的OPCRead与OPCWrite模块。OPCRead模块程序如下:
da=opcda(′localhost′,′OPC.SimaticNET′);%确认本地OPC服务器
connect(da);
%连接服务器
grp1=addgroup(da,′OPCRead′);
%添加组并命名
itm1=additem(grp1, ′S7:[S7connection_1]MREAL80′);
%在组中添加项目1
r=read(itm1)
%读取项目1中的值
itm1.Active=“off” ;
%关闭项目1的激活属性
blkPath=genslread(grp1) ;
%生成itm1中Active属性为off的OPCRead模块
执行完上述程序,构造出的新OPCRead模块中Active属性中则被改为off,此刻只有当读指令发送时,item的数据才会被更新,解决了OPCRead模块刷新频率与Matlab中仿真系统运行同步的问题。同理可构造Active属性可修改为off的OPCWrite模块,此处不在赘述。
(3) DETCS下虚拟NCS实验平台的搭建
为了说明平台的搭建过程,NCS中受控对象这里采用典型的惯性环节(亦可为其他任何复杂系统模型),置于其后的离散事件触发模块中触发条件如下[11]:
eT(ikh)Ve(ikh)≥δ1yT(ikh)Vy(ikh)
(1)
‖y(ikh)‖≥δ2>0
(2)
其中:V是正定的权矩阵;δ1>0,δ2>0为给定的标量参数,与系统的期望性能指标有关;e(ikh)表示当前采样时刻ikh与最近数据传输时刻tkh的数据差,即:
e(ikh)=y(ikh)-y(tkh)
(3)
控制器采用经典PID控制,则在两台PC机中利用Matlab/Simulink分别构建NCS系统的被控对象与离散事件触发条件模块、以及控制器,分别作为OPC的客户端,其连接如图4、图5所示。
图4 DETCS下虚拟NCS实验平台被控对象连接图
图5 DETCS下虚拟NCS实验平台控制器连接图
依据DETCS具体实现方法中的描述,上述平台搭建中需将满足离散事件触发条件的采样数据缓存于另外一个中间寄存器。结合图4和图5所示,当对象模型的采样数据经过事件触发模块判断之后,满足触发条件的当前采样数据写入MREAL180,同时将此值写入另一中间寄存器MREAL190,然后控制器客户端MREAL120读取MREAL180中的数值,并与设定输入作比较,偏差作为控制器输入量,控制器的输出写入MREAL110;若受控对象采样数据不满足触发条件,则控制器客户端MREAL120读取存储于MREAL190中的数据,即上一个时刻满足触发条件的数据。
3.1测试实验
DETCS下虚拟NCS实验平台的测试主要包括:
① 引入DETCS(1,2)后搭建的虚拟NCS实验平台是否能有效节约网络资源;
② 该平台能否做到网络资源节约与系统性能的折衷平衡。
为便于实验分析,这里以2.2节式(3)中的系统为例,其中惯性环节时间常数取1s;PID控制器参数采用扩充临界比例法整定KP=0.4,KI=0.195;离散事件触发条件中触发参数选取δ1=0.6,δ2=0.99、触发权矩阵V=I,依据式(1)、式(2),利用M-函数编写图4中的离散事件触发模块,并取采样周期h=0.1 s。
实验1为考察引入DETCS后NCS节约网络通信资源的状况,采用单位阶跃响应实验进行测试,并与相同条件下基于PTTCS的NCS实验平台所得响应曲线进行比较,如图6所示,离散事件触发NCS数据实际传输时刻和传输间隔如图7所示。
图6 系统响应曲线 图7 DETCS下 NCS数据传输时刻与传输间隔
表1 不同通讯机制下相关指标综合比较
实验2为进一步分析DETCS引入后,不同触发参数对网络资源节约及系统性能的影响,分别改变δ1,δ2,反复进行实验得到如表2、表3的结果,其中采样周期h=0.1s,控制时段仍取20s。其中:ess表示稳态误差。
表2 δ2=0.99,不同触发参数δ1下的相关量比较
表3 δ1=0.6,不同触发参数δ2下的相关量比较
3.2结果分析
① 从单位阶跃响应实验1所得曲线图6中看出,DETCS下NCS的响应曲线略慢于PTTCS下的,但最终趋于稳态值1,有良好的控制性能;结合图7还可看出,当阶跃响应曲线趋于1附近后,离散事件触发条件满足的机率减少,传输数据在8.3s后变得稀疏,数据传输量较暂态过程明显减少;从表1中也能看到,20s控制时段内,DETCS较PTTCS的结果而言,系统实际数据传输量、数据传输率都明显减少,平均传输周期增大。这些均表明DETCS下虚拟NCS实验平台,在满足系统控制性能的同时,能够有效地减少网络通信负载,使得网络资源得到了适度利用。
② 从实验2所得表2、表3中可直观地看出,在给定的20s控制时段内,随着触发参数δ1或δ2的不断增大,更多的网络通信资源被节省;但触发参数引入并增大的同时,稳态误差ess随之出现并逐渐增大,这说明网络资源的节约是以牺牲系统性能为代价的。因此,在实际应用中,当系统控制性能要求较高时,需减小触发参数数值、适当增加传输数据量;反之若希望节省出更多带宽资源时,则可增大触发参数,减少数据传输量,适度降低系统性能要求。由此看来,采用DETCS下的NCS实验平台,完全可以依据需求,合理选择离散事件触发参变量,折衷平衡系统性能与网络资源的节约。
本文利用OPC和Matlab技术,采用西门子S7-300PLC及PC机,在真实网络环境下,构建了基于DETCS的虚拟NCS实验平台,为目前基于DETCS的NCS理论研究提供了实验途径。通过实验平台的测试分析表明,所述的平台搭建方法是可行的,而且基于所搭建的DETCS下的虚拟NCS实验平台能够实现网络资源的有效节约,同时可依据实际应用需求,合理选择触发参数实现网络资源节约与系统性能的折衷平衡。
[1]HespanhaJP,NaghshtabriziP,XuY.Asurveyofrecentresultsinnetworkedcontrolsystems[J].ProceedingsoftheIEEE,2007,95(1):138-162.
[2]HeemelsWPM,TeelAR,WouwN,etal.Networkedcontrolsystemswithcommunicationconstraints:tradeoffsbetweensamplingintervals,delaysandperformance[J].IEEETransactionsonAutomaticControl,2010,55(8):1781-1796.
[3]DonkersMCF,HeemelsWPMH,BernardiniD,etal.Stabilityanalysisofstochasticnetworkedcontrolsystems[J].Automatica,2012,48(5):917-925.
[4]LiPeiran,BaoZhejing,YangQiang,etal.H∞controlsynthesisforlurienetworkedcontrolsystemswithmultipledelaysbasedonthenon-uniformcharacteristic[J].AsianJournalofControl,2013,15(4):1112-1123.
[5] 康军,牛云.网络化控制系统综合仿真平台设计[J].系统仿真学报,2011,23(9):1842-1847.
[6] 王庆凤,陈虹,王萍.基于NS2的网络控制系统仿真平台的设计与实现[J].系统仿真学报,2011,23(2):270-274.
[7] 高远,江明,葛愿.基于NS2的直流电机网络化控制系统仿真[J].计算机工程与应用,2013,49(21):83-86.
[8] 李二超,李炜,李战明,等.基于OPC技术的网络控制系统仿真平台设计[J].实验技术与管理,2012,29(6):90-93.
[9]YueDong,TianEngang,HanQinglong.Adelaysystemmethodtodesignofevent-triggeredcontrolofnetworkedcontrolsystems[C]//ProceedingsoftheIEEEConferenceonDecisionandControl,2011:1688-1673.
[10]HuSonglin,YinXiuxia,ZhangYunning,etal.Event-triggeredguaranteedcostcontrolforuncertaindiscrete-timenetworkedcontrolsystemswithtime-varyingtransmissiondelays[J].IETControlTheoryandApplocations,2012,6(18):2793-2804.
[11]PengChen,HanQinglong,YueDong.ToTransmitornottotransmit:adiscreteevent-triggeredcommunicationschemefornetworkedTakagi-Sugenofuzzysystems[J].IEEETransactionsonFuzzySystems,2013,21(1):164-170.
[12] 陆会明,朱耀春.控制装置标准化通讯[M].北京:机械工业出版社,2010.
[13] 载伊,麦克唐纳,鲁菲.思科网络技术学院教程CCNAExploration:网络基础知识[M].北京:人民邮电出版社,2009.
CONSTRUCTINGEXPERIMENTPLATFORMFORVIRTUALNCSUNDERDISCRETE
TheverificationoftheoreticalresultsofNCSbasedondiscreteevent-triggeredcommunicationscheme(DETCS)isstillinaMatlabsimulationenvironmentwhichusesasinglecomputerwithoutintroducingtherealnetworkenvironment,andthetraditionalNCSexperimentplatformundertheperiodictime-triggeredcommunicationschemelackstheevent-triggeredconditionconstraintsdrivenbycontrolrequirement.Inviewofthis,wedevelopedtheexperimentplatformofvirtualNCSunderDETCS.Ontheplatform,acampusLANisselectedasthecommunicationmedium,meanwhile,OPCcommunicationprotocolisadoptedincombinationwithSiemensS7-300PLC,theplatformfirstrealisesthecommunicationbetweentheplantandcontrollerwhichisseparatedfromtwocomputers;Then,itintroducesthediscreteevent-triggeredconditionintotheplantoutput,furthermore,invirtueoftheOPCtechnology,whichisprovidedbyMatlabOPCToolbox,andthesoftwareconfigurationmethod,itrealisestheconstructionofvirtualNCSplatformbasedonDETCSunderrealnetworkenvironment.ExperimentplatformtestandresultsanalysisshowedthattheintroductionofDETCScouldtakethecontrolperformanceofNCSandthesavingofnetworkresourceintoconsiderationsimultaneously,andtheconstructedplatformcouldprovideeffectiveengineeringavailabilityverificationplatformfortheoreticalresearchofNCSunderDETCS.
Discreteevent-triggeredNetworkedcontrolsystem(NCS)OPCtechnologyExperimentplatform
2014-07-29。国家自然科学基金项目(61364011);甘肃省自然科学基金项目(1308RJZA148)。曹慧超,博士生,主研领域:故障诊断与容错控制。李炜,教授。申富媛,讲师。童源,硕士生。
TP302.8
ADOI:10.3969/j.issn.1000-386x.2016.03.032