首页> 中国专利> 一种基于P坚持策略的CSMA工业控制网络调度方法

一种基于P坚持策略的CSMA工业控制网络调度方法

摘要

一种基于P坚持策略的CSMA工业控制网络调度方法:(1)等待触发器发出触发信号;(2)侦听工业网络;(3)对于工业网络上的数据发送端为控制器或传感器时,调度器按数据重要程度和网络负载估计情况计算该次发送数据包的发送概率;对于工业网络上的数据发送端为非实时数据发送端时,按网络负载估计情况计算发送数据包的发送概率;(4)按发送概率发送数据包;(5)对于控制器或传感器端,发送数据后,返回步骤(1);若工业网络发生冲突,调度器退避等待,返回步骤(1);(6)对于非实时数据发送端,发送数据后,则返回步骤(1),若工业网络发生冲突,则调度器退避等待,返回步骤(1),发送同一数据包。本发明针对网络不同发送端给出不同调度策略,调度过程在实现重要数据优先发送的前提下不需要全局信息,实现了全分散化网络调度,避免了由于网络上存在集中的调度器导致的瓶颈和可能的网络瘫痪问题。

著录项

  • 公开/公告号CN101431458A

    专利类型发明专利

  • 公开/公告日2009-05-13

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN200810239214.9

  • 发明设计人 秦世引;张淳;

    申请日2008-12-04

  • 分类号H04L12/413(20090101);H04L12/56(20060101);H04W74/08(20090101);

  • 代理机构11251 北京科迪生专利代理有限责任公司;

  • 代理人成金玉;卢纪

  • 地址 100083 北京市海淀区学院路37号

  • 入库时间 2023-12-17 21:53:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-02-05

    未缴年费专利权终止 IPC(主分类):H04L12/413 授权公告日:20110209 终止日期:20121204 申请日:20081204

    专利权的终止

  • 2011-02-09

    授权

    授权

  • 2009-10-21

    实质审查的生效

    实质审查的生效

  • 2009-05-13

    公开

    公开

说明书

技术领域

本发明涉及工业控制网络调度算法,特别涉及基于P坚持算法的CSMA(Carrier SenseMultiple Access)工业控制网络调度策略。

背景技术

网络控制系统(Networked Control System,NCS)是利用实时网络将在空间上分布的传感器、执行器、控制器以及执行其它功能的节点连接起来所组成的系统,其中网络是挂接在其上的各个节点相互通信的通道,各节点通过一定的调度策略分时占用网络,完成各自数据包的发送。

由于与传统的控制系统相比,NCS具有高系统可靠性、低维护成本、强抗干扰性以及便于系统安装集成和故障诊断等优势,网络控制系统已成为近几年控制领域研究的热点之一。

但在NCS中,时延、数据包丢失、乱序等问题会使系统控制性能恶化,甚至使系统不稳定。通过合理的网络调度策略,可以有效地降低时延、丢包和乱序等对控制性能的影响。目前常用的工业网络介质访问控制方法有:CSMA/CD(Carri er Sense MultipleAccess/Collision Detect)结构,如工业以太网;令牌环网,如PROFIBUS(ProcessFieldbus)总线、FIP(Factory Instrumentation Protocol)、P-NET总线、FF(FoundationFieldbus)、ControlNet总线等;基于优先级的总线结构,如CAN(Controller AreaNetwork)总线、DeviceNet总线等。

