周 侗 胡靜濤 楊志家
(中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所1,遼寧 沈陽(yáng) 110016;中國(guó)科學(xué)院研究生院2,北京 100039)
運(yùn)動(dòng)控制系統(tǒng)中的控制任務(wù)分散在不同的網(wǎng)絡(luò)節(jié)點(diǎn)中,控制任務(wù)的實(shí)現(xiàn)需要節(jié)點(diǎn)間交互大量的信息??刂迫蝿?wù)對(duì)信息傳遞的確定性和實(shí)時(shí)性提出了很高的要求[1-2]。同時(shí),控制任務(wù)的執(zhí)行與網(wǎng)絡(luò)通信也是相互影響的,較高的信息采樣頻率會(huì)提高系統(tǒng)整體控制性能,但也會(huì)增加網(wǎng)絡(luò)調(diào)度的負(fù)擔(dān),甚至?xí)催^(guò)來(lái)影響控制任務(wù)的運(yùn)行。
運(yùn)動(dòng)控制網(wǎng)絡(luò)調(diào)度方法主要研究如何更好地協(xié)調(diào)控制任務(wù)的需求和網(wǎng)絡(luò)調(diào)度性能的關(guān)系,在避免網(wǎng)絡(luò)沖突的基礎(chǔ)上,滿(mǎn)足控制任務(wù)在通信確定性和實(shí)時(shí)性方面的需求。其研究?jī)?nèi)容主要包括兩個(gè)方面:①信息傳輸?shù)拇_定性,即研究如何有效控制節(jié)點(diǎn)對(duì)通信通道的訪(fǎng)問(wèn),以避免網(wǎng)絡(luò)沖突現(xiàn)象的發(fā)生;②信息傳輸?shù)膶?shí)時(shí)性,即研究如何給網(wǎng)絡(luò)中的某個(gè)節(jié)點(diǎn)中的某個(gè)任務(wù)分配相應(yīng)的時(shí)間和網(wǎng)絡(luò)資源,并對(duì)相關(guān)資源的使用給予嚴(yán)格的時(shí)間約束,從而滿(mǎn)足系統(tǒng)整體上對(duì)時(shí)間和網(wǎng)絡(luò)資源的需求[3-4]。
傳統(tǒng)網(wǎng)絡(luò)技術(shù)也提供了相應(yīng)的網(wǎng)絡(luò)沖突管理機(jī)制,如以太網(wǎng)使用載波監(jiān)聽(tīng)多路訪(fǎng)問(wèn)/沖突檢測(cè)機(jī)制(carrier sense multiple access with collision detection,CSMA/CD)協(xié)議來(lái)解決網(wǎng)絡(luò)沖突問(wèn)題。在追求高速度、高精度、高智能化的運(yùn)動(dòng)控制系統(tǒng)中,這些機(jī)制已不能滿(mǎn)足系統(tǒng)對(duì)網(wǎng)絡(luò)平臺(tái)在確定性和實(shí)時(shí)性等方面的要求。本文針對(duì)運(yùn)動(dòng)控制系統(tǒng)的特點(diǎn),提出了一種解決運(yùn)動(dòng)控制網(wǎng)絡(luò)調(diào)度問(wèn)題的方法。
目前,主流運(yùn)動(dòng)控制網(wǎng)絡(luò)模型大多以以太網(wǎng)技術(shù)為基礎(chǔ),如 EtherCAT、Sercos-III、Powerlink 等,并建立在開(kāi)放系統(tǒng)互連(open system interconnection,OSI)七層網(wǎng)絡(luò)模型的基礎(chǔ)上。
運(yùn)動(dòng)控制網(wǎng)絡(luò)系統(tǒng)有著自己的特點(diǎn):一是網(wǎng)絡(luò)規(guī)模較小,大多在32點(diǎn)到64點(diǎn)之間;二是工作周期短,一般在毫秒和微秒的量級(jí);三是對(duì)時(shí)鐘同步精度要求高,較高的同步精度要求應(yīng)該在100 ns以下;四是在對(duì)通信實(shí)時(shí)性水平要求更高的場(chǎng)合,網(wǎng)絡(luò)通信協(xié)議的處理需要通過(guò)硬件(如ASIC)解決方案來(lái)實(shí)現(xiàn)[5-6]。
大部分運(yùn)動(dòng)控制網(wǎng)絡(luò)技術(shù)采用了OSI七層網(wǎng)絡(luò)中的三層結(jié)構(gòu),即物理層、數(shù)據(jù)鏈路層和應(yīng)用層,OSI模型中其他層的部分功能被分配到應(yīng)用層和數(shù)據(jù)鏈路層中實(shí)現(xiàn),如圖1所示。
圖1 基本運(yùn)動(dòng)控制網(wǎng)絡(luò)協(xié)議模型Fig.1 Basic motion control network protocol model
運(yùn)動(dòng)控制應(yīng)用在速度、通信速率、控制精度等方面的需求對(duì)運(yùn)動(dòng)控制網(wǎng)絡(luò)也提出了新的挑戰(zhàn),傳統(tǒng)的以太網(wǎng)技術(shù)已不能滿(mǎn)足運(yùn)動(dòng)控制應(yīng)用的需求。EtherCAT和SynqNet網(wǎng)絡(luò)技術(shù)擴(kuò)展了IEEE 802.3規(guī)范定義的幀格式,開(kāi)發(fā)了特殊的以太網(wǎng)通信控制器,大幅度提高了網(wǎng)絡(luò)帶寬利用效率。為了進(jìn)一步提高運(yùn)動(dòng)控制網(wǎng)絡(luò)的性能,一些公司還推出了專(zhuān)用以太網(wǎng)通信控制芯片,如德國(guó)BECKHOFF公司推出了專(zhuān)用于EtherCAT的ET1200和ET1100以太網(wǎng)控制芯片,而Profinet總線(xiàn)中的同步實(shí)時(shí)通信方式也必須在專(zhuān)用以太網(wǎng)控制芯片上才能實(shí)現(xiàn)。以上所述運(yùn)動(dòng)控制網(wǎng)絡(luò)技術(shù)雖然都基于以太網(wǎng)技術(shù),但并不能實(shí)現(xiàn)互連互通,且個(gè)別技術(shù)必須借助于特殊的硬件解決方案才能發(fā)揮作用。
從網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)來(lái)看,運(yùn)動(dòng)控制系統(tǒng)常采用星型拓?fù)?、總線(xiàn)拓?fù)浜铜h(huán)形拓?fù)涞?。其中,星型拓?fù)湟蚱淇刂坪?jiǎn)單、總線(xiàn)拓?fù)湟蛩枰碾娎|數(shù)量少而得到廣泛應(yīng)用,如EtherCAT就常用環(huán)形總線(xiàn)拓?fù)?即菊花鏈結(jié)構(gòu)),如圖2所示。在環(huán)形總線(xiàn)拓?fù)浣Y(jié)構(gòu)中,當(dāng)總線(xiàn)中間出現(xiàn)一點(diǎn)故障時(shí),系統(tǒng)運(yùn)行不會(huì)受到影響。
圖2 環(huán)形總線(xiàn)拓?fù)浣Y(jié)構(gòu)示意圖Fig.2 Schematic drawing of the ring bus topological structure
另外,從安全的角度考慮,運(yùn)動(dòng)控制網(wǎng)絡(luò)應(yīng)該與外部網(wǎng)絡(luò)相隔離。外部網(wǎng)絡(luò)訪(fǎng)問(wèn)運(yùn)動(dòng)控制網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)時(shí)必須通過(guò)“網(wǎng)關(guān)設(shè)備”來(lái)進(jìn)行,網(wǎng)關(guān)設(shè)備一般為工程師站或主控制器。
分析運(yùn)動(dòng)控制網(wǎng)絡(luò)調(diào)度模型需要從兩個(gè)層面進(jìn)行,即面向通信介質(zhì)的調(diào)度和面向應(yīng)用的調(diào)度。在面向通信介質(zhì)的調(diào)度層面上,不同類(lèi)型數(shù)據(jù)的發(fā)送控制是由通信協(xié)議來(lái)控制的(不包括物理層的沖突避免機(jī)制,如CSMA/CD)。面向應(yīng)用的調(diào)度是從工程師的視角看待調(diào)度問(wèn)題。在這個(gè)網(wǎng)絡(luò)調(diào)度層面上,數(shù)據(jù)的發(fā)送控制是由應(yīng)用程序來(lái)控制的。調(diào)度算法主要關(guān)心控制任務(wù)的工作周期、系統(tǒng)范圍內(nèi)輸入/輸出數(shù)據(jù)配置、設(shè)備參數(shù)的訪(fǎng)問(wèn)操作、系統(tǒng)可靠性設(shè)計(jì)等[7-8]。本文主要研究面向通信介質(zhì)的網(wǎng)絡(luò)調(diào)度模型。
通信協(xié)議框架結(jié)構(gòu)是指通信協(xié)議部分的結(jié)構(gòu)定義,是網(wǎng)絡(luò)調(diào)度實(shí)現(xiàn)的基礎(chǔ)。為了支持面向通信介質(zhì)的調(diào)度模型,本文在應(yīng)用層和數(shù)據(jù)鏈路層之間加入了網(wǎng)絡(luò)調(diào)度管理子層。網(wǎng)絡(luò)調(diào)度管理子層的出現(xiàn)使得應(yīng)用層與數(shù)據(jù)鏈路層之間的數(shù)據(jù)交換體現(xiàn)出“柔性關(guān)聯(lián)”的關(guān)系,即應(yīng)用層與數(shù)據(jù)鏈路層之間的數(shù)據(jù)交換過(guò)程都經(jīng)由“網(wǎng)絡(luò)調(diào)度管理子層”進(jìn)行緩沖和管理。運(yùn)動(dòng)控制網(wǎng)絡(luò)調(diào)度模型如圖3所示。
圖3 運(yùn)動(dòng)控制網(wǎng)絡(luò)調(diào)度模型Fig.3 Motion control network scheduling model
網(wǎng)絡(luò)調(diào)度管理子層負(fù)責(zé)網(wǎng)絡(luò)時(shí)鐘同步操作,且根據(jù)網(wǎng)絡(luò)調(diào)度算法來(lái)管理要發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)。它同時(shí)維護(hù)一個(gè)實(shí)時(shí)數(shù)據(jù)緩沖區(qū)組、一個(gè)非實(shí)時(shí)數(shù)據(jù)隊(duì)列和一個(gè)重發(fā)數(shù)據(jù)隊(duì)列,實(shí)時(shí)數(shù)據(jù)緩沖區(qū)組用于保存待發(fā)的實(shí)時(shí)數(shù)據(jù),非實(shí)時(shí)數(shù)據(jù)隊(duì)列用于保存待發(fā)送的非實(shí)時(shí)數(shù)據(jù)。需要注意的是,實(shí)時(shí)數(shù)據(jù)采用緩沖區(qū)保存方式,新的數(shù)據(jù)可以覆蓋舊的數(shù)據(jù);非實(shí)時(shí)數(shù)據(jù)采用先進(jìn)先出(first input first output,F(xiàn)IFO)方式保存,當(dāng)隊(duì)列已滿(mǎn)時(shí),可以根據(jù)事先制定的原則清理最早進(jìn)隊(duì)的數(shù)據(jù)。重發(fā)數(shù)據(jù)隊(duì)列用于保存待重發(fā)的非實(shí)時(shí)數(shù)據(jù),重發(fā)數(shù)據(jù)同樣采用FIFO的方式保存。網(wǎng)絡(luò)管理子層結(jié)構(gòu)如圖4所示。
圖4 網(wǎng)絡(luò)管理子層結(jié)構(gòu)Fig.4 Structure of the network management sub-layer
運(yùn)動(dòng)控制網(wǎng)絡(luò)調(diào)度算法主要是在用戶(hù)層設(shè)計(jì)并實(shí)現(xiàn)的,但其結(jié)果會(huì)下載到通信協(xié)議中,通信協(xié)議中的“網(wǎng)絡(luò)調(diào)度管理子層”會(huì)根據(jù)其結(jié)果來(lái)控制網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送。結(jié)合運(yùn)動(dòng)控制系統(tǒng)的特點(diǎn),這里主要考慮以下幾個(gè)問(wèn)題:時(shí)鐘同步方法、實(shí)時(shí)數(shù)據(jù)和非實(shí)時(shí)數(shù)據(jù)的傳輸管理、數(shù)據(jù)重發(fā)管理等,其中加入數(shù)據(jù)重發(fā)管理功能的目的是進(jìn)一步提高運(yùn)動(dòng)控制網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)拇_定性。
時(shí)鐘同步方法在此采用IEEE 1588精密時(shí)鐘同步協(xié)議,時(shí)鐘同步報(bào)文作為非實(shí)時(shí)數(shù)據(jù)在非實(shí)時(shí)窗口中傳輸。為了減少時(shí)鐘同步報(bào)文對(duì)網(wǎng)絡(luò)傳輸負(fù)荷的影響,網(wǎng)絡(luò)設(shè)備不會(huì)在每個(gè)工作周期都進(jìn)行時(shí)鐘同步操作,每個(gè)設(shè)備會(huì)根據(jù)時(shí)鐘偏差的情況自行確定時(shí)鐘同步操作的時(shí)機(jī)。設(shè)備發(fā)送到網(wǎng)絡(luò)上的數(shù)據(jù)分為實(shí)時(shí)數(shù)據(jù)和非實(shí)時(shí)數(shù)據(jù),原則上與控制應(yīng)用相關(guān)的數(shù)據(jù)屬于實(shí)時(shí)數(shù)據(jù),其他諸如設(shè)備配置、時(shí)鐘同步報(bào)文等都屬于非實(shí)時(shí)數(shù)據(jù)。
網(wǎng)絡(luò)調(diào)度算法主要負(fù)責(zé)管理實(shí)時(shí)數(shù)據(jù)、非實(shí)時(shí)數(shù)據(jù)和重發(fā)數(shù)據(jù)的發(fā)送。本文中的網(wǎng)絡(luò)管理算法引入了“時(shí)間窗口”與優(yōu)先級(jí)相結(jié)合的調(diào)度模式。每個(gè)工作周期內(nèi)除了“實(shí)時(shí)窗口”和“非實(shí)時(shí)窗口”外,還引入了“重發(fā)窗口”。在“實(shí)時(shí)窗口”中,為每個(gè)待發(fā)送數(shù)據(jù)分配了相應(yīng)的時(shí)間段即SLOT,其取值保證了對(duì)應(yīng)的實(shí)時(shí)數(shù)據(jù)的可靠傳輸且不會(huì)發(fā)生網(wǎng)絡(luò)沖突?!胺菍?shí)時(shí)窗口”用于發(fā)送非實(shí)時(shí)數(shù)據(jù),包括參數(shù)訪(fǎng)問(wèn)服務(wù)數(shù)據(jù)、時(shí)鐘同步報(bào)文等?!爸匕l(fā)窗口”主要解決通信過(guò)程中由于某種原因引起的通信失敗問(wèn)題,包括丟包、幀錯(cuò)誤等,這也是保證運(yùn)動(dòng)控制網(wǎng)絡(luò)通信可靠性而采用的一個(gè)重要舉措。在沒(méi)有數(shù)據(jù)需要重發(fā)時(shí),“重發(fā)窗口”可用于發(fā)送非實(shí)時(shí)數(shù)據(jù)。在“非實(shí)時(shí)窗口”和“重發(fā)窗口”中,待發(fā)送數(shù)據(jù)根據(jù)各自?xún)?yōu)先級(jí)的高低進(jìn)行排隊(duì);重發(fā)數(shù)據(jù)的優(yōu)先級(jí)隨重發(fā)次數(shù)的增加而逐次遞增,當(dāng)重發(fā)次數(shù)超過(guò)重發(fā)上限時(shí)則不再重發(fā)。網(wǎng)絡(luò)調(diào)度管理子層模型如圖5所示。
圖5 網(wǎng)絡(luò)調(diào)度管理子層模型Fig.5 Model of network scheduling management sub-layer
網(wǎng)絡(luò)通信的確定性和實(shí)時(shí)性是運(yùn)動(dòng)控制網(wǎng)絡(luò)系統(tǒng)的研究熱點(diǎn),而完善的網(wǎng)絡(luò)調(diào)度模型則是保證運(yùn)動(dòng)控制網(wǎng)絡(luò)通信確定性和實(shí)時(shí)性的基礎(chǔ)。
本文主要研究了面向通信介質(zhì)的網(wǎng)絡(luò)調(diào)度模型,結(jié)合運(yùn)動(dòng)控制網(wǎng)絡(luò)的特點(diǎn),在通信協(xié)議中加入了網(wǎng)絡(luò)調(diào)度管理子層。網(wǎng)絡(luò)調(diào)度管理子層采用時(shí)間窗口形式,引入了“重發(fā)窗口”,并對(duì)不同特點(diǎn)的數(shù)據(jù)進(jìn)行分類(lèi)管理和發(fā)送,考慮了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性、確定性和網(wǎng)絡(luò)帶寬利用率之間的平衡。實(shí)際應(yīng)用表明,該網(wǎng)絡(luò)調(diào)度方法運(yùn)用效果良好,達(dá)到了預(yù)期目標(biāo)。今后研究工作將進(jìn)一步完善該調(diào)度模型,提高其實(shí)用性。
[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] 陳丹丹,夏立,王海峰.網(wǎng)絡(luò)控制系統(tǒng)中網(wǎng)絡(luò)調(diào)度算法的研究現(xiàn)狀與展望[J].化工自動(dòng)化及儀表,2008,35(2):1 -6.
[5] 王艷,陳慶偉,樊衛(wèi)華,等.網(wǎng)絡(luò)控制系統(tǒng)控制與調(diào)度協(xié)同設(shè)計(jì)的研究進(jìn)展[J].兵工學(xué)報(bào),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,F(xiàn)ohler 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.