石艷紅,楊 杰 ,張 杰,耿曉晗
( 1.中車青島四方機車車輛股份有限公司 網絡技術開發部, 青島 266111;2. 北京交通大學 網絡管理研究中心, 北京 100044 )
目前,在工業中廣泛應用的以太網具備通信速度快、帶寬高,組網靈活、成本低的優勢,是地鐵列車上車載通信網絡的發展趨勢,國際電工委員會先后制定了以太列車骨干網協議(IEC61375-2-5)和以太列車編組網協議(IEC61375-3-4)。
傳統以太網是一種不確定性網絡,原因是采用沖突檢測載波監聽多點訪問(CSMA/CD)這種介質訪問控制方式,使得可靠性、實時性較差。很多組織或公司在標準以太網技術基礎上進行改進,實現實時工業以太網,誕生了Profinet RT、Ethernet POWERLINK、EtherNet/IP、ModBus TCP、EtherCAT等實時工業以太網的技術。
本文針對ProfinetRT實時以太網協議特點,采用基于優化了協議棧的網絡節點和使用時分多路復用協議的等實時以太網技術,設計了地鐵列車通信網絡拓撲結構,通過仿真實驗,驗證了數據傳輸延時小于2 ms,滿足地鐵列車通信網絡的實時性需求。
根據IEC 61375關于列車以太網絡系列標準[1-2],數據分類及時延要求如表1所示。通過研究分析[3-4],影響以太網實時性的主要因素有:
(1) 網絡的通信機制;
(2)通信數據轉發點實時調度機制;
(3)以太網數據幀的媒體訪問控制(MAC)沖突;
(4)通信數據節點操作系統的實時性;
(5)以太網的組網拓撲結構;
(6)網絡硬件性能。
數據包傳輸時間長度主要取決于網絡負載,當在數據傳輸過程中出現幀過載時,傳輸時延及處理器計算時間變長,進而發送時延也變長,最終使得網絡的實時性受到嚴重影響。
對于傳統的以太網協議,CSMA/CD傳輸機制導致傳輸有不確定性,無法控制數據傳輸的時延性能。由PROFIBUS國際組織(PI,PROFIBUS International)推出的PROFINET[5-6]實時以太網協議,為自動化通信領域提供了一個完整的網絡解決方案。它通過優化網絡節點和交換機協議棧的第2層,實現數據包的實時尋址,極大地減少了數據在通信協議棧中的處理時間。與傳統的尋址方法不同(通過IP地址實現),它通過接收設備的MAC地址尋址,同時,它與其他標準協議在同一網絡中能夠兼容。PROFINET通信協議架構如圖1所示。

表1 數據分類及時延性能

圖1 通信協議架構
經過優化的通信協議架構能夠允許3種通信方式:TCP/IP標準通信,實時通信,以及等實時通信。
(1)TCP/IP標準通信:利用傳統以太網的標準通道,主要傳輸對時間要求不高的數據。比如,列車各設備初始化數據、運行狀態數據讀取、非周期數據傳輸、通信網絡的狀態等;
(2)實時通信:為了符合實時性要求,優化了傳統的通信通道。在實時通信的通道中,去除了傳輸層和網絡層,直接建立應用層與數據鏈路層之間的聯系,因此,極大地減少了數據傳輸的延時;
(3)等實時通信:為了滿足對時間要求苛刻的數據傳輸。比如,控車數據、過程數據的周期性傳輸等,傳輸數據的周期可以小于1 ms。
為了確保實現實時傳輸功能,分時復用機制將通信周期分為等實時(IRT)通道和開放通道兩個部分,如圖2所示。IRT數據在IRT通道時間段內傳輸,而其他實時數據則在開放通道時間段傳輸,傳輸過程中,依次傳輸、互不影響。

圖2 通信周期
實時(RT)通道經過優化協議的軟件實時控制,旁路掉TCP/IP層,使通信性能進一步優化,實時幀結構如圖3所示。根據IEEE 802.1Q/P對報文定義了優先級,APDU域用來標識設備和數據狀況(例如:運行,停止,出錯),網絡類型與幀類型標識符的結合可對實時幀進行識別,用以太網類型和幀類型標識符將幀分配到相應信道。