针对这些工业网络,目前常用的调度策略包括:静态调度策略、动态调度策略和混合调度策略。在静态调度策略中速率单调(Rate Monotonic,RM)是最为典型和广泛使用的静态调度策略,其根据采样频率确定优先级,采样回路越高,数据包的优先级就越高。当多个数据包竞争网络资源时,各数据包按照事先分配的优先级逐次发送,适合于NCS的周期数据。由于静态调度策略难以适应网络中信息流的时变性,人们提出了多种动态化的调度策略,以合理地利用网络资源。最大误差优先—尝试—一次丢弃(Maximum-Error-First with Try-Once-Discard,MEF-TOD)基于在线获取网络诱导传输误差,动态分配网络带宽,当多个节点发生冲突,最大权误差的节点优先传输数据;基于死区的调度策略在确保系统性能的基础上动态地丢弃一定比率的数据,以减轻网络负载;优先级提升—分布式优先级排队(Priority Promotion and Distributed PriorityQueue)通过扩展标识字段可以调度网络中的实时数据和非实时数据;基于时间窗的调度策略将基本传输周期分为周期时间窗和非周期时间窗,动态交替扩展两类时间窗传输数据,但要求离线分割好时间窗,且要求网络一些参数已知。考虑数据实时性要求不同,分别采用不同的调度策略,以提高网络资源的可调度性。如针对CAN总线的混合通信调度(Mixed Traffic Scheduler,MTS)等。

但是,目前针对调度策略的研究大多用于网络协议本身支持优先级的CAN总线等。令牌环网通过令牌在网络中的传递实现各节点顺序通信,使其通信具有最大的时延上限,并且时延抖动较小。但是其无法区分发送信息的紧急程度,各节点地位全部平等。对于加入调度机制的令牌环网和CSMA/CD网络,往往采用的方法是在网络中有一个指定的或自动生成维护的调度节点,该节点通过侦听网络获得网络全局信息,以全局优化为目标按照一定的调度策略制定网络中各节点的优先级,网络中其它节点在调度节点的统一调度下逐次占用网络资源进行通信。而这样的机制不但增加了网络负载,降低了通信效率;而且使得调度节点在网络中变得尤为重要,成为网络的瓶颈,其处理速度成为网络通信带宽最大利用率的重要影响,更为重要的是,若调度器损坏将使网络陷入瘫痪。

目前工厂的整体网络常采用分级结构,底层为现场级的工业网络,用于连接控制器、传感器、执行器以及监控站、工程师站等节点;上层采用以太网与企业的数据库、信息管理系统(Management Information System,MIS)等连接,甚至接入外部Internet。底层控制网络若使用专用的现场总线其安装和维护成本往往是很高的,并且与上层管理层进行信息交互需要进行协议转换,使网络结构复杂,不利于管理层对底层网络的直接访问和远程控制。所以,如何使控制层网络与管理层网络更加有效地集成是目前工业网络的一个发展趋势。而如何适应工业及网络的实时需要,同时能够与现有以太网络无缝集成,目前却少有突破性成果。

发明内容:

本发明的技术解决问题:克服现有的技术不足,提出一种基于P坚持策略的CSMA工业控制网络调度方法,该方法通过全分散化网络调度,避免了由于网络上存在集中的调度器导致的瓶颈和可能的网络瘫痪问题,实现工业网络的控制要求。

本发明的技术解决方案:一种基于P坚持策略的CSMA工业控制网络调度方法,其特点在于:工业网络上每个数据发送端均配有对应的调度器和与之配合的触发器,触发器为调度器工作周期性发出触发信号;调度器作为数据发送端与工业网络间的选通设备,决定数据是否发送、何时发送,具体调度方法如下:

(1)调度器等待触发器发出触发信号;

(2)调度器侦听工业网络,按照工业网络繁忙或空闲累积刷新其内的网络负载估计;

(3)对于工业网络上的数据发送端为控制器或传感器时,调度器从数据发送端接收待发送数据,按照数据的重要程度和步骤(2)中的网络负载估计情况,计算该次发送数据包的发送概率;对于工业网络上的数据发送端为非实时数据发送端时,调度器按照步骤(2)中网络负载估计情况计算发送数据包的发送概率;

(4)所有的工业网络上的数据发送端,按步骤(3)中计算的发送概率发送数据包;

(5)对于控制器或传感器端,若成功发送数据,则清空调度器中的积分器,返回步骤(1),重复执行步骤(1)—(4);若控制器或传感器端不发送数据,则累加调度器中的积分器,返回步骤(1),重复执行步骤(1)—(4);若工业网络发生冲突,则调度器退避等待,返回步骤(1),重复执行步骤(1)—(4);

