周 侗 胡静涛 杨志家
(中国科学院沈阳自动化研究所1,辽宁 沈阳 110016;中国科学院研究生院2,北京 100039)
运动控制系统中的控制任务分散在不同的网络节点中,控制任务的实现需要节点间交互大量的信息。控制任务对信息传递的确定性和实时性提出了很高的要求[1-2]。同时,控制任务的执行与网络通信也是相互影响的,较高的信息采样频率会提高系统整体控制性能,但也会增加网络调度的负担,甚至会反过来影响控制任务的运行。
运动控制网络调度方法主要研究如何更好地协调控制任务的需求和网络调度性能的关系,在避免网络冲突的基础上,满足控制任务在通信确定性和实时性方面的需求。其研究内容主要包括两个方面:①信息传输的确定性,即研究如何有效控制节点对通信通道的访问,以避免网络冲突现象的发生;②信息传输的实时性,即研究如何给网络中的某个节点中的某个任务分配相应的时间和网络资源,并对相关资源的使用给予严格的时间约束,从而满足系统整体上对时间和网络资源的需求[3-4]。
传统网络技术也提供了相应的网络冲突管理机制,如以太网使用载波监听多路访问/冲突检测机制(carrier sense multiple access with collision detection,CSMA/CD)协议来解决网络冲突问题。在追求高速度、高精度、高智能化的运动控制系统中,这些机制已不能满足系统对网络平台在确定性和实时性等方面的要求。本文针对运动控制系统的特点,提出了一种解决运动控制网络调度问题的方法。
目前,主流运动控制网络模型大多以以太网技术为基础,如 EtherCAT、Sercos-III、Powerlink 等,并建立在开放系统互连(open system interconnection,OSI)七层网络模型的基础上。
运动控制网络系统有着自己的特点:一是网络规模较小,大多在32点到64点之间;二是工作周期短,一般在毫秒和微秒的量级;三是对时钟同步精度要求高,较高的同步精度要求应该在100 ns以下;四是在对通信实时性水平要求更高的场合,网络通信协议的处理需要通过硬件(如ASIC)解决方案来实现[5-6]。
大部分运动控制网络技术采用了OSI七层网络中的三层结构,即物理层、数据链路层和应用层,OSI模型中其他层的部分功能被分配到应用层和数据链路层中实现,如图1所示。
图1 基本运动控制网络协议模型Fig.1 Basic motion control network protocol model
运动控制应用在速度、通信速率、控制精度等方面的需求对运动控制网络也提出了新的挑战,传统的以太网技术已不能满足运动控制应用的需求。EtherCAT和SynqNet网络技术扩展了IEEE 802.3规范定义的帧格式,开发了特殊的以太网通信控制器,大幅度提高了网络带宽利用效率。为了进一步提高运动控制网络的性能,一些公司还推出了专用以太网通信控制芯片,如德国BECKHOFF公司推出了专用于EtherCAT的ET1200和ET1100以太网控制芯片,而Profinet总线中的同步实时通信方式也必须在专用以太网控制芯片上才能实现。以上所述运动控制网络技术虽然都基于以太网技术,但并不能实现互连互通,且个别技术必须借助于特殊的硬件解决方案才能发挥作用。
从网络拓扑结构来看,运动控制系统常采用星型拓扑、总线拓扑和环形拓扑等。其中,星型拓扑因其控制简单、总线拓扑因所需要的电缆数量少而得到广泛应用,如EtherCAT就常用环形总线拓扑(即菊花链结构),如图2所示。在环形总线拓扑结构中,当总线中间出现一点故障时,系统运行不会受到影响。
图2 环形总线拓扑结构示意图Fig.2 Schematic drawing of the ring bus topological structure
另外,从安全的角度考虑,运动控制网络应该与外部网络相隔离。外部网络访问运动控制网络内节点时必须通过“网关设备”来进行,网关设备一般为工程师站或主控制器。
分析运动控制网络调度模型需要从两个层面进行,即面向通信介质的调度和面向应用的调度。在面向通信介质的调度层面上,不同类型数据的发送控制是由通信协议来控制的(不包括物理层的冲突避免机制,如CSMA/CD)。面向应用的调度是从工程师的视角看待调度问题。在这个网络调度层面上,数据的发送控制是由应用程序来控制的。调度算法主要关心控制任务的工作周期、系统范围内输入/输出数据配置、设备参数的访问操作、系统可靠性设计等[7-8]。本文主要研究面向通信介质的网络调度模型。
通信协议框架结构是指通信协议部分的结构定义,是网络调度实现的基础。为了支持面向通信介质的调度模型,本文在应用层和数据链路层之间加入了网络调度管理子层。网络调度管理子层的出现使得应用层与数据链路层之间的数据交换体现出“柔性关联”的关系,即应用层与数据链路层之间的数据交换过程都经由“网络调度管理子层”进行缓冲和管理。运动控制网络调度模型如图3所示。
图3 运动控制网络调度模型Fig.3 Motion control network scheduling model
网络调度管理子层负责网络时钟同步操作,且根据网络调度算法来管理要发送到网络上的数据。它同时维护一个实时数据缓冲区组、一个非实时数据队列和一个重发数据队列,实时数据缓冲区组用于保存待发的实时数据,非实时数据队列用于保存待发送的非实时数据。需要注意的是,实时数据采用缓冲区保存方式,新的数据可以覆盖旧的数据;非实时数据采用先进先出(first input first output,FIFO)方式保存,当队列已满时,可以根据事先制定的原则清理最早进队的数据。重发数据队列用于保存待重发的非实时数据,重发数据同样采用FIFO的方式保存。网络管理子层结构如图4所示。
图4 网络管理子层结构Fig.4 Structure of the network management sub-layer
运动控制网络调度算法主要是在用户层设计并实现的,但其结果会下载到通信协议中,通信协议中的“网络调度管理子层”会根据其结果来控制网络数据的发送。结合运动控制系统的特点,这里主要考虑以下几个问题:时钟同步方法、实时数据和非实时数据的传输管理、数据重发管理等,其中加入数据重发管理功能的目的是进一步提高运动控制网络数据传输的确定性。
时钟同步方法在此采用IEEE 1588精密时钟同步协议,时钟同步报文作为非实时数据在非实时窗口中传输。为了减少时钟同步报文对网络传输负荷的影响,网络设备不会在每个工作周期都进行时钟同步操作,每个设备会根据时钟偏差的情况自行确定时钟同步操作的时机。设备发送到网络上的数据分为实时数据和非实时数据,原则上与控制应用相关的数据属于实时数据,其他诸如设备配置、时钟同步报文等都属于非实时数据。
网络调度算法主要负责管理实时数据、非实时数据和重发数据的发送。本文中的网络管理算法引入了“时间窗口”与优先级相结合的调度模式。每个工作周期内除了“实时窗口”和“非实时窗口”外,还引入了“重发窗口”。在“实时窗口”中,为每个待发送数据分配了相应的时间段即SLOT,其取值保证了对应的实时数据的可靠传输且不会发生网络冲突。“非实时窗口”用于发送非实时数据,包括参数访问服务数据、时钟同步报文等。“重发窗口”主要解决通信过程中由于某种原因引起的通信失败问题,包括丢包、帧错误等,这也是保证运动控制网络通信可靠性而采用的一个重要举措。在没有数据需要重发时,“重发窗口”可用于发送非实时数据。在“非实时窗口”和“重发窗口”中,待发送数据根据各自优先级的高低进行排队;重发数据的优先级随重发次数的增加而逐次递增,当重发次数超过重发上限时则不再重发。网络调度管理子层模型如图5所示。
图5 网络调度管理子层模型Fig.5 Model of network scheduling management sub-layer
网络通信的确定性和实时性是运动控制网络系统的研究热点,而完善的网络调度模型则是保证运动控制网络通信确定性和实时性的基础。
本文主要研究了面向通信介质的网络调度模型,结合运动控制网络的特点,在通信协议中加入了网络调度管理子层。网络调度管理子层采用时间窗口形式,引入了“重发窗口”,并对不同特点的数据进行分类管理和发送,考虑了数据传输的实时性、确定性和网络带宽利用率之间的平衡。实际应用表明,该网络调度方法运用效果良好,达到了预期目标。今后研究工作将进一步完善该调度模型,提高其实用性。
[1] Eker J ,Hagander P,Arzén K E.A feedback scheduler for real time control tasks[J].Control Engineering Practice,2000,8(12):1369 -1378.
[2] Chen Jiming,Wang Zhi,Sun Youxian.A basic study on algorithm of realtime schedule table for fieldbus[C]//Intelligent Control and Automation,Proceedings of the 4th World Congress on,2002:1760 -1763.
[3] Yin Jinyong,Guo Guochang.An algorithm for scheduling aperiodic real-time tasks on a static schedule[C]//ICIC’09,Second International Conference on,2009:70 -74.
[4] 陈丹丹,夏立,王海峰.网络控制系统中网络调度算法的研究现状与展望[J].化工自动化及仪表,2008,35(2):1 -6.
[5] 王艳,陈庆伟,樊卫华,等.网络控制系统控制与调度协同设计的研究进展[J].兵工学报,2007,28(1):101 -106.
[6] Feng Xia.Integrated feedback scheduling of networked control systems[J].Journal of Dynamics of Continuous Discrete and Impulsive,System Series B,2006.
[7] Marti P,Fohler G,Ramamritham K,et al.Improving quality-ofcontrol using flexible timing constraints:metric and scheduling issues[J].Real-Time Systems Symposium,2002.
[8] Gerard L,Nicolas R.Real-time communications over broadcast networks:the CSMA-DCR and the DODCSMA-CD protocols[J].INRIA Report RR-1863.