石艷紅,楊 杰 ,張 杰,耿曉晗
( 1.中車青島四方機(jī)車車輛股份有限公司 網(wǎng)絡(luò)技術(shù)開(kāi)發(fā)部, 青島 266111;2. 北京交通大學(xué) 網(wǎng)絡(luò)管理研究中心, 北京 100044 )
目前,在工業(yè)中廣泛應(yīng)用的以太網(wǎng)具備通信速度快、帶寬高,組網(wǎng)靈活、成本低的優(yōu)勢(shì),是地鐵列車上車載通信網(wǎng)絡(luò)的發(fā)展趨勢(shì),國(guó)際電工委員會(huì)先后制定了以太列車骨干網(wǎng)協(xié)議(IEC61375-2-5)和以太列車編組網(wǎng)協(xié)議(IEC61375-3-4)。
傳統(tǒng)以太網(wǎng)是一種不確定性網(wǎng)絡(luò),原因是采用沖突檢測(cè)載波監(jiān)聽(tīng)多點(diǎn)訪問(wèn)(CSMA/CD)這種介質(zhì)訪問(wèn)控制方式,使得可靠性、實(shí)時(shí)性較差。很多組織或公司在標(biāo)準(zhǔn)以太網(wǎng)技術(shù)基礎(chǔ)上進(jìn)行改進(jìn),實(shí)現(xiàn)實(shí)時(shí)工業(yè)以太網(wǎng),誕生了Profinet RT、Ethernet POWERLINK、EtherNet/IP、ModBus TCP、EtherCAT等實(shí)時(shí)工業(yè)以太網(wǎng)的技術(shù)。
本文針對(duì)ProfinetRT實(shí)時(shí)以太網(wǎng)協(xié)議特點(diǎn),采用基于優(yōu)化了協(xié)議棧的網(wǎng)絡(luò)節(jié)點(diǎn)和使用時(shí)分多路復(fù)用協(xié)議的等實(shí)時(shí)以太網(wǎng)技術(shù),設(shè)計(jì)了地鐵列車通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),通過(guò)仿真實(shí)驗(yàn),驗(yàn)證了數(shù)據(jù)傳輸延時(shí)小于2 ms,滿足地鐵列車通信網(wǎng)絡(luò)的實(shí)時(shí)性需求。
根據(jù)IEC 61375關(guān)于列車以太網(wǎng)絡(luò)系列標(biāo)準(zhǔn)[1-2],數(shù)據(jù)分類及時(shí)延要求如表1所示。通過(guò)研究分析[3-4],影響以太網(wǎng)實(shí)時(shí)性的主要因素有:
(1) 網(wǎng)絡(luò)的通信機(jī)制;
(2)通信數(shù)據(jù)轉(zhuǎn)發(fā)點(diǎn)實(shí)時(shí)調(diào)度機(jī)制;
(3)以太網(wǎng)數(shù)據(jù)幀的媒體訪問(wèn)控制(MAC)沖突;
(4)通信數(shù)據(jù)節(jié)點(diǎn)操作系統(tǒng)的實(shí)時(shí)性;
(5)以太網(wǎng)的組網(wǎng)拓?fù)浣Y(jié)構(gòu);
(6)網(wǎng)絡(luò)硬件性能。
數(shù)據(jù)包傳輸時(shí)間長(zhǎng)度主要取決于網(wǎng)絡(luò)負(fù)載,當(dāng)在數(shù)據(jù)傳輸過(guò)程中出現(xiàn)幀過(guò)載時(shí),傳輸時(shí)延及處理器計(jì)算時(shí)間變長(zhǎng),進(jìn)而發(fā)送時(shí)延也變長(zhǎng),最終使得網(wǎng)絡(luò)的實(shí)時(shí)性受到嚴(yán)重影響。
對(duì)于傳統(tǒng)的以太網(wǎng)協(xié)議,CSMA/CD傳輸機(jī)制導(dǎo)致傳輸有不確定性,無(wú)法控制數(shù)據(jù)傳輸?shù)臅r(shí)延性能。由PROFIBUS國(guó)際組織(PI,PROFIBUS International)推出的PROFINET[5-6]實(shí)時(shí)以太網(wǎng)協(xié)議,為自動(dòng)化通信領(lǐng)域提供了一個(gè)完整的網(wǎng)絡(luò)解決方案。它通過(guò)優(yōu)化網(wǎng)絡(luò)節(jié)點(diǎn)和交換機(jī)協(xié)議棧的第2層,實(shí)現(xiàn)數(shù)據(jù)包的實(shí)時(shí)尋址,極大地減少了數(shù)據(jù)在通信協(xié)議棧中的處理時(shí)間。與傳統(tǒng)的尋址方法不同(通過(guò)IP地址實(shí)現(xiàn)),它通過(guò)接收設(shè)備的MAC地址尋址,同時(shí),它與其他標(biāo)準(zhǔn)協(xié)議在同一網(wǎng)絡(luò)中能夠兼容。PROFINET通信協(xié)議架構(gòu)如圖1所示。
表1 數(shù)據(jù)分類及時(shí)延性能
圖1 通信協(xié)議架構(gòu)
經(jīng)過(guò)優(yōu)化的通信協(xié)議架構(gòu)能夠允許3種通信方式:TCP/IP標(biāo)準(zhǔn)通信,實(shí)時(shí)通信,以及等實(shí)時(shí)通信。
(1)TCP/IP標(biāo)準(zhǔn)通信:利用傳統(tǒng)以太網(wǎng)的標(biāo)準(zhǔn)通道,主要傳輸對(duì)時(shí)間要求不高的數(shù)據(jù)。比如,列車各設(shè)備初始化數(shù)據(jù)、運(yùn)行狀態(tài)數(shù)據(jù)讀取、非周期數(shù)據(jù)傳輸、通信網(wǎng)絡(luò)的狀態(tài)等;
(2)實(shí)時(shí)通信:為了符合實(shí)時(shí)性要求,優(yōu)化了傳統(tǒng)的通信通道。在實(shí)時(shí)通信的通道中,去除了傳輸層和網(wǎng)絡(luò)層,直接建立應(yīng)用層與數(shù)據(jù)鏈路層之間的聯(lián)系,因此,極大地減少了數(shù)據(jù)傳輸?shù)难訒r(shí);
(3)等實(shí)時(shí)通信:為了滿足對(duì)時(shí)間要求苛刻的數(shù)據(jù)傳輸。比如,控車數(shù)據(jù)、過(guò)程數(shù)據(jù)的周期性傳輸?shù)?,傳輸?shù)據(jù)的周期可以小于1 ms。
為了確保實(shí)現(xiàn)實(shí)時(shí)傳輸功能,分時(shí)復(fù)用機(jī)制將通信周期分為等實(shí)時(shí)(IRT)通道和開(kāi)放通道兩個(gè)部分,如圖2所示。IRT數(shù)據(jù)在IRT通道時(shí)間段內(nèi)傳輸,而其他實(shí)時(shí)數(shù)據(jù)則在開(kāi)放通道時(shí)間段傳輸,傳輸過(guò)程中,依次傳輸、互不影響。
圖2 通信周期
實(shí)時(shí)(RT)通道經(jīng)過(guò)優(yōu)化協(xié)議的軟件實(shí)時(shí)控制,旁路掉TCP/IP層,使通信性能進(jìn)一步優(yōu)化,實(shí)時(shí)幀結(jié)構(gòu)如圖3所示。根據(jù)IEEE 802.1Q/P對(duì)報(bào)文定義了優(yōu)先級(jí),APDU域用來(lái)標(biāo)識(shí)設(shè)備和數(shù)據(jù)狀況(例如:運(yùn)行,停止,出錯(cuò)),網(wǎng)絡(luò)類型與幀類型標(biāo)識(shí)符的結(jié)合可對(duì)實(shí)時(shí)幀進(jìn)行識(shí)別,用以太網(wǎng)類型和幀類型標(biāo)識(shí)符將幀分配到相應(yīng)信道。
圖3 實(shí)時(shí)數(shù)據(jù)幀
IRT通道通過(guò)對(duì)硬件的操作實(shí)現(xiàn),基于IEEE1588精確時(shí)間同步協(xié)議、專用集成電路(ASIC)實(shí)時(shí)交換芯片,從而減少數(shù)據(jù)的處理時(shí)間,進(jìn)而保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,等實(shí)時(shí)數(shù)據(jù)幀如圖4所示。等實(shí)時(shí)數(shù)據(jù)幀的傳輸確定性很大程度上取決于幀類型、網(wǎng)絡(luò)類型。與實(shí)時(shí)幀不同,它不使用虛擬局域網(wǎng)(VLAN)標(biāo)簽分配優(yōu)先級(jí)。
圖4 等實(shí)時(shí)數(shù)據(jù)幀
在實(shí)時(shí)以太網(wǎng)的數(shù)據(jù)幀中,以太網(wǎng)類型字段用Ox0800表示IP幀,若值為 0x8892代表實(shí)時(shí)幀,幀類型字段標(biāo)識(shí)傳輸數(shù)據(jù)的類型,即周期性數(shù)據(jù)和非周期數(shù)據(jù)。
如果現(xiàn)場(chǎng)設(shè)備配有以太網(wǎng)接口,且需要將所有PROFINET協(xié)議中要求的功能都集成到現(xiàn)場(chǎng)設(shè)備中,只需要對(duì)通信棧進(jìn)行擴(kuò)張,而無(wú)需更改現(xiàn)有硬件,即可在標(biāo)準(zhǔn)以太網(wǎng)控制器上集成PROFINET網(wǎng)絡(luò)。
按照IEC61375-2-5和IEC61375-3-4標(biāo)準(zhǔn),本文設(shè)計(jì)了基于PROFINET協(xié)議的地鐵列車通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖5 所示。
列車通信網(wǎng)絡(luò)分為列車級(jí)和車輛級(jí)編組兩層網(wǎng)。列車級(jí)網(wǎng)絡(luò)運(yùn)用雙線冗余的機(jī)制。圖5中,中央控制單元設(shè)在司機(jī)室,列車級(jí)交換機(jī)節(jié)點(diǎn)可以是0、1個(gè)或多個(gè)。數(shù)據(jù)傳輸距離較遠(yuǎn)時(shí)增加中繼器;車輛級(jí)編組網(wǎng)可以跨越多個(gè)車廂,一般采用環(huán)形拓?fù)浣Y(jié)構(gòu)。設(shè)備級(jí)網(wǎng)絡(luò)通常是星型結(jié)構(gòu),主要包括:牽引控制裝置、制動(dòng)控制裝置、輔助電源、門(mén)控單元等列車網(wǎng)絡(luò)控制單元。
圖5 基于PROFINET的地鐵列車通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
依據(jù)圖論的觀點(diǎn)[7],任何一個(gè)指定的網(wǎng)絡(luò)都可以抽象成一個(gè)網(wǎng)絡(luò)模型G,并且模型G包含節(jié)點(diǎn)集V(G)和邊集E(G),即:
通過(guò)確定性網(wǎng)絡(luò)演算理論可知,端到端延遲的上界是傳輸路徑上網(wǎng)絡(luò)單元延遲上界之和。用4元組T[S,A,P,D]表示列車網(wǎng)絡(luò)中的通信任務(wù),其中:S表示任務(wù)的源節(jié)點(diǎn);A表示任務(wù)的目的節(jié)點(diǎn);P表示任務(wù)的周期;D表示任務(wù)的截止期。任務(wù)T在某條路徑上的時(shí)延可通過(guò)式(1)計(jì)算。
圖6為地鐵列車網(wǎng)絡(luò)的模型圖。
圖6 地鐵列車通信網(wǎng)絡(luò)模型
圖6中,通信任務(wù)T是節(jié)點(diǎn)V0~V7,源節(jié)點(diǎn)V0代表中央控制單元和列車級(jí)交換機(jī)1的特性,節(jié)點(diǎn)V1~V6為地鐵列車網(wǎng)絡(luò)中的車輛級(jí)交換機(jī)節(jié)點(diǎn),作為過(guò)程節(jié)點(diǎn);目的節(jié)點(diǎn)V7代表設(shè)備級(jí)網(wǎng)絡(luò)節(jié)點(diǎn)列車網(wǎng)絡(luò)控制單元6。
2.3.1 網(wǎng)絡(luò)及時(shí)可靠度
依據(jù)圖6所示的列車網(wǎng)絡(luò)模型,按照傳輸時(shí)延的算法[8],針對(duì)通信任務(wù)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),根據(jù)公式(1),路徑R1和R2的延時(shí)分別為D1和D2:
對(duì)通信任務(wù)T而言,若路徑的時(shí)延小于等于任務(wù)的截止期限,則此路徑表示可行,反之,此路徑傳輸?shù)臄?shù)據(jù)無(wú)效,因此,用任務(wù)路徑時(shí)延Di的權(quán)函數(shù)f(Di)來(lái)表示。
在列車通信網(wǎng)絡(luò)中,至少有一條路徑時(shí)延小于消息截止期,且經(jīng)過(guò)的鏈路和節(jié)點(diǎn)均可用。列車通信網(wǎng)絡(luò)的及時(shí)可靠度R表示為:
采用邊擴(kuò)張(EE,Edge Expansion)構(gòu)造二元決策圖(BDD)結(jié)構(gòu),評(píng)價(jià)鏈路的及時(shí)可靠性。依據(jù)文獻(xiàn)[9]給出的邊擴(kuò)張圖(EED,Edge Expansion Diagram)方法,利用BDD 結(jié)構(gòu)遞歸求解單條鏈路的及時(shí)可靠度,公式(3)可表示為:
2.3.2 及時(shí)可靠度分析
本文考慮的列車網(wǎng)絡(luò)傳輸鏈路“正?!睍r(shí)的傳輸上限延時(shí)約為0.03 ms,“故障”時(shí)約為0.069 ms??梢栽O(shè)置任務(wù)T的截止期D為1 ms。帶入上述的公式(2)中分析,由于無(wú)論哪種情況下,時(shí)延均滿足截止期D,所以:
兩條路徑均可傳輸數(shù)據(jù)。
車廂控制單元1和車廂控制單元2之間的鏈路“正?!备怕蕿?99%,其他鏈路正常的概率為98%,帶入上述的公式(4)中,及時(shí)可靠度為:
經(jīng)過(guò)BDD結(jié)構(gòu)遞歸求解單條鏈路的及時(shí)可靠度公式驗(yàn)證,鏈路“正?!?概率分別為99%、90%,但是及時(shí)性可靠度相差0.001??梢?jiàn),只要保證鏈路正常的情況下,經(jīng)過(guò)IRT協(xié)議優(yōu)化的節(jié)點(diǎn),可達(dá)到實(shí)時(shí)性小于1 ms的要求,足以滿足本課題要求的2 ms端到端延時(shí)指標(biāo)。
在本文中,參照文獻(xiàn)[8-10]的網(wǎng)絡(luò)仿真方法,模擬實(shí)現(xiàn)基于實(shí)時(shí)以太網(wǎng)的地鐵列車仿真網(wǎng)絡(luò),包括6臺(tái)PC機(jī)(裝有Windows操作系統(tǒng))和2臺(tái)路由設(shè)備。PC機(jī)模擬列車終端設(shè)備,路由節(jié)點(diǎn)設(shè)備由1個(gè)工業(yè)計(jì)算機(jī)單元、1個(gè)路由交換單元以及電源輔助單元組成。路由交換單元上聯(lián)網(wǎng)口可提供一加一主備鏈路雙網(wǎng)口,連接骨干網(wǎng)絡(luò),下聯(lián)網(wǎng)絡(luò)為8路交換網(wǎng)口,用于連接網(wǎng)絡(luò)終端設(shè)備。選擇其中1臺(tái)路由節(jié)點(diǎn)設(shè)備為主控設(shè)備節(jié)點(diǎn)(MN),另1臺(tái)為備用主控節(jié)點(diǎn);PC機(jī)仿真列車設(shè)備從節(jié)點(diǎn)(CN),每3臺(tái)為1組,通過(guò)交換機(jī)連接構(gòu)成環(huán)形網(wǎng)絡(luò),接到路由節(jié)點(diǎn)設(shè)備上,從而形成一個(gè)典型的列車網(wǎng)絡(luò)仿真環(huán)境,如圖7所示。
在仿真實(shí)驗(yàn)時(shí),各個(gè)仿真節(jié)點(diǎn)都需要配置,其中關(guān)鍵內(nèi)容是對(duì)節(jié)點(diǎn)的對(duì)象字典進(jìn)行定義、通信參數(shù)進(jìn) 行配置。
軟件環(huán)境:Windows操作系統(tǒng)(XP及 以 上 );Visual-Studio(VS)環(huán)境;網(wǎng)卡驅(qū)動(dòng)軟件pcaplib。實(shí)驗(yàn)步驟如下:
(1)硬件連接,按照?qǐng)D7所示,通過(guò)交換機(jī)將PC機(jī)相互連接。
圖7 地鐵列車仿真網(wǎng)絡(luò)模型圖
(2)環(huán)境搭建,在PC機(jī)上安裝VS開(kāi)發(fā)環(huán)境,抓包軟件 Wireshark,網(wǎng)卡的驅(qū)動(dòng)程序winpcap。
(3)主、從節(jié)點(diǎn)配置,在objdict.h文件中,修改對(duì)象字典,定義通信對(duì)象和配置通信參數(shù);修改demo_main.c文件,定義相關(guān)變量并與對(duì)象字典中的對(duì)象鏈接;在函數(shù)AppCbSync()中編寫(xiě)用戶自定義的應(yīng)用程序。
在如圖7所示的地鐵列車通信網(wǎng)絡(luò)中,達(dá)到了基于實(shí)時(shí)以太網(wǎng)的列車通信網(wǎng)絡(luò)的仿真效果。
Wireshark是常用的一個(gè)網(wǎng)絡(luò)分析軟件[11],可以診斷多種網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包。在中央控制單元的仿真節(jié)點(diǎn)上,安裝Wireshark抓包軟件,使用該軟件來(lái)完成對(duì)仿真網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)姆治?,抓取與MN進(jìn)行過(guò)交互的數(shù)據(jù)包并對(duì)其進(jìn)行解包分析。
抓取數(shù)據(jù)包的分析界面如圖8所示,Wireshark有3個(gè)窗口,第1個(gè)窗口是封裝的數(shù)據(jù)包信息列表,包括:中央控制單元發(fā)送的序號(hào)(No)、時(shí)間(Time)、源MAC地址(Source)、目的MAC地址(Destination)、協(xié)議類型(Protocol)、信息(info)等;第2個(gè)窗口是封裝的詳細(xì)信息,給出了Preq幀目的Node ID,即中央控制單元允許某個(gè)列車設(shè)備(dst=1)發(fā)送數(shù)據(jù);Pres幀包括源Node ID,代表(src=1)的列車設(shè)備給中央控制單元發(fā)數(shù)據(jù)。第3個(gè)窗口是解析器,用16進(jìn)制數(shù)據(jù)給出傳輸?shù)木唧w內(nèi)容。
圖8 抓取數(shù)據(jù)包的分析界面
在第1個(gè)窗口中不僅有數(shù)據(jù)包的基本信息,還能顯示每個(gè)數(shù)據(jù)包時(shí)間戳。將兩個(gè)相鄰數(shù)據(jù)包的時(shí)間戳相減即可得知1個(gè)數(shù)據(jù)幀的傳輸時(shí)延,考慮到列車長(zhǎng)度一般為25 m,列車級(jí)路由交換設(shè)備之間、交換機(jī)與節(jié)點(diǎn)之間線路不會(huì)超過(guò)50 m,因此,線路傳輸附加時(shí)延數(shù)據(jù)為0.25 μs[12]。從實(shí)驗(yàn)結(jié)果得知,傳輸延時(shí)均小于2 ms,符合列車網(wǎng)絡(luò)對(duì)實(shí)時(shí)性的要求。
就網(wǎng)絡(luò)傳輸?shù)膶?shí)時(shí)性而言,運(yùn)用實(shí)時(shí)以太網(wǎng)協(xié)議機(jī)制能夠滿足車控?cái)?shù)據(jù)傳輸延時(shí)2 ms的要求,仿真實(shí)驗(yàn)說(shuō)明,文中描述的網(wǎng)絡(luò)方案能夠滿足表1中不同類型數(shù)據(jù)準(zhǔn)確的傳輸要求。由于列車網(wǎng)絡(luò)結(jié)構(gòu)變化,實(shí)時(shí)以太網(wǎng)端到端時(shí)延的綜合監(jiān)測(cè)與管理需要從設(shè)備軟硬件、成本等因素綜合考慮,將是進(jìn)一步研究的重要內(nèi)容,也是確保列車網(wǎng)絡(luò)安全可靠運(yùn)行的基本保障。