基于CAN总线的网络控制系统调度研究
扫描二维码
随时随地手机看文章
1 引言
网络控制系统(NCS)又称网络化的控制系统,即在网络环境下实现的控制系统。对网络控制系统来说,由于系统中的信息源较多,信息的传送要分时占用网络通信线路,而网络的承载能力和通信带宽有限,从而使得信息在传输过程中不可避免地存在时延,并且该时延可能是固定的、时变的,甚至是随机的。从控制的角度来看,这种时延会使系统的分析与设计变得更加复杂。解决网络延时问题有两种途径:一是设计控制算法时充分考虑网络延时的影响,这是控制器设计问题;二是在不考虑延时的情况下设计控制器,依靠改进调度算法保证信息传输的实时性,确保控制系统的稳定和性能,这属于信息调度问题。
本文以CAN总线为研究对象,经过对网络可调度性和调度算法的分析,提出了一种改进的混合调度算法(MTS),并利用TrueTime网络控制工具箱进行网络控制系统的仿真,分析调度算法对控制系统性能的影响,取得了较理想的效果。
2 调度算法
传统的计算机控制理论假设对象输出为等距采样,即周期性地在kTm时刻进行采样,其中Tm为采样周期。这样的假设可以得到线性时不变数据采样系统,并可大大简化对系统稳定性等性能的分析。然而,由于网络传输延时及其不确定性的存在,等距采样在NCS中不一定能得到保证。对于NCS,一般要求满足的主要指标之一是延时的限定,即信息必须在限定的时间内成功地被传送,信息传输的时间特性必须满足系统的实时性要求。网络调度主要集中在一个节点多久可以传送一次信息,以及传输信息的优先级。判断网络传输是否满足该主要指标的过程及传输的保证叫可调度性分析。
2.1 可调度性分析
信息的最糟糕响应时间即最长等待时间是可调度与否的一个重要参数,它定义为从信息进入发送节点的传输队列到被目标节点正确接收所需的最长时间。对任意一条信息Sm,它的最长等待时间Rm:
(1)
其中 Jm——信息Sm的扰动时间,即信息被排队的最早和最晚时间差;
Im——信息Sm的等待延迟时间;
Cm——信息Sm的传送时间。
要保障CAN总线信息传输的实时性,一条进入传输队列的信息必须在下一条信息到来之前发送出,如果信息未及时传送出去,会被下一条信息所覆盖。因此,信息的传送必须满足
(2)
其中Dm为信息的截止期,表示信息从产生到被正确接收的最大允许时间。
如果每一条信息都满足了此条件,我们就说网络是可调度的,网络调度算法选择的目的是保证网络的可调度性。
2.2 基本调度算法
CAN总线利用数据帧中的标识符表示信息的来源和优先级。标识符既可以静态设定,也可以动态设定,即利用标识符可以实现静态或者动态的信息优先级。在满足可调度性的实时调度算法中,目前常用的是优先级驱动的实时调度算法,它可分为静态优先级调度算法和动态优先级调度算法。在静态优先级调度算法中,任务调度的优先级在调度过程中固定不变,如固定优先级调度算法(FP)和单调速率算法(RM)。RM根据信息的周期分配信息的优先级,信息的周期越小,则优先级越高。在动态优先级调度算法中,任务调度的优先级随各控制任务的执行时间或截止时间动态变化,任务优先级不仅仅与任务自身有关系,而且与系统中其他任务有关,如最早时间限优先算法(EDF)和截止期单调算法(DM)。DM根据信息的截止期分配信息的优先级,信息的截止期越小,则优先级越高。
2.3 改进的混合调度算法的提出
根据动态优先级调度具有高利用率的特性,文献[6]提出按照任务的绝对截止期为信息分配标识号,并设计出一种混合调度算法(MTS)。MTS算法是一种介于静态优先级调度算法和动态优先级调度算法之间的折中算法。MTS算法的核心思想是将信息的绝对截止时间编入标识符中,充分利用信息的标识符反映信息截止期的变化,对高优先级的信息使用EDF算法,对低优先级的信息使用FP算法。由于在CAN总线中每个信息必须有唯一的标识号,MTS把标识号分成优先级域、截止期域、节点域三个域,使标识号既反映截止期的变化,又能保证唯一性。在一个典型的系统中,由于截止期随着时钟的改变而改变,因此所有信息截止期域的内容应该及时更新,而且还要与时钟同步。为了解决上述问题,MTS算法采用分布式时钟同步算法,并把时间分为几个区间,根据截止期所在的时间区间进行截止期域内容的编码。
然而,对于由多台电动机组成的多处理器网络控制系统,由于处理器的增多,以及一个采样周期内需要利用网络传送信息的节点增多,延时增大,这时一般的MTS算法并不适用。为提高网络控制系统的实时性,这里对MTS算法进行改进。设原采样周期为Tm ,令
(3)
其中N为大于1的自然数,以TN为周期进行采样,然而在每n次采样中仅有一次采样数据被通过网络发送。设在从t0开始的一个采样周期内, 时刻为采样时刻,在任意一个采样时刻进行采样的数据被成功发送,则在时刻将不再采样。在经过这样的改进后,网络延时仍然存在,但信息的截止期Dm大大减小。信息传送的等待时间如果超过截止期,数据将被抛弃,并重新采集数据等待发送,从而提高网络控制系统的实时性。由于在一个周期内最多进行N次采样,因此处理器的处理速度需要相应提高,单片微处理器速度的大幅度提高及数字信号处理器的出现解决了这一问题。
3 基于CAN总线的网络控制系统仿真
TrueTime工具箱是Dan Henriksson和Anton Cervin等学者开发的一种基于Matlab的网络控制仿真工具箱,它为网络控制系统的研究提供了很好的研究工具。
3.1 网络控制系统仿真平台的构建
利用TrueTime工具箱,构建由一台计算机通过CAN总线控制四台直流电动机的多处理器网络控制仿真系统,分析调度算法对控制性能的影响,仿真原理图如图1所示。
图1 网络控制系统仿真原理图
被控直流电动机用以下的传递函数表示:
(4)
在普通PID数字控制器中引入积分环节的目的主要是为了消除静差、提高精度,但在电机启动或停止时,会造成PID运算的积分积累,最终引起系统较大的超调,甚至引起系统的震荡,所以实际应用中宜采用积分分离PID控制算法。
设在偏差绝对值不小于某设定值 (偏差比较大)时采用PD算法,即
其中, y(k)为当前周期的输出值, y(k-1)为上一周期的输出值,r(k),u(k)分别为给定值和控制器的输出值,Td=0.035s, K=1.5, ε=0.1,定义传感器的采样周期Tm=10ms,数据计算、传感器数据采集和执行器的动作所产生的时间延时均为0.1ms。
在偏差绝对值小于设定值 ε(偏差比较小)时采用PID算法,即在PD算法的基础上加入积分环节:
其中积分时间常数Ti=0.15,I(k),I(k-1)分别为当前周期和前一周期的积分分量,在引进积分分离PID控制算法前后,网络控制系统的控制效果如图2所示。
图2 积分分离PID控制算法效果图
由图可见,采用一般PID控制算法时超调量超过45%,采用积分分离PID控制算法时超调量不超过5%,采用积分分离PID控制算法使得控制系统的动态性能有了很大改善。
3.2 仿真结果
以建立的网络控制系统仿真平台为基础,进行网络控制系统的仿真,研究网络调度对控制系统性能的影响。设定CAN总线的波特率为250Kbps,丢包率为0,使用一般的混合调度算法(MTS)进行仿真,其仿真结果如图3所示。图3(a)是四个控制子系统的方波响应,图3(b)是从网络调度(Schedule)窗口所看到的前三个采样周期的网络调度状况。
图3 应用混合调度算法时的仿真结果
由图3(a)可知,由于网络延时较大,其中两个控制子系统的动态响应较差,超调量超过14%,调节时间超过0.2s。在图3(b)网络调度状况图中,纵坐标表示节点号。根据CAN协议,节点号较小的节点具有较高的优先级,控制器节点1具有最高的优先级,传感器节点9具有最低的优先级。节点7、节点9的网络等待延时都较大(超过2ms),这是造成其中两个控制子系统动态性能较差的原因。随着网络节点的增多,最低优先级节点所在的控制子系统的动态性能会变得更差。
用本文所提出的改进的混合调度算法进行仿真,仅修改调度算法,其他条件不变,取 即 ,方波输入时的四个控制子系统响应及网络调度状况如图4所示。
图4 应用改进的混合调度算法时的仿真结果
由图4(a)可知,当用改进的混合调度算法进行网络控制系统的仿真时,超调量不超过5%,调节时间不超过0.13s,无静差。网络调度窗口的网络状况图4(b)表明,网络冲突还会出现,但网络延时较小。节点7和节点9的信息传输时刻和MTS算法相同,但是前两次的采样数据都由于时延太长而被抛弃,只有第三次的采样数据被成功传送。即使再增加节点,传感器节点的网络传输等待时延不超过1ms,比一般MTS算法大大减小。
4 结论
本文作者创新点:本文提出了一种改进的混合调度算法,在不改变实际采样周期的情况下减少了网络控制的时延,建立了基于CAN总线的多节点网络控制系统仿真平台,仿真结果证明了该算法在信息调度中的有效性。网络控制系统的信息调度算法对系统的实时性有着重要影响,设计合适的调度算法能够将网络传输延时限制在一定的范围内,本文仅在特定条件下对网络调度算法进行改进,对于适合各种条件的通用的信息调度算法需要进一步研究。