圖3 實時數據幀
IRT通道通過對硬件的操作實現,基于IEEE1588精確時間同步協議、專用集成電路(ASIC)實時交換芯片,從而減少數據的處理時間,進而保證數據傳輸的實時性,等實時數據幀如圖4所示。等實時數據幀的傳輸確定性很大程度上取決于幀類型、網絡類型。與實時幀不同,它不使用虛擬局域網(VLAN)標簽分配優先級。

圖4 等實時數據幀
在實時以太網的數據幀中,以太網類型字段用Ox0800表示IP幀,若值為 0x8892代表實時幀,幀類型字段標識傳輸數據的類型,即周期性數據和非周期數據。
如果現場設備配有以太網接口,且需要將所有PROFINET協議中要求的功能都集成到現場設備中,只需要對通信棧進行擴張,而無需更改現有硬件,即可在標準以太網控制器上集成PROFINET網絡。
按照IEC61375-2-5和IEC61375-3-4標準,本文設計了基于PROFINET協議的地鐵列車通信網絡拓撲結構,如圖5 所示。
列車通信網絡分為列車級和車輛級編組兩層網。列車級網絡運用雙線冗余的機制。圖5中,中央控制單元設在司機室,列車級交換機節點可以是0、1個或多個。數據傳輸距離較遠時增加中繼器;車輛級編組網可以跨越多個車廂,一般采用環形拓撲結構。設備級網絡通常是星型結構,主要包括:牽引控制裝置、制動控制裝置、輔助電源、門控單元等列車網絡控制單元。

圖5 基于PROFINET的地鐵列車通信網絡拓撲結構
依據圖論的觀點[7],任何一個指定的網絡都可以抽象成一個網絡模型G,并且模型G包含節點集V(G)和邊集E(G),即:

通過確定性網絡演算理論可知,端到端延遲的上界是傳輸路徑上網絡單元延遲上界之和。用4元組T[S,A,P,D]表示列車網絡中的通信任務,其中:S表示任務的源節點;A表示任務的目的節點;P表示任務的周期;D表示任務的截止期。任務T在某條路徑上的時延可通過式(1)計算。

圖6為地鐵列車網絡的模型圖。

圖6 地鐵列車通信網絡模型
圖6中,通信任務T是節點V0~V7,源節點V0代表中央控制單元和列車級交換機1的特性,節點V1~V6為地鐵列車網絡中的車輛級交換機節點,作為過程節點;目的節點V7代表設備級網絡節點列車網絡控制單元6。
2.3.1 網絡及時可靠度
依據圖6所示的列車網絡模型,按照傳輸時延的算法[8],針對通信任務T,存在兩種路徑,即:路徑R1(V0→e1→V1→e3→V2→e8→V7)和路徑R2(V0→e1→V1→e2→V3→e4→V5→e5→V6→e6→V4→e7→V2→e8→V7),根據公式(1),路徑R1和R2的延時分別為D1和D2:

對通信任務T而言,若路徑的時延小于等于任務的截止期限,則此路徑表示可行,反之,此路徑傳輸的數據無效,因此,用任務路徑時延Di的權函數f(Di)來表示。

在列車通信網絡中,至少有一條路徑時延小于消息截止期,且經過的鏈路和節點均可用。列車通信網絡的及時可靠度R表示為:

采用邊擴張(EE,Edge Expansion)構造二元決策圖(BDD)結構,評價鏈路的及時可靠性。依據文獻[9]給出的邊擴張圖(EED,Edge Expansion Diagram)方法,利用BDD 結構遞歸求解單條鏈路的及時可靠度,公式(3)可表示為:

2.3.2 及時可靠度分析
本文考慮的列車網絡傳輸鏈路“正常”時的傳輸上限延時約為0.03 ms,“故障”時約為0.069 ms。可以設置任務T的截止期D為1 ms。帶入上述的公式(2)中分析,由于無論哪種情況下,時延均滿足截止期D,所以:

