劉成瑞,鄒 穎
(1.中車青島四方車輛研究所有限公司,青島 266031;2.中車唐山機(jī)車車輛有限公司,唐山 063035)
目前,在高速動車組以及城市軌道車輛上,都采用列車通信網(wǎng)絡(luò)(TCN)技術(shù)。TCN采用由國際電工委員會(IEC)發(fā)布的IEC61375—1標(biāo)準(zhǔn)[1-2],用于列車的遠(yuǎn)程控制、診斷以及維護(hù)管理。TCN采用兩級總線拓?fù)浣Y(jié)構(gòu):絞線式列車總線(WTB)和多功能車廂總線(MVB)。TCN網(wǎng)關(guān)作為這兩級列車總線節(jié)點,起著連接兩級總線和網(wǎng)關(guān)的作用,完成MVB總線和WTB總線之間的協(xié)議轉(zhuǎn)換,實現(xiàn)跨總線通信,是TCN網(wǎng)絡(luò)控制系統(tǒng)的關(guān)鍵設(shè)備之一。
TCN網(wǎng)關(guān)連接的WTB總線主要用于列車級數(shù)據(jù)的通信,可以實現(xiàn)過程數(shù)據(jù)和消息數(shù)據(jù)的傳輸,其最大特點就是具有初運行功能:動態(tài)配置,在列車進(jìn)行聯(lián)掛或者解聯(lián)操作時能夠自動地對WTB總線上的節(jié)點進(jìn)行編址,構(gòu)成新的列車拓?fù)浣Y(jié)構(gòu)。WTB總線特性適用于需要動態(tài)編組的列車車輛。在WTB總線上進(jìn)行數(shù)據(jù)傳輸時,因WTB總線帶寬限制以及動態(tài)尋址的方式,使得每個節(jié)點在每個傳輸周期內(nèi)能夠傳輸?shù)膶崟r性數(shù)據(jù)量有限制[3]。為了解決上述問題,以CRH1、CRH3以及CRH5等車型網(wǎng)絡(luò)控制系統(tǒng)采用過程數(shù)據(jù)加UIC消息數(shù)據(jù)通信方式,實時性要求較高的采用過程數(shù)據(jù)通信,實時性要求不高的數(shù)據(jù)采用消息數(shù)據(jù)通信,但是此種通信方式使用的消息數(shù)據(jù)需在MVB總線和WTB總線上同時使用消息通信。TCN網(wǎng)關(guān)在消息通信時作為一個路由器對消息數(shù)據(jù)進(jìn)行轉(zhuǎn)換,存在傳輸延時長以及程序的開發(fā)難度大,在出現(xiàn)偶發(fā)性延時問題時不容易解決等難題;以中國標(biāo)動動車組系列車型網(wǎng)絡(luò)控制系統(tǒng)采用過程數(shù)據(jù)分時分頁機(jī)制,雖然部分實時數(shù)據(jù)得到保證,但是當(dāng)數(shù)據(jù)量越大時產(chǎn)生的傳輸延時越長,存在故障或報警類數(shù)據(jù)傳輸延時較長的特點[4-8]。 為此,本文設(shè)計了一種使用TCN消息及過程數(shù)據(jù)實現(xiàn)WTB總線通信的網(wǎng)關(guān)程序,只在WTB總線上使用TCN消息,降低了網(wǎng)關(guān)程序的開發(fā)難度,增大了WTB總線上傳輸?shù)臄?shù)據(jù)量,同時也保證了在數(shù)據(jù)量較大時WTB總線上的產(chǎn)生的傳輸延時較小。
WTB總線主由TCN初運行隨機(jī)產(chǎn)生,通過總線主的調(diào)度,實現(xiàn)WTB總線通信。WTB總線主對總線的調(diào)度以基本周期為單位,把總線活動分成基本周期,一個基本周期分為周期相和偶發(fā)相。WTB總線通信基本周期結(jié)構(gòu),如圖1所示。
圖1 WTB總線通信基本周期結(jié)構(gòu)圖
周期相用于傳遞周期性的過程數(shù)據(jù),偶發(fā)相用于傳遞消息數(shù)據(jù)和監(jiān)視數(shù)據(jù)。
WTB總線通信是以幀對形式存在,由總線主發(fā)送主幀進(jìn)行輪詢,被輪詢的節(jié)點以從幀進(jìn)行響應(yīng)。當(dāng)總線主需要輪詢一個節(jié)點的過程數(shù)據(jù)時,首先會發(fā)送一個過程數(shù)據(jù)請求幀,被輪詢的節(jié)點收到請求幀后廣播一個從幀進(jìn)行響應(yīng)。如圖2所示。
當(dāng)總線主輪詢一個節(jié)點的消息數(shù)據(jù)時,節(jié)點用一個包含消息包的從幀進(jìn)行響應(yīng),形成消息數(shù)據(jù)報文,如圖3所示。
圖2 過程數(shù)據(jù)報文通信圖示意圖
圖3 消息數(shù)據(jù)報文通信圖示意圖
與過程數(shù)據(jù)通信不同,消息數(shù)據(jù)包中含有4 byte的網(wǎng)絡(luò)報頭,以及消息傳送控制字段,這些與鏈路層無關(guān),而且消息數(shù)據(jù)長度是可變化的。
根據(jù)實時性以及傳輸延時要求不同,對于實時性要求較高用于車輛控制的控制指令、速度等數(shù)據(jù)報文在WTB總線上采用過程數(shù)據(jù)進(jìn)行傳輸,對于設(shè)備狀態(tài)及故障診斷數(shù)據(jù)采用消息進(jìn)行傳輸。
TCN網(wǎng)關(guān)軟件架構(gòu),如圖4所示。
(1)固件主要實現(xiàn)MVB總線數(shù)據(jù)收發(fā)、WTB總線初運行和數(shù)據(jù)收發(fā)以及中央處理器CPU板卡對各個通信板卡的訪問。
(2)配置系統(tǒng)軟件主要包含初始化變量文件、MVB端口配置文件、消息通信配置文件、系統(tǒng)服務(wù)啟動配置文件等一些關(guān)鍵配置文件,可以根據(jù)項目需求,靈活改變配置文件實現(xiàn)不同網(wǎng)關(guān)的項目應(yīng)用需求。
(3)應(yīng)用軟件開發(fā)環(huán)境采用IsaGRAF,開發(fā)環(huán)境的輸出可選擇為C語言代碼或硬件無關(guān)代碼(TIC)。ISaGRAF虛擬機(jī)是一個功能強大的最優(yōu)的快速的控制機(jī),它可執(zhí)行任何硬件控制器上的TIC。 應(yīng)用開發(fā)環(huán)境同時具有IEC 61499定義的開發(fā)分布式應(yīng)用的特征虛擬機(jī),生成的目標(biāo)代碼運行在Linux操作系統(tǒng)上。
圖4 網(wǎng)關(guān)架構(gòu)圖
TCN網(wǎng)關(guān)在應(yīng)用ISaGRAF開發(fā)程序的整個框架,如圖5所示。
圖5 ISaGRAF程序架構(gòu)
在硬件架構(gòu)下可以設(shè)置,例如:連接的目標(biāo)總線的網(wǎng)絡(luò)特性,目標(biāo)配置特性以及資源特性等參數(shù)。在鏈路架構(gòu)下可以定義可編程單元,主要使用FBD以及ST語言,同時可以使用LD、SFC以及IL和FC語言等實現(xiàn)程序的功能??梢跃帉懞瘮?shù)或者函數(shù)模塊,這些模塊能夠應(yīng)用于子系統(tǒng)中或者任何的可編程單元中。目錄視圖下主要有定義的相關(guān)程序變量,應(yīng)用于函數(shù)或者函數(shù)模塊的參數(shù)以及定義或者導(dǎo)入的結(jié)構(gòu)體等。
實現(xiàn)通信的上層應(yīng)用程序包含初始化模塊,過程數(shù)據(jù)編組模塊,初運行模塊以及數(shù)據(jù)收發(fā)模塊。(1)初始化模塊主要包含看門狗初始化、MVB的初始化、WTB的初始化以及消息通信用的功能號初始化。通過MVB的初始化對TCN網(wǎng)關(guān)內(nèi)部的MVB總線上使用的端口進(jìn)行配置,并分配設(shè)備地址。通過WTB初始化配置初運行幀數(shù)據(jù),設(shè)置網(wǎng)關(guān)的工作模式以及WTB總線上的通信周期??撮T狗初始化主要用于啟動硬件看門狗,在網(wǎng)關(guān)程序異常時復(fù)位網(wǎng)關(guān)。(2)過程數(shù)據(jù)編組模塊主要對WTB總線處于動態(tài)變化時,對MVB總線以及WTB總線上發(fā)送的數(shù)據(jù)進(jìn)行管理,在初運行未完成時不調(diào)用數(shù)據(jù)收發(fā)模塊對數(shù)據(jù)進(jìn)行收發(fā),在完成初運行后解鎖數(shù)據(jù)的收發(fā),保證網(wǎng)關(guān)在數(shù)據(jù)轉(zhuǎn)換時的正確性。(3)初運行模塊主要實現(xiàn)對列車鑰匙占用檢測并觸發(fā)TCN網(wǎng)關(guān)內(nèi)部的UIC初運行,計算UIC地址。(4)數(shù)據(jù)收發(fā)模塊實現(xiàn)MVB總線和WTB總線上的過程數(shù)據(jù)收發(fā)以及WTB總線上的消息數(shù)據(jù)的收發(fā)。
為了驗證TCN網(wǎng)關(guān)程序設(shè)計的合理性以及可靠性,在實驗室環(huán)境下搭建了半實物仿真平臺對TCN網(wǎng)關(guān)的通信進(jìn)行測試。試驗臺結(jié)構(gòu),如圖6所示。
圖6 半實物仿真試驗臺
半實物仿真平臺由幾個對稱半列的設(shè)備構(gòu)成的最小單元、并由最小單元內(nèi)的TCN網(wǎng)關(guān)通過WTB總線互聯(lián)組成,每一個半列由TCN網(wǎng)關(guān)、中央控制單元、診斷顯示裝置等實物裝置、MVB/ETH網(wǎng)關(guān)和虛擬設(shè)備模型管理構(gòu)成的仿真主機(jī)組成模擬列車網(wǎng)絡(luò)控制系統(tǒng)的一個最小單元內(nèi)的通信。由仿真主機(jī)對虛擬設(shè)備進(jìn)行建模管理并通過MVB/ETH網(wǎng)關(guān)實現(xiàn)與中央控制單元的通信。
3.2.1 過程數(shù)據(jù)通信測試
WTB總線上每個節(jié)點能夠發(fā)送的過程數(shù)據(jù)量128 byte,過程數(shù)據(jù)測試數(shù)據(jù)流,如圖7所示。
圖7 過程數(shù)據(jù)通信測試數(shù)據(jù)流
由中央控制單元CCU1通過發(fā)送過程數(shù)據(jù)到TCN網(wǎng)關(guān)1,TCN網(wǎng)關(guān)1接收到過程數(shù)據(jù)后對過程數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),并以過程數(shù)據(jù)的形式發(fā)送到WTB總線上,TCN網(wǎng)關(guān)2從WTB總線上以過程數(shù)據(jù)的形式接收,并將接收到的過程數(shù)據(jù)發(fā)送到中央控制單元CCU2上。
通過測試,兩個CCU發(fā)送的過程數(shù)據(jù)都能夠被對方接收到,WTB總線上的過程數(shù)據(jù)在一個通信周期內(nèi)即可完成接收,總線上的過程數(shù)據(jù)通信傳輸延時為一個總線通信周期。
3.2.2 消息數(shù)據(jù)通信測試
由于帶寬限制,消息數(shù)據(jù)通信時要以功能號進(jìn)行節(jié)點間的通信,因此每個節(jié)點發(fā)送的消息數(shù)據(jù)包大小不超過119 byte的數(shù)據(jù),否則會分包產(chǎn)生較大的數(shù)據(jù)通信延時。消息數(shù)據(jù)測試數(shù)據(jù)流,如圖8所示。
由中央控制單元CCU1通過發(fā)送過程數(shù)據(jù)到TCN網(wǎng)關(guān)1,TCN網(wǎng)關(guān)1接收到過程數(shù)據(jù)后對過程數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),并以消息數(shù)據(jù)的形式發(fā)送到WTB總線上,TCN網(wǎng)關(guān)2從WTB總線上以消息數(shù)據(jù)的形式接收,并將接收到的消息數(shù)據(jù)發(fā)送到中央控制單元CCU2上。
通過測試,兩個CCU發(fā)送的過程數(shù)據(jù)都能夠被對方接收到,WTB總線上的消息數(shù)據(jù)在一個通信周 期內(nèi)即可完成接收,總線上的消息數(shù)據(jù)通信傳輸延時為一個總線通信周期。
圖8 消息數(shù)據(jù)通信測試數(shù)據(jù)流
采用模塊化設(shè)計,實現(xiàn)了WTB總線上的過程數(shù)據(jù)和消息數(shù)據(jù)通信的網(wǎng)關(guān)程序的開發(fā),并在列車網(wǎng)絡(luò)系統(tǒng)半實物仿真平臺下得到驗證。該程序設(shè)計方式在降低WTB總線傳輸延時的情況下有效提高了WTB總線通信數(shù)據(jù)量,降低了程序開發(fā)的復(fù)雜度,提高了列車網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性,保證了列車網(wǎng)絡(luò)系統(tǒng)的可靠性。