文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.09.030
中文引用格式: 汪繁荣,万英杰. 网络控制系统时延解决方案的研究[J].电子技术应用,2015,41(9):110-113,117.
英文引用格式: Wang Fanrong,Wan Yingjie. Research on solution of time delay in networked control system[J].Application of Electronic Technique,2015,41(9):110-113,117.
0 引言
随着计算机网络通信和智能传感技术的飞速发展,自动化技术发生了革命性的变化。计算机控制系统从集中式控制过渡到集散控制以及现场总线控制,直到今天的基于网络的分布式控制。这种分布式工作方式彻底地改变了传统控制系统中反馈的应用,网络控制系统(NCS)应运而生。进入二十一世纪,工业控制技术与计算机通信网络技术的进一步结合催生了现场总线系统[1]。这使得封闭的专用协议变成开放的标准协议,因设备节点中包含了数字处理器,而具有较强的数字计算和通信能力,可实现真正意义上的分布式控制。
与传统的点对点控制系统相比,网络控制系统具有连线少、结构灵活、通信协议开放等诸多优点。但通信网络介入使得网络控制系统的分析和设计变得更为复杂[2],不可靠的网络传输方式导致许多的不确定性,主要问题有:网络诱导延时、数据丢包、单包传输与多包传输、数据包时序错乱、噪声干扰等。
针对网络控制系统中数据传输的多周期和时延的相关问题,本文运用预测控制算法,采用多步测试、滚动优化和反馈校正等控制策略,通过优化控制序列来改善系统在拥堵环境下的控制效果。最后利用MATLAB对网络预测控制进行仿真验证,结果表明此预测控制算法能够极大改善网络时延下的控制输出效果。
1 网络控制回路的设计
1.1 网络预测控制结构
在网络控制系统中,系统结构的主要特征是传感器、控制器和执行器非点对点的直接相连,而是通过串行数字通信接口接入公网(或者无线网)进行数据和控制信息的交换[3]。所有设备共享一个传输通道,实现设备间的数据交换、资源共享和相互协作[4]。典型的网络控制系统结构如图1所示。
在NCS中,系统的节点驱动方式有两类:时钟驱动和事件驱动。时钟驱动指网络节点在预定的时间启动工作,时钟驱动可使网络节点周期性的工作;而事件驱动则使网络节点在特定的事件发生时启动工作[5]。一般情况下,NCS中的传感器为时钟驱动,且采用系统时钟;控制器和执行器既可采用时钟驱动,也可以采用事件驱动。本文针对解决网络时延而设计的网络预测控制分为控制端和被控对象端两个部分,它们通过网络进行连接。控制端采用事件驱动,被控对象端采用时钟驱动,整个控制回路的结构如图2。
当控制器端收到反馈通道回传过来的数据时,事件被触发,控制器生成相应的预测序列;如果没有收到任何反馈数据,则控制器端处于闲置状态。被控对象端以系统时钟作为驱动,以控制序列作为数据源并从中选取相应的控制信号来对具体设备进行控制,这些来自于预测控制算法的控制序列可以实现对网络时延的补偿[6]。
网络预测控制系统的实现步骤:
(1)不考虑网络,设计本地PI控制器,满足系统性能需求。
(2)根据已发出的控制信号、输出信号以及参考输入值,建立起预测控制序列生成器,通过计算生成预测输出控制信号。
(3)引入网络环节,预测生成器在产生完整的数据序列后,将输出序列打包并传送到被控对象端的网络时延补偿器。
(4)网络时延补偿器作为数据选择器,从控制序列中选择出符合当前时刻值的控制值作为执行器输入信号。
1.2 设备模型和本地控制
假设系统t时刻的输入和输出分别是u(t)和y(t),则输入输出满足的线性差分等式为:
y(t)+a1y(t-1)+…+any(t-n)=b1u(t-1)+…+bm u(t-m)
(1)
因为观测数据常常是通过采样获得的,通过上面的表示方法可以很直接地将离散时间系统模型的相关观测数据关联起来。为了描述方便,在式(1)中,可以假设采样时间间隔为一个时间单位。进行简单变换,就可以变成一个能够根据已经给定的以前的观测结果来得到之后的输出公式:
y(t)=-a1y(t-1)-…-any(t-n)+b1u(t-1)+…+bm u(t-m)
(2)
1.3 预测控制器设计
往本地控制系统中引入网络节点,带控制相关序列的预测控制相应的数据流通如图3所示。
控制端主要由预测控制器组成,预测控制器负责接收来自控制器端反馈通道并通过递归公式计算生成下一控制周期相应的控制序列,然后通过网络回传到设备端。设备端通过选择器承接控制序列数据,然后选择出控制数据,直接作为设备的输入控制量。设备端完成对设备的控制后,再将设备端相应的数据打包通过反馈通道回传到网络的另一端的控制器,再进行下一控制周期,依次循环。
预测模型具有表达系统未来行为的功能,对于不同的控制策略,可利用预测模型计算出不同的输出轨迹,从而为选择最优控制策略、优化系统性能提供条件。
当控制周期从设备端开始,每个采样周期开始的时候,设备端将已经发生的控制序列u(t)和输出序列y(t)以及当前的设备端系统时刻点t存储在一个数据包中,并通过反馈通道发送到控制器端。设备端发送的数据包结构如下:
控制器端采用事件驱动方式,当接收到来自设备端反馈通道的数据包时,控制器计算出未来的预测序列,并将其和之前收到的设备系统时间t一起打包成下述结构发送到设备端:
在NPC方法中,设网络传送最大延时为M,采样周期为T,则从控制器发送到设备端的控制序列应至少有N=M/N个元素,这样就为设备端的数据选择器提供了充足的有效数据源[7]。
1.4 设备端数据选择器
NPC数据选择器的基本思想是:在大多数通信网络如TCP/IP网络中,数据是以包的形式传输;网络化控制系统中的网络数据发送端可以用同一个包传输一组序列预测信号,接收端根据当时的网络状况选择一个合适的信号值,主动补偿掉网络传输带来的延时和丢包等不利因素。
在NPC方法中,网络化控制系统被考虑成一个周期为T的计算机离散采样系统。系统中所涉及的网络节点都以时间驱动的方法工作,即它们都在采样时间点KT(0,1,2,…)接收和发送报文。在时间区间[KT,(K+1)T]中被接收到的报文,均认为是在采样时间点(K+1)T被接收到。
几种接收数据包异常情况的处理方法如下:
(1)包延时。有数据包到达接收端,而且此数据包所带时间标记在所有历史数据中最新,启用此数据包。
(2)包乱序。当一个数据包达到数据选择器时,数据选择器先将所收到数据包中的时间标记与内存当前数据包的时间标记作比较。发生包乱序时,直接舍弃。
(3)包堆积。当接收到多个数据包,数据选择器选出具有最大时间标记的数据包,并将此数据包跟内存中的数据包的时间标记进行比较,以决定其启用或舍弃。
(4)包丢失。当前时间点没有收到新数据,或者收到新数据但新数据因时间标记过时都可导致包丢失。包丢失的情况下,数据选择器启用历史数据包。
经过初步数据选择,不管是当前接收的还是历史接收的,每个时间节点都会一个供“第二次选择”的数据包。在网络控制系统NPC方法中,对包延时和广义包丢失进行研究时,进行如下约定:网络传输过程中的延时具有上限M,而且连续丢包的时间区间不大于最大延迟M(这样才能将预测序列限定为有限长度)。基于以上约定,经过初步数据选择后,包延时、包乱序、包堆积、包丢失这些问题都可以转换成“随机延时”的处理方式。随机延时网络的NPC解决方案如图4。
从接收端的角度进行分析,时间节点为n时,发生包延时,收到来自发送端n-2时刻的数据包P,数据包发生了2个采样周期的延时。如按传统的控制方法,此时施加在设备上的端点为u(n-2),显然不符合控制要求,如果传送到接收端的是预测序列,则设备端数据选择器只需根据延时情况,从预测序列中选取出n时刻的控制值即可,这样就形成了对延时的有效补偿;时间节点为n+1和n+2时,发生包丢失,即在这些节点处没有收到任何数据,则此时仍启用旧的数据包,即P中的n+1和n+2时刻的控制值;时间节点为n+3时,和节点n处一样,只需从新的数据包中选择对应时间节点的控制量即可。
2 算法仿真
前面对NPC的实现原理和过程进行了详细描述,为了对上述的数据原理进行验证,下面通过具体的设备模型对算法进行数字实验,对上述数学原理进行仿真测试。
2.1 设备和控制器的数学模型
对于本地控制系统,设采样周期为0.1 s,然后对相关环节进行数字化约定。
r(t)单位阶跃输入:1(t)=1,t≥0
2.2 本地固定时延控制
在本地无延时的本地控制回路中增加一定的固定延时,控制回路如图5所示[8]。
在本地无延时的本地控制回路中增加一定的固定延时,控制闭环控制系统单位阶跃输入在不同的固定延时情况下的输出信号如图6所示。不难看出,不带任何延时的本地控制系统能够取得很好的控制效果,设备的输出值能够很快地达到参考输入值。在本地控制系统中加入了2个和4个采样周期倍数的延时后,系统输出曲线产生振荡,而且固定延时越高,系统的振荡越剧烈,最后甚至会达到发散不稳定的结果。
2.3 网络预测控制
网络系统是一个复杂的系统,除了产生固定延时外,更多地还会产生随机延时。当向本地控制中加入固定延时和随机延时环节的网络延时环境,便构造成了如图7的网络控制系统[9]。设备模型与PI控制器模型变成差分结构:
y(t)=1.396y(t-Ts)-0.468 1y(t-2Ts)+0.466 2u(t-Ts)
-0.284 3u(t-2Ts)(3)
u(t)=u(t-Ts)+0.33e(t)-0.23e(t-Ts)(4)
其中e(t)=r(t)-y(t)
不难看出,差分式(3)、(4)已经具备由过去序列推测未来序列的能力了。由于系统的数学模型阶次不超过二阶,一般只需要通过过去的两组y、u值就可以得到当前时刻的y值和u值。两组差分递推算法是实现预测控制器的核心所在。已经发生的u、y序列和当前时刻值从反馈通道经过一定的网络延时传递到控制器端作为预测控制器输入。控制器将时间标记及通过两个递推式得到一组u的未来预测序列再通过网络传送到控制器端的数据选择器。
数据选择器接收到从控制器端发送过来数据包,和此时的时刻值进行对比,根据图4中提供的NPC解决方案,从u序列中选择出和时刻点对应的控制值,可以达到对网络延时问题的有效补偿。图8给出了本地控制和网络预测控制设备输出图,不难看出:在网络控制系统中,只要设备和控制器的模型足够准确,则在经过网络预测控制器的有效补偿后,网络系统的控制可以达到和本地无延时控制完全一样的效果。
3 结论
本文先对网络延时的预测控制的基本原理和具体的数学实现方法进行了相关介绍,然后以单入单出的网络随机时延控制系统为例,通过MATLAB行仿真,结果显示NPC算法能够实现对网络延时的有效补偿,使得即使存在不确定的网络延时环境,控制器仍然能够达到和本地无时延系统一样的控制效果。本文从工程应用层次对网络控制技术的具体实现步骤进行了深入浅出的分析,对网络预测控制技术的实际应用起到积极的推广作用。
参考文献
[1] PLEINEVAUX P,DECOTIGNIE J D.Time criti- cal communication networks: Field buses[J].Network,IEEE,1988,2(3):55-63.
[2] HU W S,LIU G P,REES D.Networked predic-tive control over the Internet using round-trip delay measurement[J].Instrumentation and Mea-surement,IEEE Transactions on,2008,57(10):2231-2241.
[3] LIU G P,XIA Y,REES D,et al.Design and stability criteriaof networked predictive control systems with random networkdelay in the feedback channel[J].Systems,Man,and Cyber-netics,Part C:Applications and Reviews,IEEE Transactionson,2007,37(2):173-184.
[4] LIU G P,XIA Y,CHEN J,et al.Networked predictive con-trol of systems with random network delays in both forward and feedback channels[J].Industrial Electronics,IEEE Transactions on,2007,54(3):1282-1297.
[5] HU W S,LIU G P,REES D.Event-driven networked pre-dictive control[J].Industrial Electronics,IEEE Transactionson,2007,54(3):1603-1613.
[6] WALSH G C,BELDIMAN O,BUSHNELL L G.Error encoding algorithms for networked control systems[J].Auto- matica,2002,38(2):261-267.
[7] LIU G P,MU J X,REES D,et al.Design and stability analysis of networked control systems with random comm-unication time delay using the modified MPC[J].InternationalJournal of Control,2006,79(4):288-297.
[8] LIU G P,REES D,CHAI S C.Design and practical imple-mentation of networked predictive control systems[C].IEEE Networking,Sensing and Control,ICNSC2005-Proceedings. 2005:336-341.
[9] ZHAO Y B,LIU G P,REES D.Design of a packet-based control framework for networked control systems[J].Control Systems Technology,IEEE Transactions on,2009,17(4):859-865.