实时控制系统中CAN总线丢帧及延时的补偿研究

2020-08-03 01:50施卫科孙京阳
计算机测量与控制 2020年7期
关键词:延时总线补偿

郑 宇,张 健,施卫科,安 东,孙京阳

(北京临近空间飞行器系统工程研究所,北京 100076)

0 引言

CAN总线作为一种总线技术,目前已经在工程机械、汽车等工业领域中得到了广泛的运用。CAN总线在通信过程中会出现随机延时,在运行过程中,可能会因为线缆老化、受到电磁干扰以及接触不良等原因造成通信出现故障,并且此时通信延时更加严重,甚至造成通信丢帧。因为很多工业设备都是采用CAN总线进行控制,一旦出现了通信延时及通信丢帧,控制系统性能会大幅度下降,甚至很可能会使设备损坏。针对CAN总线系统的上述缺陷实施补偿,使其不利影响得以消除,就能使控制系统的性能大幅度提升,增加工业设备的通信系统的可靠性。

相比于其他总线技术,CAN总线的通信机制最大的特点是对通信负载非常敏感。一旦通信负载增加,通信性能会大幅度下降,现有的补偿方法基本无法实现在通信负载不增加的前提下补偿通信的延时以及丢帧,所以研究更为有效的补偿方法是非常必要的。只有确保CAN总线通信过程中出现的通信丢帧及延时得到有效的补偿,才能确保CAN总线控制系统达到最佳控制性能。

根据以上分析,本文提出了一种分布式CAN总线通信补偿方案;以SISO系统为例,对输出反馈控制系统的补偿方案进行了详细的介绍。该方案能够在确保CAN总线通信性能的基础上,让控制系统更高效率、高安全性地运行。

1 通信延时及通信丢帧概述

图1 CAN总线节点示意图

CAN总线系统本质上是一个分布式结构并采用串行通信实现的网络系统,拓扑结构示意图如图1所示。CAN总线系统的主体是一条CAN总线,总线上存在若干节点,任意节点均可在任意时刻主动向网络上其它节点发送信息[1],这些节点根据报文标识符确定总线访问优先权,因此各节点之间可以实现自由通信。当CAN总线出现严重通信错误,在当前的消息周期里,一些消息无法实现正常传输,这是通信丢帧。通过上述分析能够得知,对于CAN总线系统而言,其通信延时是固有特性,是具体的传输情况决定的,通信丢帧数量主要取决于具体的故障程度。

1.1 通信延时及丢帧产生机理

按照CAN总线通信机制进行分类,消息m的通信延时能够分为两个部分,一是通信过程延时,二是通信错误恢复时间,通过下式表示:

τm=Rm+Em

(1)

Rm代表消息m通信过程延时,表示当没有出现通信错误的时候,消息传输的每一个环节所对应的执行时间以及等待时间长短;Em代表消息m在通信过程中通信错误恢复时间大小,表示消息发送失败所占用的时间长短;τm代表消息m总的通信延时大小;

其中,常规状态下的通信错误恢复时间具体表示为:

τm=Ce+te+φe

(2)

在上式中,Ce代表发生通信错误出现以前,消息位流已经传输的时间长短;te代表整个通信错误持续的时间长短;φe代表发生通信错误时,其他所有消息的总传输时间长短。

但实际上,通信错误发生的时机和恢复时间是不同的[2],因此消息传输一般受到的影响主要有以下3种:

1) Error1:CAN总线消息传输过程中发生通信错误,同时错误持续时间较短,就会造成通信延时变大。

2) Error2:CAN总线处于空闲状态下发生通信错误,此错误不会对通信延时长短造成影响。

3) Error3:CAN总线消息传输过程中发生通信错误,同时错误持续时间较长,就会造成出现通信丢帧。

通过上述分析,错误恢复时间可表示如下:

1.2 通信延时及丢帧主要特点

对通信丢帧及延时所具有的特点进行了归纳如下。

1)随机性:

①处于不同消息周期时,相同ID的消息所对应的延时不同;

②通信延时具有一定的随机性,很难预知其大小;

③通信延时所具有的统计特性无法进行有效确定;

④通信丢帧的出现具有一定的随机性,丢帧数量也具有一定随机性。

所以无法利用理论模型对通信丢帧及延时进行计算以及预测,只有对实际情况具体问题具体分析。

2)测量局限性:

因为每一个节点都是异步时钟,因此无法实现直接测量通信延时;

(3) 有限性:

由于CAN总线的覆盖发送方式,所以通信延时Rm一定会小于消息m的一个周期Tm,也是:

Rm

(4)

在出现通信丢帧的时候,一旦错误计数器的数值到达256,节点就会和总线脱离,相应的补偿就没有任何意义,所以对连续丢帧的数量N进行下列约定:

N≤[255/8]=31

(5)

1.3 通信延时及丢帧的影响

一旦CAN总线在通信过程中出现了延时以及丢帧,系统所对应的目标控制量以及输出都会发生变化。对于控制量而言,所有控制周期里面对应的实际控制动作都会受到延时以及丢帧的影响,最终使得控制系统的输出发生改变。

一般控制作用所产生的变化是由这两个因素所造成的:一是控制指令受到延时以及丢帧的影响并不准确;二是在实际情况下,系统与当前控制量并不是匹配的。所以如果可以减少上述两种影响,那么控制性能就能够显著提高。

实际情况下,控制系统反馈信号所发生的通信丢帧及延时会减少其作用时间,造成控制器通过之前的系统输出决定现阶段控制量,就会产生一定的偏差[3]。

2 总体补偿方案设计

综上分析,为了避免补偿方案增加总线负载,影响通信效果,本文提出通过一种分布式结构对补偿方案进行设计,增加控制补偿器及反馈补偿器进行实时补偿[4],如图2所示。

图2 补偿方案示意图

2.1 补偿方案原理

1) 控制补偿方案原理:

针对只有通信延时的情况,控制补偿的主要目的是在将控制指令接收到以后,修正其值从而符合以下条件:

(6)

(7)

2)反馈补偿方案原理:

令补偿之后的反馈信号基本等于现阶段真实信号,也就是:

(8)

如果补偿之后控制信号和反馈信号与期望值相差较小,那么补偿之后的控制系统所具有的控制性能基本可以达到期望的控制性能。

2.2 补偿方案的关键要素

在实际的CAN总线实时控制系统中,补偿器的设计方案会视具体情况具体决定[6],本文选择比较常见的输出反馈控制系统进行研究。

按照输出反馈控制系统工作原理,系统输出由以下三点决定:1)过去时刻的实际输出;2)过去时刻的实际控制量;3)被控对象的模型[7]。在控制器端明确以上3个要素的话,则能够补偿反馈信号。

同样按照输出反馈控制系统工作原理,系统控制量也能够通过以下三要素计算出来:1)当前时刻的实际输出;2)目标输入信号;3)控制率[8]。在被控对象端得到以上这3个要素,就能够补偿控制信号。

其中,当前时刻的实际输出以及被控对象模型是已知的,而过去时刻的实际控制量、过去时刻的实际输出、目标输入信号以及控制率是未知的。针对上述问题的处理方案如下:

1)过去时刻实际控制量:

由控制器过去时刻控制量计算值进行替代[9]。误差为控制补偿的精度带来的误差。

2)过去时刻的输出:

由过去时刻完成补偿之后的反馈信号进行替代。误差为反馈补偿的精度所决定的。

3)目标输入信号:

一般在实际CAN总线控制系统中,为了能够有效的确保控制系统具有较好的性能,控制频率会比目标输入信号的频率大很多[10]。所以在若干个相邻的空置周期里面,目标输入的变化通常并不大。所以可以通过最新接收的控制指令对目标输入信号采用逆求的方式求出。

4)控制率:

在这里控制率利用编程嵌入。

3 输出反馈控制系统的分布式补偿方法