兩條路徑均可傳輸數據。
車廂控制單元1和車廂控制單元2之間的鏈路“正常”概率為 99%,其他鏈路正常的概率為98%,帶入上述的公式(4)中,及時可靠度為:

經過BDD結構遞歸求解單條鏈路的及時可靠度公式驗證,鏈路“正常” 概率分別為99%、90%,但是及時性可靠度相差0.001。可見,只要保證鏈路正常的情況下,經過IRT協議優化的節點,可達到實時性小于1 ms的要求,足以滿足本課題要求的2 ms端到端延時指標。
在本文中,參照文獻[8-10]的網絡仿真方法,模擬實現基于實時以太網的地鐵列車仿真網絡,包括6臺PC機(裝有Windows操作系統)和2臺路由設備。PC機模擬列車終端設備,路由節點設備由1個工業計算機單元、1個路由交換單元以及電源輔助單元組成。路由交換單元上聯網口可提供一加一主備鏈路雙網口,連接骨干網絡,下聯網絡為8路交換網口,用于連接網絡終端設備。選擇其中1臺路由節點設備為主控設備節點(MN),另1臺為備用主控節點;PC機仿真列車設備從節點(CN),每3臺為1組,通過交換機連接構成環形網絡,接到路由節點設備上,從而形成一個典型的列車網絡仿真環境,如圖7所示。
在仿真實驗時,各個仿真節點都需要配置,其中關鍵內容是對節點的對象字典進行定義、通信參數進 行配置。
軟件環境:Windows操作系統(XP及 以 上 );Visual-Studio(VS)環境;網卡驅動軟件pcaplib。實驗步驟如下:
(1)硬件連接,按照圖7所示,通過交換機將PC機相互連接。

圖7 地鐵列車仿真網絡模型圖
(2)環境搭建,在PC機上安裝VS開發環境,抓包軟件 Wireshark,網卡的驅動程序winpcap。
(3)主、從節點配置,在objdict.h文件中,修改對象字典,定義通信對象和配置通信參數;修改demo_main.c文件,定義相關變量并與對象字典中的對象鏈接;在函數AppCbSync()中編寫用戶自定義的應用程序。
在如圖7所示的地鐵列車通信網絡中,達到了基于實時以太網的列車通信網絡的仿真效果。
Wireshark是常用的一個網絡分析軟件[11],可以診斷多種網絡協議數據包。在中央控制單元的仿真節點上,安裝Wireshark抓包軟件,使用該軟件來完成對仿真網絡數據傳輸的分析,抓取與MN進行過交互的數據包并對其進行解包分析。
抓取數據包的分析界面如圖8所示,Wireshark有3個窗口,第1個窗口是封裝的數據包信息列表,包括:中央控制單元發送的序號(No)、時間(Time)、源MAC地址(Source)、目的MAC地址(Destination)、協議類型(Protocol)、信息(info)等;第2個窗口是封裝的詳細信息,給出了Preq幀目的Node ID,即中央控制單元允許某個列車設備(dst=1)發送數據;Pres幀包括源Node ID,代表(src=1)的列車設備給中央控制單元發數據。第3個窗口是解析器,用16進制數據給出傳輸的具體內容。

圖8 抓取數據包的分析界面
在第1個窗口中不僅有數據包的基本信息,還能顯示每個數據包時間戳。將兩個相鄰數據包的時間戳相減即可得知1個數據幀的傳輸時延,考慮到列車長度一般為25 m,列車級路由交換設備之間、交換機與節點之間線路不會超過50 m,因此,線路傳輸附加時延數據為0.25 μs[12]。從實驗結果得知,傳輸延時均小于2 ms,符合列車網絡對實時性的要求。
就網絡傳輸的實時性而言,運用實時以太網協議機制能夠滿足車控數據傳輸延時2 ms的要求,仿真實驗說明,文中描述的網絡方案能夠滿足表1中不同類型數據準確的傳輸要求。由于列車網絡結構變化,實時以太網端到端時延的綜合監測與管理需要從設備軟硬件、成本等因素綜合考慮,將是進一步研究的重要內容,也是確保列車網絡安全可靠運行的基本保障。