(6)对于非实时数据发送端,若成功发送数据,则返回步骤(1),重复执行步骤(1)—(4),发送下一数据包;若不发送数据,返回步骤(1),重复执行步骤(1)—(4),发送同一数据包;若工业网络发生冲突,则调度器退避等待,返回步骤(1),重复执行步骤(1)—(4),发送同一数据包。

所述步骤(3)中对于控制器和传感器端,其数据的重要程度通过微分—积分的方式衡量,即a.本次发送数据与上次成功发送数据之差的范数越大,数据越重要;b.调度器中的积分器中累积的数字越大,数据越重要;两者同时考虑。

所述步骤(3)中的网络负载估计方法为:

若工业网络繁忙,则按下式(1)刷新估计值:

σk+1=β+(1-β)σk              (1)

若工业网络空闲,则按下式(2)刷新估计值:

σk+1=(1-β)σk                 (2)

其中0<β<<1,即接近于零,远小于1,σk为刷新前网络负载估计值,σk+1为刷新后网络负载估计值。

所述步骤(3)中的计算该次发送数据包的发送概率的公式为:

P=PPPmPmP>Pm---(3)

其中:P=1ασ+ϵx2,ε为常数,Pm为允许的最大发送概率。

所述的调度器退避等待时间按二进制指数算法得到,当等待时间到达,重置触发器,使触发器下一次发送触发信号时间为退避等待结束时间。

本发明与现有技术相比的优点在于:

(1)本发明针对传统的CSMA/CD网络用于工业控制网络中存在的诸多问题,通过修改必要的网络协议,建立了一种P坚持CSMA/CD网络,与传统的P坚持网络相比,该网络不修改帧格式,可以与传统以太网兼容,同时网络中不需要特定的调度器,消除了集中调度器这一网络瓶颈,避免了调度所占用的带宽,提高了网络有效利用率;去除了由于调度器失效造成网络整体瘫痪的隐患,提高了网络运行的稳健性;当网络中有新设备接入时网络设置仅需很小修改,甚至不需要修改,实现了网络设备的“即插即用”;控制器和传感器端在不需要发送数据时减少数据包的发送量,减轻了网络负载,在需要发送时可以有更快的响应,提高了系统的响应速度;非实时信号受限发送,不与实时信号争抢带宽;紧急信号有最高的优先级,可以在最短时间内通过网络传送。

(2)本发明通过积分-微分方式判断实时周期数据包的重要程度,进而决定数据发送的概率,通过本发明的方法既可以保证相对重要的数据包的发送,同时按网络负载适当压缩相对次要的数据包的网络占用。

(3)本发明可简单快速估计网络负载,从而对调度器工作起到辅助作用。

(4)本发明的计算数据包发送的概率综合考虑了网络负载情况和数据包重要程度,在概率意义下区分了紧急信号、相对重要的实时周期信号、相对次要的周期信号以及非实时信号的优先级。

(5)本发明利用二进制指数退避时间的随机性重置触发器,保证了网络中不会存在两个触发器的触发时间一直处于冲突时间内,从而避免了冲突在相同两个网络节点上频繁发生。

附图说明

图1为本发明现场级网络整体示意图,其中包括控制器端和执行器—被控对象—传感器端等发送实时周期信号的网络节点,以及其他发送紧急信号以及非实时信号的网络其它节点;

图2为本发明传感器端以及网络中用于控制单个被控对象控制器输出端调度器工作流程图;

图3为本发明单个控制器控制多个执行器时控制器输出端的调度器工作流程图;

图4为本发明非实时信号端的调度器工作流程图。

具体实施方式

本发明采用混合调度策略,共包含三种调度机制,分别应用于工业网络中传输的实时周期信号、非实时信号和紧急信号。

直接实现设备控制的现场级网络结构如图1所示,在每个节点的输出端加上调度器,各调度器间独立工作,仅对自身节点的输出与否加以控制,其调度器分为三种:

1.控制器、传感器端实时周期信号调度策略

采用时间触发方式,利用P坚持算法确定数据包是否被输送。

1)传感器端调度器、每个控制器控制单个被控对象时控制器输出端调度器,其调度器运行流程如图2所示。

i.当收到触发信号后刷新网络负载估计,调度器接收控制器欲传输的控制信号,否则等待。

ii.调度器根据控制信号重要程度和网络负载情况综合考虑,计算发送概率P。

iii.控制器按概率P发送数据包,若成功发送,则回到步骤i;若未发送,则运行步骤iv,若发生冲突,则运行步骤v。

iv.累加积分器,回到步骤i。

v.利用二进制指数退避算法等待一定时延,重置触发器,回到步骤i。

2)单控制器控制多个被控对象时控制器输出端调度器

其调度器运行流程如图3所示。

i.收到触发信号,调度器接收欲发送给各执行器的控制信号。

ii.调度器根据控制信号重要程度和网络负载情况综合考虑,计算发送概率Pi,i=1~N。

iii.将Pi按照从大到小顺序排列,形成新概率数组P[i]

iv.令i=1。

v.若网络空闲,则按概率P[i]发送数据包,若不发送,则i=i+1,返回步骤v。

vi.若发生冲突,则按二进制指数退避算法等待一定时延,重置触发器,并返回

步骤i。

vii.若未全部发送完成时收到触发信号,则对所有输出量运行积分器,刷新网络负载估计,并重新对P[i]排序,返回步骤iv。

viii.返回步骤i。

2.非实时信号调度策略

其调度器运行流程如图4所示。

i.收到触发信号,则跳至步骤ii,否则等待。

ii.若网络空闲且仍有数据包发送,则刷新网络负载估计,按指定概率Pc发送数据包。若不发送,则跳至步骤i,若发生冲突,则跳至步骤iii,若发送成功,或无数据包等待发送,则返回步骤i。

iii.按二进制指数退避算法等待一定时延,重置触发器,返回步骤i。

3.紧急信号调度策略

按传统以太网调度策略发送。

本发明共设计三种调度策略,分别针对发送控制信号和传感器信号的周期性实时信号的网络节点;发送大量非实时信号的网络节点;发送紧急信号的网络节点。

下面对这三种调度策略分别进行详细说明:

一、控制信号、传感器信号调度策略:

设某控制器欲输出的控制信号或某传感器欲输出传感信号为Y,其最大输出量为Ymax。如图1所示,时间触发器每Tt时间向调度器发出触发信号。假设执行器端设有零阶保持器(Zero Order Holder,ZOH),控制器、传感器输出端带有一个单位的缓存,用于存储准备发送的数据Y,当有新数据准备发送时,将自动刷新缓存中的内容。调度器带有两个单元的缓存,其一用于存储上一次成功发送的输出信号Yl,另一个作为积分器存储。

(一)、传感器端、控制单执行器控制器端调度策略:

1、初始化调度器:积分器清零I=0,网络负载估计量σ=0,Yl=0;

2、若收到触发器触发信号,刷新网络负载估计:

侦听网络,设刷新前σ值为σk,刷新后σ值为σk+1

若网络繁忙,则

σk+1=β+(1-β)σk               (1)

若网络空闲,则:

σk+1=(1-β)σk                 (2)

其中0<β<<1。

3、调度器从缓存中提取最新输出信号Y和上一次成功发送的数据信号Yl

4、计算x值,用以表征发送量重要程度:

x=Sd||Y-Yl||||Ymax||+SiI||Ymax||---(3)

计算发送概率P:

P=1ασ+ϵx2---(4)

P=PPPmPmP>Pm---(5)

其中ε为一很小的正数;Pm为允许的最大发送概率,一般Pm<1。

5、侦听网络,若网络忙则运行积分器,返回步骤2,若网络空闲,则产生0~1的服从均匀分布的随机数r,若P≥r则转至步骤6,若P<r则转至步骤7。