3.1 研究对象的系统模型

本章以图3所示模型作为研究对象,在此模型中,e(k)表示系统输出误差,Kf表示状态反馈增益矩阵,Gc(z)表示离散控制器,G(s)表示线性被控对象。

图3 输出反馈控制的线性SISO系统模型结构示意图

为了便于分析,忽略系统的不确定性以及噪声,假设控制器是确定的线性控制器,下式表示其等效离散模型:

(9)

3.2 分布式补偿方法

根据图3可见, CAN总线的通信丢帧及延时改变了系统反馈信号值y′(k)以及目标控制量u′(k),所以补偿的目的是对实际作用的目标控制量以及反馈信号值进行有效的修正。

因为在控制系统里,反馈信号值是系统输出,所以根据式(9),通过过去时刻的反馈信号控制量修正补偿反馈信号;控制补偿可以消除不同控制作用的差异,因此补偿反馈信号值时可假设控制作用不变,用u(k)进行相应的反馈补偿[11]。

图4所示是分布式补偿方法的示意图。在该方法中,控制补偿器与反馈补偿器两者若想要达到较好的补偿效果,就需要被控对象模型具有较小的误差[12]。另外因为本分布式补偿方法无需在电控单元与控制器间进行额外的信息传输,因此CAN总线通信负载并不会由于补偿方法而增大。

图4 分布式补偿方法示意图

3.3 反馈补偿器

线性时不变系统的输出信号为:

y(k)=A(z-1)·u*(k)+B(z-1)·y(k)

(10)

在上式中,A(z-1)·u*(k)代表过去时刻对应的实际控制量,B(z-1)·y(k)代表过去时刻对应的系统输出。

在反馈通道发生通信丢帧时,能够通过式(10)对丢失的反馈信号进行估计。在控制器端能获得的是过去时刻所对应的计算控制量A(z-1)·u(k)以及过去时刻对应的反馈信号B(z-1)·y*(k)和A(z-1)·u*(k),而B(z-1)·y(k)无法得知。在这个时候能够通过下面的式子补偿反馈信号:

(11)

(12)

同时反馈补偿误差大小是:

≈Gc(z)[r(k)-Kfy(k+τca(k))]

(13)

ε(k)是由反馈补偿误差以及控制补偿误差共同决定的。在单步补偿误差的很小的时候,式(11)引起的累计误差并不明显。为了使得反馈补偿效果更好,首先系统模型参数A(z-1)以及B(z-1)要尽可能准确,其次控制补偿器补偿效果要要尽可能好。

3.4 控制补偿器

理论上控制器的目标控制量如式(14)所示:

(14)

控制量增量如式(15)所示,其中r(k)是目标输入信号,其在现阶段控制周期是未知的。

u(k)=u(k-1)+

(15)

(16)

针对控制量通信延时的情况,根据控制量的变化情况具体分量两种。

1)当系统输出靠近参考输入的时候,控制量逐渐减小,这个时候u(k)u(k-1)。在第k个周期里面,通过一个适当大于u(k)的控制量作用在时段[(k+τca(k))Tc,(k+1)Tc],那么就能够让实际的控制作用和期望更为接近。

通过上面的这些原理分析,得出如下式所示的通信延时近似补偿方式:

(17)

其中:

Gc(z)[r(k)-Kfy(k+τca(k))]

(18)

4 试验仿真

1)试验设置:

如图5所示是仿真模型示意图,在这个模型当中,控制器使用PI控制算法,控制周期是10 ms。CAN总线通信丢帧及延时都是通过一阶保持环节以及随机信号发生器进行模拟的。

图5 仿真模型示意图

模型当中的被控对象,也就是“ESS model”所使用的是在某一个固定姿态下的混合动力挖掘机电动回转系统传递函数模型,对应表1中参数一。参数二主要的作用是仿真分析模型误差所产生的影响。为了便于进行描述,在表2中,归纳了这次仿真试验的每一种设置情况。

表1 模型参数

