摘要:針對如何保證精確的分布式時鐘同步以實現預期的實時調度和控制問題,通過對一類基于全雙工交換式以太網并采用總線型拓撲的網絡化控制系統時延特征的分析,結合網絡精確時鐘同步協議,在分析了其可行性的基礎上,給出了網絡化控制系統時鐘同步的設計及實現方法。
關鍵詞:網絡誘導時延;全雙工交換式以太網;網絡化控制系統;精確時鐘同步協議
中圖分類號:TP273; TP393文獻標志碼:A
文章編號:1001-3695(2007)07-0264-03
0引言
傳感器、控制器、執行器等控制部件通過數據通信網絡構成的閉環控制系統稱為網絡化控制系統(Networked Control System,NCS)[1]。與傳統控制系統相比,網絡化控制系統具有減少系統配線、降低成本、簡化安裝與維護等優點。例如,已在控制領域成功應用的現場總線控制系統(FCS),使工業自動化系統進一步朝著分布化、智能化、開放化的方向發展[2]。以太網技術正是由于具有上述優勢而逐步應用到控制領域,如Profinet、Powerlink、EtherCAT、Ethernet/IP、EPA等工業以太網技術已在工業過程控制的許多行業成功應用。然而對于分布式實時網絡化控制系統,在基于時間的系統分析、設計和實施過程中,如大型分布式商業數據庫、航空航天計算機控制網絡等,首要考慮的是如何實現系統內部各節點的時鐘同步,以獲得高精度的時間信息。由于在網絡化控制系統中,傳感器、控制器以及執行機構各節點在空間上高度分散,網絡隨機誘導時延以及復雜的多回路控制等都大大增加了此類系統時鐘同步的復雜性。在眾多的以太網應用中,全雙工交換式以太網技術最高可提供10 Gbps的帶寬;利用交換機制和全雙工連接實現確定的網絡訪問,利用VLAN技術進行網段微化,利用IEEE 802.1p優先權管理協議實現實時通信,利用生成樹協議保證系統可靠性;提供對TCP/UDP/IP、FTP、TELNET、SNMP、SMTP、HTTP的支持,可實現對OPC、DCOM、CORBA、RMI等多種COTS API及中間件的集成。憑借這些優勢,使得基于全雙工交換式以太網的網絡化控制系統在理論和應用方面均具有很重要的現實意義。但是在基于交換式以太網的環境中,網絡交換設備節點內部的隊列處理時延及其不確定性等問題也進一步增加了實現精確時鐘同步的難度。因而在大多數對網絡化控制系統的基于時間的分析、設計和實施中,均假設系統各節點的時鐘是嚴格同步的。
1NCS結構及時延分析
合理的網絡互連方式是建立具有良好性能的網絡化控制系統的首要問題。在基于以太網的控制系統結構中,星型拓撲中任何兩個終端節點通過一個交換機轉發數據。因此能夠保證最好的實時通信性能,甚至可以完全避免數據沖突現象。但與線型及樹型拓撲相比,其配線及交換機的數量較多,不符合現場總線簡化配線的原則,也與工業控制網絡的發展趨勢不符。因此工業現場設備互連通常采用總線型的網絡拓撲[3]。基于這種考慮,如圖1所示,本文所討論的網絡化控制系統組件由級聯交換機構成的交換網絡連接形成類似總線型拓撲的控制網絡。
在圖1中,序號分別為1,2,3,…,m,…,n的n個交換機采用全雙工以太網連接成類似總線型拓撲網絡,并且1<m<n。被分別連接到1、m、n號交換機上的控制器、傳感器、執行器構成閉環回路。除1、m、n號交換機外,其他交換機用于連接與此閉環回路不相關的其他控制及顯示設備。同時在本文的討論中均假設系統任意兩節點的傳輸是雙向對稱的,如交換機1→m與交換機m→1的傳輸特性完全一致,并且假設系統各節點時鐘精確同步。此外在實際系統中,控制器還存在計算時延,通常相對于數據傳輸時延較小。因此這里忽略數據在節點上的滯留時延。在上述說明及假設條件下,此類閉環網絡化控制回路的傳輸時延可表示為
這種總線型拓撲的全雙工交換網絡避免了數據沖突,在一定程度上提高了系統的實時性。但網絡交換設備本身仍然存在隨機隊列處理時延,并且時延及抖動等因素會隨系統規模的擴大和交換機數量的增多而對系統性能產生顯著影響。這種情況可通過對時延特征的測量及分析得出。本文利用Spirent公司SmartBits網絡測試設備和軟件,按圖1所示的結構進行硬件連接,建立七組測試流,采用端口測試模式對交換網絡時延特性進行了測試。
圖2和3顯示了網絡負載從10%逐漸增加到100%時,網絡的存儲轉發時延變化情況。其中,圖2為各組測試流的平均時延;圖3為各組測試流的最大時延。
從圖中可以看出,交換機對所有測試流的轉發時延均是隨機的,這也驗證了式(1)和(2)的形式。隨著網絡負載的增大,交換機存儲轉發的平均時延和最大時延均顯著增加,而且對于部分測試流,最大時延達到2 ms以上。由此可見,在采用全雙工交換式以太網技術后, 隨機的網絡時延仍然存在,而其中的時延及抖動等因素也明顯會隨系統規模的擴大和交換機數量的增多而對系統性能產生顯著影響,很難實現精確的時鐘同步來保證確定的實時調度。在實時性要求較高的控制系統中,這仍然會顯著影響系統的控制性能和穩定性,從而極大地限制了以太網在高實時性系統(如運動控制)中的應用。例如在控制設備中,數據以設備時鐘進行發送,而在交換機內部,數據以本地時鐘進行數據的處理和轉發;兩個時鐘的頻偏會導致數據隊列溢出,造成數據丟失,從而嚴重影響系統性能。此時能夠采用合理的時鐘同步機制獲得精確的時鐘信息對保證分布式系統的性能是非常重要的。
2NCS時鐘同步方法
2.1網絡時鐘誤差成因
通信網絡內的各種網絡設備以及計算機設備時鐘誤差的主要影響因素有網絡傳輸時延和網絡設備或計算機軟硬件的處理時延以及內部時鐘抖動。例如設備內部時鐘振蕩器的不穩定而產生的時鐘
漂移誤差等。網絡中被修正的時鐘節點相對于基準時鐘源節點可描述[4]如下:
2.2精確時鐘同步協議機理
針對計算機通信網絡時鐘同步問題已經有許多方法,如網絡時間同步協議 (Network Time Protocol,NTP)和簡單網絡時間協議 (Simple Network Time Protocol,SNTP)等。這些方法能夠在局域網的范圍內實現毫秒級的時鐘同步。然而當網絡被應用到控制系統中后,許多控制應用則要求實現更高精度的時鐘同步。基于此種需求,IEEE 1588精確時間協議(Precision Time Protocol,PTP)被開發并實現了在分布式網絡環境中最高可達到亞微秒級的時鐘同步方法,從而成為當前可用于實現實時工業以太網的、被普遍看好的解決方案之一[5]。在目前的工業以太網技術中,如Ethernet Powerlink、PROFINET、EtherCAT等均采用了基于PTP或在此基礎上改進的時鐘同步方法。
PTP時鐘同步過程可由圖4描述[6]。它采用主從模式的同步方法,在基于網絡時間戳機制的基礎上,通過四種專用的時鐘同步報文實現。分別是同步消息Sync、跟隨消息Follow_Up、時延請求消息Delay_Req、時延響應消息Delay_Resp。時鐘同步過程包括對時鐘的偏移To以及網絡傳輸時延Td的測量和補償。網絡傳輸時延量及時鐘偏移量的測量通過基于時間戳的消息傳遞機制實現;而時間戳的準確與否直接影響到時鐘誤差的補償效果。因此必須采用合理的時間戳實現技術,以保證獲取精確的消息發送和接收時間。通常采用硬件探測數據幀的方式獲得精確的時間戳。在主從時鐘節點的物理層及MAC層之間實現獨立介質接口,數據在被發送到物理層或被MAC層處理前加蓋時間戳。這種方法的精確性主要依靠物理芯片的性能。如果沒有硬件的支持,時間戳則可通過網絡驅動程序實現。發送的數據在被MAC層處理前加蓋時間戳;接收到的數據在網絡驅動接口中斷服務程序中加蓋時間戳。但這種方法的精確性受到運行環境的限制,如中斷等待、處理器性能以及網絡負載等[7]。同步過程初始,主時鐘節點首先在固定的時間間隔內周期性地發送Sync消息。Sync消息包含精確描述數據發出時間的估計值。隨后發送Follow_Up消息。 Follow_Up消息包含Sync 消息真實發出時間t1的時間戳。從屬時鐘節點記錄接收到Sync消息的真實時間t2,結合Follow_Up消息中Sync消息發出的真實時間t1,可計算出一個時差D1。顯然這個時差包括了時鐘的偏移和網絡傳輸時延。因此從屬時鐘節點在t3發送Delay_Req消息。與Sync消息一樣,從屬時鐘節點記錄精確的發送時間t3;主時鐘節點發送Delay_Resp消息響應從屬時鐘發送的請求消息;Delay_Resq消息包含真實的接收時間t4,同樣從屬時鐘利用t3和t4也可以計算出一個時差D2。在傳輸鏈路雙向對稱的假設下,通過式(3)(4)可以計算出時鐘偏移以及網絡時延來實現時鐘同步誤差的測量:
基于以上誤差測量,可以進一步利用時鐘同步算法來實現時鐘同步。時鐘同步算法包括確定性同步和概率性同步兩種方法。確定性同步算法確保同步誤差在下一次同步之前能夠不超過某一上限。概率性同步算法可以保證同步誤差大于某一上限的概率是確定的。概率性同步算法可以獲得比確定性同步算法低得多的同步誤差,如CRI[8]、PCS算法[9]等。
2.3NCS混合式時鐘同步結構
通過上面的分析和論述可以看出,全雙工交換式以太網構成的NCS是一類分布式的網絡化系統。在基于時間的分析中,當系統規模擴大時,傳感器、控制器和執行器節點均相當于一個時鐘子系統。交換機引起的主從時鐘節點(如傳感器和控制器節點、控制器與執行器節點)之間的時延及時鐘抖動將會顯著增加。因此對交換機等網絡設備也需要進行時鐘同步。PTP采用邊界時鐘方法(Boundary Clock)實現子網邊界設備的時鐘同步問題[10]。邊界時鐘節點的某個端口作為從屬端口被時鐘源節點或其他子系統相連,作為從時鐘節點;在邊界時鐘節點內部的其他端口則作為主時鐘端口用于同步其他子系統或時鐘節點。這樣邊界設備內部的時延和抖動便可以通過測量和計算來補償。在基于交換式以太網的網絡系統中,交換機作為邊界時鐘節點,利用某一主時鐘端口被其時鐘源節點或其他主時鐘同步;然后交換機本身作為主時鐘,通過其他端口作為從時鐘端口實現連接其上的從時鐘節點的時鐘同步,實現子網邊界設備(即交換機)產生的時延補償,同時不會影響到整個系統的時鐘同步??梢钥闯?,當交換網絡由大量的級聯交換機構成時,這個同步過程將會在每個交換機上重復,從而形成多個串聯的時鐘同步環路。采用PTP時鐘同步模式,顯然時鐘偏差將顯著增加。因此在基于級聯交換機網絡環境下,邊界時鐘并不能實現實時性很高的同步性能。許多研究和應用中針對這個問題給出了處理方案,如PROFINET采用的旁路時鐘方法(Bypass Clock)[10]。旁路時鐘方法針對交換式以太網的級聯交換機結構改進了邊界時鐘同步方式;通過在主從時鐘節點之間所經過的交換機上傳送同步報文實現對時鐘同步幀的修正,消除時鐘同步幀在交換機上受到的時延影響。在交換機接收端口收到Sync消息后,獲得入口時間戳,同時確定被發送的Follow_Up消息;在交換機發送端口轉發接收到的Sync消息,同時加蓋新的時間戳。這樣逐次修正直到Sync消息到達目標節點。因此在圖1所示的系統中,Sync消息的環路時延可以通過計算式(1)(2)獲得;在每個交換機上的時鐘修正也可以通過類似的計算得到。旁路時鐘的優點是經由多個交換機進行時鐘同步時,主從時鐘節點之間僅存在一個同步控制環路,避免了多個同步控制環路的串聯,大大降低了級聯交換機對時鐘同步的影響,從而提高了系統的時鐘同步精確度。
在本文所研究的基于全雙工以太網并采用級聯交換機構成總線型拓撲結構的網絡化控制系統中,為了實現精確的時間同步,需要考慮控制器和交換機以及交換機之間時鐘同步的影響因素。在無交換機級聯時,采用邊界時鐘可以獲得比旁路時鐘更好的時鐘同步效果,但在總線型的拓撲網絡中,采用旁路時鐘比邊界時鐘更能顯著地消除交換設備的影響。因此在本文所討論的這一類網絡化控制系統中,可以采用如圖5所示的邊界時鐘與旁路時鐘混合的時鐘同步方式。
在圖5中,控制器、傳感器、執行器內采用邊界時鐘組件??刂破鳌鞲衅鳌绦衅鲝臅r鐘同步的角度是處于同一層次的,因此均可以作為邊界時鐘用于系統的時鐘同步任務。圖5中的控制器作為本地時鐘的邊界時鐘,一方面獲得外部時間系統的時鐘源;另一方面作為自身系統的主時鐘對本地的從屬時鐘節點(交換機、傳感器、執行器)進行同步。在大量級聯的交換機內部采用旁路時鐘實現,這樣在傳感器與控制器之間以及控制器與執行器之間雖然均級聯了多個交換機,但同步控制環路分別都只有一個。這使得系統時鐘同步幾乎不會由于大量交換機的引入受到影響。同時這種邊界時鐘與旁路時鐘混合運用以實現網絡節點同步的時鐘同步結構,能夠適應工業自動化中大規模的復雜網絡化控制系統的分布式時鐘同步需求。在工廠自動化的環境下,這種時鐘同步結構對于分布式大系統的時鐘同步是不可缺少的。
3結束語
由于基于TDMA機制的介質訪問控制越來越多地被用于工業實時和非實時數據的通信調度,以此來克服以太網不確定的介質訪問控制機制。在系統網絡設備和控制組件中實現時鐘同步以獲得精確的時鐘信息,成為基于時間的網絡化控制系統分析和設計中的一項關鍵內容?;诠I以太網的大規模分布式網絡化控制隨著計算機、通信、控制技術的飛速發展而成為工業自動化領域不可逆轉的發展趨勢。然而當工業以太網以總線型拓撲結構實現時,通常會出現大量交換機級聯的情況,從而降低了網絡化控制系統的性能和穩定性。本文研究了一類采用全雙工以太網連接,通過級聯交換機構成類似工業控制領域中常見的總線型拓撲結構的網絡化控制系統。首先分析了系統的結構特征,并通過實驗詳細分析了其網絡時延特性;之后討論了此類控制結構在基于時間的系統分析和設計過程中的時鐘誤差成因;最后結合精確時鐘同步協議,給出了一種基于邊界時鐘和旁路時鐘的時鐘同步實現模式,用于此類網絡化控制系統的時鐘同步方法的實施。關于網絡化控制系統的時鐘同步還有許多研究內容。例如本文是在假設傳輸鏈路雙向對稱的情況下討論時鐘同步問題,而實際應用中,尤其是網絡負載很大時,這種情況幾乎很難實現。此外大規模分布式混雜網絡化控制系統(如工業現場中同時存在現場總線、工業以太網構成的異構網絡化控制系統)的分布式時鐘同步問題還存在許多理論和實踐工作,有待進一步研究。
參考文獻:
[1]WALSH G C,YE H,BUSHELL L G.Stability analysis of networked control systems[C]//Proc of American Control Conference.[S.l.]:[s.n.],1999:2876-2880.
[2]HALEVI Y,RAY A. Integrated communication and control systems: part I:analysis[J].ASME Journal of Dynamic Systems, Measu-rement and Control,1988,110(4): 367-373.
[3]JOACHIM F. PROFINET-Scalable factory communication for all application[C]//Proc of IEEE International Workshop on Factory Communication System.[S.l.]:[s.n.],2004.
[4]MILLS D L.Executive summary-computer network time synchronization [EB/OL].[2003].http://www.eecis.udel.edu/~ mills /exec. html#intro.
[5]徐皚冬,王宏,邢志浩.工業以太網實時通信技術[J].信息與控制, 2005, 34(1): 60-65.
[6]ANSI/IEEE Std. 1588-2002. IEEE standard for a precision clock synchronization protocol for networked measurement and control systems[S].[S.l.]:[s.n.],2002.
[7]WEIBEL H. High precision clock synchronization according to IEEE 1588 implementation and performance issues[C]//The Embedded World 2005 Conference[C].[S.l.]:[s.n.],2005.
[8]CRISTIAN F. A probabilistic approach to distributed clock synchronization [J].Distributed Computing,1998,3:146-158.
[9]ARVIND K. Probabilistic clock synchronization in distributed system [J].IEEE Transactions on Parallel and Distributed Systems, 1994,5(5):474-487.
[10]JASPERNEITE J,SHEHAB K,WEBER K.Enhancements to the time synchronization standard IEEE 1588 for a system of cascaded bridges[C]//The 5th IEEE International Workshop on Factory Communication Systems.[S.l.]:[s.n.],2004.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”