6、发送数据Y,同时侦听网络。若发送成功,则运行步骤8;若网络发生冲突,则运行步骤9;若其它原因发送失败,则运行步骤10。

7、不发送数据,运行积分器。设刷新前I值为Ik,刷新后I值为Ik+1,则:

Ik+1=Ik+‖Y-Yl‖               (6)

等待触发器信号,跳至步骤2。

8、清空积分器。

Ik+1=0                           (7)

等待触发器信号,跳至步骤2。

9、按二进制指数退避算法等待时延,其间若检测到触发信号,则按式(6)运行积分器。等待时延到,将触发器下一次触发信号发出时间置为等待时延到达时刻。跳至步骤2。

10、按式6运行积分器,跳至步骤2。

(二)、控制多执行器控制器端调度策略:

设某控制器通过网络对N个执行器进行实时控制,其输出的控制信号依次为:Y1,Y2,...,YN;上次输出成功的控制信号依次为:Yl1,Yl2,...,YlN;对各被控对象设置积分器I1,I2,...,IN

1、初始化调度器:网络负载估计量σ=0,I1=0,I2=0,...,IN=0,Yl1=0,Yl2=0,...,YlN=0。

2、若收到触发,则按式(1)、式(2)刷新网络负载估计。

3、调度器从缓存中提取各最新输出信号Yj(j=1~N)和各上一次成功发送的数据信号Ylj(j=1~N)。

4、计算各x值:

xj=Sdj||Yj-Ylj||||Ymax>||+SijIj||Ymax>||>>>>>j=1~N---(8)

计算发送概率P:

Pj=1ασ+ϵxj2---(9)

Pj=PjPjPmPmPj>Pm---(10)

5、将Pj按照从大到小顺序排列,形成新概率数组P[j],对应所控制的执行器组A[j],控制信号Y[j],上一次发送成功的控制信号Yl[j],积分器I[j]

6、令j=1。

7、侦听网络,若网络空闲,则按概率P[j]向执行器A[j]发送控制信号Y[j]。若发送,则跳至步骤9。若不发送,则跳至步骤8,若发生冲突,则跳至步骤11。

8、累加积分器。设刷新前I[j]值为I[j]k,刷新后I[j]值为I[j]k+1,则:

I[j]k+1=I[j]k+‖Y[j]-Yl[j]‖          (11)

9、若发送成功,则清空相应积分器:I[j]=0。若j<N则令j=j+1,回到步骤7,否则令j=1回到步骤2。

10、若收到触发信号时尚未全部发送完成,则对j=1~N运行式(11)的积分器后回到步骤(2)。

11、按二进制指数退避算法等待时延,其间若检测到触发信号,则按式(11)运行积分器。等待时延到,将触发器下一次触发信号发出时间置为等待时延到达时刻。回到步骤2。

二、非实时信号调度策略:

1、初始化调度器:网络负载估计量σ=0。

2、若收到触发信号,且缓存队列中有数据发送,则侦听网络,若网络空闲,则按式(12)、式(13)计算发送概率,并按概率发送数据:

Pc=1ασ+ϵcxc2---(12)

Pc=PcPcPcmPcmPc>Pcm---(13)

其中xc为常数,一般要求Pcm<1α+ϵSdj2.

3、刷新网络负载估计:若网络忙,或自身有数据包需要发送,则按式(1)刷新σ,否则按式(2)刷新σ。

4、若数据包发送成功或不发送,则返回步骤2,若发生冲突,则按二进制指数退避算法等待时延,等待时延到,将触发器下一次触发信号发出时间置为等待时延到达时刻。回到步骤2。

三、紧急信号调度策略:

若有紧急信号需要发送,则侦听网络,若网络空闲,则立即发送,若网络繁忙,则一直侦听网络,直至网络空闲立即发送。若发生冲突,则按二进制指数退避算法等待时延后再侦听网络,等待发送。

由上述步骤可知,若不考虑冲突,设每个数据包发送时间为tb,则紧急信号的发送等待时间不小于te的概率P(t≥te)满足式(14),其中表示上取整。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号