表2 模型设置

这里为了控制试验变量,使用了几组固定的通信丢帧及延时。其中通信延时分别是3 ms、6 ms以及9 ms,连续丢帧数一共设置了31种情况,分别是1~31个。输入信号选择500 rpm的阶跃信号。在进行试验仿真补偿之前以及完成补偿试验之后,分别使用的分别是表2里面A组以及B组的设置。

2) 试验仿真结果:

如图6所示是一组没有进行补偿的系统输出曲线,主要的作用是对通信丢帧及延时如何影响系统进行观察。图中可见,通信丢帧及延时会在一定程度上增大系统的超调量,并减少系统的响应时间。并不会影响系统的稳态输出误差大小。所以,本章主要对响应时间以及超调量这两个指标进行研究。

图6 未补偿的系统输出试验结果

回转系统平台具有较大的惯性,不论是超调量增大,还是响应变快,都会影响到回转电机的电机轴。

如图7所示是试验仿真结果。因为连续丢帧数在比10帧大的时候,系统就会出现失稳的情况,因为这里所给出的数据都是小于10帧的情况。

图7 未补偿的超调量和响应时间试验结果

通过图 7(a)能够看出,在连续丢帧数不断增加的情况下,系统阶跃响应超调量的大小也在不断增加。延时越大,相应的系统就会有越大的超调量,造成这一现象的主要原因就是由于处于加速阶段的时候,相比于后一个控制周期而言,前一个周期所对应的目标转矩更大。在发生通信丢帧后,加长了前一个控制量的作用时间,因此也就会加大整体的控制作用,最终造成系统出现了较大的超调量。

通过图 7(b)能够看出,连续丢帧数越大,系统阶跃响应时间越大;延时时间越大,系统阶跃响应时间越小。在连续丢帧数大于某一个值的时候,系统阶跃响应时间的影响就会慢慢降低。图中可见,在连续丢帧数小于9帧时,相比于正常情况响应时间要小;但是大于9帧的时候,相比于正常情况阶跃响应要慢一些。造成这种现象的原因是丢帧数量太多造成总体的控制作用偏向于不足的方向,因此就会造成加速缓慢。

图8所示为不同的通信延时及丢帧状况下,加入补偿后的仿真结果。对比图7结果可以看出对通信延时与丢帧的补偿效果均十分显著,可明显控制超调量,并增大系统响应时间。但在大于8帧的情况下,出现了补偿过度的情况,此时系统所具有的控制性能变差。

图8 补偿后的超调量和响应时间试验结果

通过试验结果可以看出,本文所提出的补偿方法可以在一定范围的丢帧数以内抑制通信延时及丢帧造成的系统响应超调,改善系统响应时间,使控制效果更接近理想状态。

5 结束语

本文详细研究了基于有限带宽前提下的CAN总线通信丢帧及延时补偿问题。根据通信延时及丢帧的机理,提出了一种分布式补偿方案,针对补偿器设计所存在的一些共性问题进行了详细的探讨。将该补偿方法应用到了线性SISO系统中,针对性的提出了一种基于被控对象模型的反馈补偿器以及一种基于系统控制率的控制补偿器。后续的建模仿真结果显示,本文所提出来的补偿方法能够在一定丢帧数减小通信丢帧及延时所造成的不利。

本文所给出的方法能够在不对CAN总线通信性能造成任何影响的前提下,有效的确保控制系统以较高的效率以及安全性运行。该方法也对其它类似的网络控制系统提供了通信补偿的参考思路,有着一定的借鉴意义。

猜你喜欢
延时总线补偿
一种霍尔传感器温度补偿电路及其补偿方法
中国耕地生态保护补偿的省级差序分区及补偿标准
课后延时服务
课后延时中如何优化不同年级学生活动效果
关于CAN总线的地铁屏蔽门控制思路论述
解读补偿心理
一种“死时间”少和自动校准容易的Wave Union TDC
宋湘延时答妙对
农村土地征收删除补偿上限
Q&A热线