侯世良,譚獻(xiàn)海,孫小盛
(西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031)
本文主要以CRH2動(dòng)車(chē)組上的列車(chē)級(jí)網(wǎng)絡(luò)ARCNET作為參考模型,在以太網(wǎng)環(huán)境下進(jìn)行模擬和仿真CRH2動(dòng)車(chē)組網(wǎng)絡(luò)系統(tǒng)工作過(guò)程,開(kāi)發(fā)出基于以太網(wǎng)的CRH2動(dòng)車(chē)組網(wǎng)絡(luò)控制仿真平臺(tái)系統(tǒng),以期為CRH2動(dòng)車(chē)組通信網(wǎng)絡(luò)的仿真開(kāi)發(fā)提供更多的基礎(chǔ)。
CRH2動(dòng)車(chē)組列車(chē)信息控制系統(tǒng)是以通過(guò)貫穿列車(chē)的總線(xiàn)來(lái)傳輸信息,通過(guò)對(duì)列車(chē)運(yùn)行以及與車(chē)載設(shè)備動(dòng)作相關(guān)的信息進(jìn)行集中管理,可以有效的幫助司機(jī)和乘務(wù)員操縱列車(chē),加強(qiáng)車(chē)載設(shè)備的維護(hù)保養(yǎng),提升對(duì)乘客的服務(wù)質(zhì)量。系統(tǒng)的主要部件包括:列車(chē)信息中央裝置、列車(chē)信息終端裝置、列車(chē)信息顯示器、車(chē)內(nèi)信息顯示控制裝置、IC卡架、列車(chē)引導(dǎo)信息顯示器等。
CRH2型動(dòng)車(chē)組內(nèi)部采用ARCNET網(wǎng)絡(luò)標(biāo)準(zhǔn)。它是一種應(yīng)用廣泛的嵌入式網(wǎng)絡(luò)技術(shù),從網(wǎng)絡(luò)拓?fù)淇碅RCNET是一種典型的令牌總線(xiàn)網(wǎng)絡(luò),從網(wǎng)絡(luò)模型來(lái)看,它是一種擁有物理層和數(shù)據(jù)鏈路層的2層網(wǎng)絡(luò),但是卻開(kāi)放頂層接口,允許用戶(hù)自行開(kāi)發(fā)。
CRH2動(dòng)車(chē)組通信網(wǎng)將整個(gè)列車(chē)微機(jī)控制系統(tǒng)的各層次及其各單元之間連接起來(lái),作為系統(tǒng)信息交換和共享的渠道,實(shí)現(xiàn)全列車(chē)環(huán)境下的信息交換。列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的結(jié)構(gòu)如圖1。列車(chē)網(wǎng)絡(luò)主要由終端裝置和中央裝置(假設(shè)均對(duì)應(yīng)一列車(chē)廂)按令牌總線(xiàn)拓?fù)浣Y(jié)構(gòu)連接而成的環(huán)形回路,按圖1順序從左向右依次編號(hào),其中1號(hào)車(chē)廂和10號(hào)車(chē)廂為頭車(chē),是中央裝置,中央裝置中裝載有司控臺(tái)裝置;其余則為終端裝置,每個(gè)終端裝置都連接有對(duì)應(yīng)的車(chē)載設(shè)備,其中3號(hào)、4號(hào)、7號(hào)以及8號(hào)車(chē)還裝載有牽引設(shè)備, 8號(hào)車(chē)為列車(chē)長(zhǎng)車(chē),負(fù)責(zé)監(jiān)控整輛列車(chē)運(yùn)行狀態(tài)以及相關(guān)信息的廣播發(fā)送。CRH2動(dòng)車(chē)網(wǎng)絡(luò)啟動(dòng)時(shí),首先自動(dòng)為這10節(jié)車(chē)廂分配唯一的邏輯地址作為站號(hào),按照ARCNET網(wǎng)絡(luò)機(jī)制構(gòu)建成擁有10個(gè)節(jié)點(diǎn)的邏輯環(huán)網(wǎng),之后按照ARCNET網(wǎng)絡(luò)通信規(guī)范進(jìn)行司控臺(tái)與車(chē)載設(shè)備、司控臺(tái)與牽引設(shè)備之間以及列車(chē)長(zhǎng)與車(chē)載設(shè)備之間信息的實(shí)時(shí)可靠的交互過(guò)程。
圖1 CRH2車(chē)信息網(wǎng)絡(luò)系統(tǒng)總體結(jié)構(gòu)
CRH2列車(chē)通信網(wǎng)絡(luò)系統(tǒng)仿真平臺(tái)架構(gòu)如圖2。該架構(gòu)中共有10臺(tái)計(jì)算機(jī)通過(guò)集線(xiàn)器連接組成星形拓?fù)涞木W(wǎng)絡(luò)結(jié)構(gòu),對(duì)拓?fù)鋬?nèi)的計(jì)算機(jī)按圖示進(jìn)行編號(hào),其中,計(jì)算機(jī)1和計(jì)算機(jī)10上裝載有司控臺(tái)的數(shù)據(jù)源仿真,計(jì)算機(jī)3、計(jì)算機(jī)4、計(jì)算機(jī)7、計(jì)算機(jī)8除了裝載有普通的車(chē)載設(shè)備之外,還裝載有牽引設(shè)備的實(shí)物或者是軟件仿真,作為牽引車(chē)廂,負(fù)責(zé)收發(fā)牽引數(shù)據(jù)報(bào)文信息。
圖2 基于以太網(wǎng)的CRH2列車(chē)通信網(wǎng)絡(luò)系統(tǒng)仿真平臺(tái)架構(gòu)
結(jié)合ARCNET網(wǎng)絡(luò)的通信機(jī)制,要在以太網(wǎng)環(huán)境下實(shí)現(xiàn)對(duì)CRH2動(dòng)車(chē)組的純軟件仿真,首先必須要構(gòu)建適合在以太網(wǎng)環(huán)境下傳遞的相關(guān)報(bào)文,即完成對(duì)ARCNET各種功能報(bào)文的仿真,這些自定義的報(bào)文按照特定的時(shí)序在網(wǎng)絡(luò)中的交互實(shí)現(xiàn)了ARCNET邏輯環(huán)網(wǎng)的構(gòu)建與維護(hù)的仿真,進(jìn)而完成各個(gè)工作站之間數(shù)據(jù)信息在網(wǎng)路的通信,最終實(shí)現(xiàn)CRH2動(dòng)車(chē)組網(wǎng)絡(luò)通信仿真。
針對(duì)CRH2動(dòng)車(chē)組網(wǎng)絡(luò)系統(tǒng)的工作機(jī)制,結(jié)合以太網(wǎng)的原理,設(shè)計(jì)了系統(tǒng)仿真平臺(tái)功能模塊,如圖3。底層為CRH2網(wǎng)絡(luò)通信仿真模塊,利用以太網(wǎng)技術(shù)模擬仿真ARCNET網(wǎng)絡(luò),該模塊轉(zhuǎn)載在每一臺(tái)計(jì)算機(jī)上;上層為HLA/RTI綜合仿真模塊,主要是純軟件模擬CRH2總控臺(tái)、司控臺(tái)以及牽引等設(shè)備的數(shù)據(jù)產(chǎn)生和接收處理,該模塊裝載于1號(hào)機(jī)器以及3、4、7、8號(hào)機(jī)器,綜合仿真平臺(tái)通過(guò)以太網(wǎng)接口與網(wǎng)絡(luò)仿真模塊進(jìn)行通信;車(chē)載設(shè)備數(shù)據(jù)模型用于接收和產(chǎn)生相關(guān)車(chē)載數(shù)據(jù)報(bào)文,該模塊裝載于每一臺(tái)終端裝置。
上層綜合仿真平臺(tái)產(chǎn)生的數(shù)據(jù)報(bào)文信息通過(guò)以太網(wǎng)提供的數(shù)據(jù)發(fā)送接口傳輸至底層網(wǎng)絡(luò),底層網(wǎng)絡(luò)按照ARCNET規(guī)范處理數(shù)據(jù)報(bào)文,通過(guò)與上層的數(shù)據(jù)轉(zhuǎn)發(fā)接口把經(jīng)網(wǎng)絡(luò)處理的數(shù)據(jù)轉(zhuǎn)發(fā)至目的機(jī)器進(jìn)行處理,這樣就完成了數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)的發(fā)送和轉(zhuǎn)發(fā)機(jī)制,簡(jiǎn)單實(shí)現(xiàn)了基于以太網(wǎng)的CRH2動(dòng)車(chē)組通信網(wǎng)絡(luò)的仿真,可作為CRH2動(dòng)車(chē)組網(wǎng)絡(luò)通信的對(duì)等開(kāi)發(fā)的研究基礎(chǔ)。
網(wǎng)絡(luò)仿真技術(shù)就是一種通過(guò)建立網(wǎng)絡(luò)設(shè)備、鏈路和協(xié)議模型,并模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計(jì)或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)的仿真技術(shù)。以太網(wǎng)仿真CRH2網(wǎng)絡(luò)通信,就是要遵循CRH2網(wǎng)絡(luò)通信模型ARCNET網(wǎng)絡(luò)的通信規(guī)范,實(shí)現(xiàn)網(wǎng)絡(luò)通信具體的功能仿真。
依據(jù)CRH2列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的工作機(jī)制,要實(shí)現(xiàn)對(duì)CRH2動(dòng)車(chē)網(wǎng)絡(luò)的仿真,不僅要完成網(wǎng)絡(luò)內(nèi)部交互的各種請(qǐng)求報(bào)文,還要實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)涞臉?gòu)建,即實(shí)現(xiàn)CRH2動(dòng)車(chē)網(wǎng)絡(luò)的令牌環(huán)仿真。CRH2動(dòng)車(chē)網(wǎng)絡(luò)報(bào)文只有工作在令牌環(huán)網(wǎng)上,才能實(shí)現(xiàn)動(dòng)車(chē)網(wǎng)絡(luò)通信過(guò)程,仿真CRH2動(dòng)車(chē)網(wǎng)絡(luò)令牌環(huán)的技術(shù)流程如圖4。
圖3 系統(tǒng)仿真平臺(tái)功能模塊設(shè)計(jì)
(1)工作站上電啟動(dòng),按照?qǐng)D2的方案配置各個(gè)工作站的站號(hào)(對(duì)應(yīng)為邏輯地址)、端口號(hào)以及IP地址完成初始化處理,之后要啟動(dòng)接收處理線(xiàn)程和超時(shí)處理線(xiàn)程,然后廣播發(fā)送RECON報(bào)文,待RECON報(bào)文發(fā)送完畢之后,延遲一段時(shí)間,廣播發(fā)送重構(gòu)令牌幀。
(2)網(wǎng)上其他工作站接收到RECON報(bào)文之后,復(fù)位發(fā)送和接收以及超時(shí)處理狀態(tài),主要包括:當(dāng)前工作站的發(fā)送狀態(tài)、接收狀態(tài)、發(fā)送環(huán)網(wǎng)第一個(gè)令牌狀態(tài)等,同時(shí)清空當(dāng)前站的上一站和下一站;當(dāng)工作站接收到廣播的令牌重構(gòu)報(bào)文,便向發(fā)送站響應(yīng)一個(gè)令牌重構(gòu)ACK報(bào)文,該報(bào)文中攜帶有當(dāng)前站的邏輯地址信息。
(3)已發(fā)送重構(gòu)令牌報(bào)文的工作站接收到網(wǎng)絡(luò)上其他機(jī)器的響應(yīng)報(bào)文后進(jìn)行解析處理,存儲(chǔ)各個(gè)工作站的邏輯站號(hào)。邏輯站號(hào)存儲(chǔ)在數(shù)組M[10]中,數(shù)組的元素下標(biāo)對(duì)應(yīng)存放工作站的邏輯地址即M[did-1]=did。
(4)經(jīng)過(guò)一段時(shí)間的報(bào)文交互即可成功構(gòu)建整個(gè)網(wǎng)絡(luò)環(huán),然后首先發(fā)送RECON報(bào)文的工作站開(kāi)始創(chuàng)建令牌幀,開(kāi)始按照ARCNET的通信機(jī)制進(jìn)行令牌傳遞和數(shù)據(jù)報(bào)文傳輸。
(5)當(dāng)工作站接收到普通令牌幀,啟動(dòng)840 ms定時(shí)器,如果840 ms內(nèi)沒(méi)有重新收到令牌幀,則做退網(wǎng)處理,如果要重新加入網(wǎng)絡(luò)則要開(kāi)始廣播發(fā)送RECON幀,見(jiàn)圖4的超時(shí)處理線(xiàn)程。
通過(guò)上述過(guò)程,基本實(shí)現(xiàn)了以太網(wǎng)仿真CRH2動(dòng)車(chē)網(wǎng)絡(luò)的令牌環(huán)的構(gòu)建以及環(huán)網(wǎng)的維護(hù)過(guò)程,并且該仿真有自己獨(dú)有的特點(diǎn):
(1)鑒于Windows環(huán)境下各站的啟動(dòng)時(shí)間不確定,且遠(yuǎn)遠(yuǎn)超出ms級(jí),因此在令牌環(huán)構(gòu)建時(shí)并沒(méi)有嚴(yán)格遵循ARCNET環(huán)構(gòu)建的規(guī)范。
(2)創(chuàng)建令牌時(shí)并不設(shè)置超時(shí)值,而是根據(jù)整個(gè)系統(tǒng)各個(gè)計(jì)算機(jī)的啟動(dòng)順序來(lái)確定,最先啟動(dòng)的工作站創(chuàng)建發(fā)送令牌幀。
(3)增加了重構(gòu)令牌幀和重構(gòu)令牌響應(yīng)幀,這2個(gè)報(bào)文主要用于獲取網(wǎng)絡(luò)上各個(gè)工作站的邏輯地址,存放在M中。
(4)當(dāng)環(huán)構(gòu)建成功時(shí),可以通過(guò)M數(shù)組獲取整個(gè)環(huán)上各個(gè)工作站的邏輯地址,即每個(gè)工作站均保存有整個(gè)環(huán)上的邏輯地址;通過(guò)動(dòng)態(tài)維護(hù)數(shù)組M中的元素,可以方便的實(shí)現(xiàn)環(huán)網(wǎng)的動(dòng)態(tài)維護(hù),若當(dāng)前站的上一站或下一站退網(wǎng),則在數(shù)組M中上一站或下一站的清0,同時(shí)向下或向上按順序在M中重新尋找上一站或下一站。
系統(tǒng)測(cè)試環(huán)境為7臺(tái)裝有Windows XP系統(tǒng)的計(jì)算機(jī),網(wǎng)絡(luò)環(huán)境為以太網(wǎng),計(jì)算機(jī)之間通過(guò)100/10 M的集線(xiàn)器相連接,設(shè)備上電之后,按照?qǐng)D2的方式進(jìn)行站號(hào)(邏輯地址)、端口號(hào)以及IP地址的分配,為了達(dá)到仿真的效果,分別對(duì)計(jì)算機(jī)按順序編號(hào)1、2、3、5、6、10。配置完成之后,啟動(dòng)程序,利用專(zhuān)門(mén)為仿真系統(tǒng)平臺(tái)研發(fā)設(shè)計(jì)的小型抓包監(jiān)控軟件對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)控,測(cè)試中對(duì)監(jiān)控軟件某一時(shí)刻抓取的數(shù)據(jù)報(bào)文進(jìn)行了解析,可以發(fā)現(xiàn)該報(bào)文包含有以太幀頭部、ARCNET報(bào)文頭及ARCNET payload部分,任選其他的報(bào)文進(jìn)行解析,發(fā)現(xiàn)具有相同的報(bào)文結(jié)構(gòu),該結(jié)構(gòu)符合設(shè)定的報(bào)文格式的定義,取得了預(yù)期的效果。
當(dāng)環(huán)構(gòu)建成功時(shí),環(huán)上的計(jì)算機(jī)圖標(biāo)為高亮狀態(tài),不在環(huán)上的計(jì)算機(jī)圖標(biāo)為黑屏狀態(tài),同時(shí)由開(kāi)始令牌在環(huán)上的順序傳遞,新加入站或者有站退網(wǎng)時(shí),對(duì)應(yīng)計(jì)算機(jī)的圖標(biāo)有黑屏變?yōu)楦吡翣顟B(tài)或者由高亮狀態(tài)變?yōu)楹谄翣顟B(tài)。本次測(cè)試中,令牌的傳遞順序:1→2,2→3,3→5,5→6,6→10,10→1,如此循環(huán)往復(fù),實(shí)現(xiàn)了對(duì)CRH2動(dòng)車(chē)組網(wǎng)絡(luò)的令牌環(huán)的仿真。
以上仿真結(jié)果表明,按照設(shè)計(jì)的方案,以太網(wǎng)成功模擬仿真了ARCNET功能報(bào)文以及令牌環(huán)的構(gòu)建與維護(hù)等功能,經(jīng)過(guò)長(zhǎng)時(shí)間的測(cè)試運(yùn)行表明,本網(wǎng)絡(luò)仿真系統(tǒng)在一般配置的計(jì)算機(jī)中運(yùn)行占用資源少,運(yùn)行流暢,整個(gè)仿真系統(tǒng)可以正確仿真CRH2動(dòng)車(chē)組的網(wǎng)絡(luò)通信機(jī)制,并且數(shù)據(jù)穩(wěn)定可靠,與數(shù)據(jù)源相比幾乎沒(méi)有出現(xiàn)亂序、丟包的現(xiàn)象,與真實(shí)的列車(chē)網(wǎng)絡(luò)比對(duì),減小了令牌的周期,增大了網(wǎng)絡(luò)的吞吐量,達(dá)到了設(shè)計(jì)的要求。
圖4 模擬仿真CRH2動(dòng)車(chē)網(wǎng)絡(luò)通信流程圖
以太網(wǎng)環(huán)境下模擬仿真CRH2動(dòng)車(chē)組內(nèi)部網(wǎng)絡(luò)控制的仿真研究,利用以太網(wǎng)技術(shù)、網(wǎng)絡(luò)仿真技術(shù)和面向過(guò)程的軟件開(kāi)發(fā)技術(shù),實(shí)現(xiàn)了CRH2動(dòng)車(chē)組網(wǎng)絡(luò)內(nèi)部報(bào)文的仿真、邏輯環(huán)網(wǎng)拓?fù)涞臉?gòu)建等基本功能,成功構(gòu)建了CRH2動(dòng)車(chē)組純軟件虛擬仿真平臺(tái),達(dá)到了基本設(shè)計(jì)要求。下面要進(jìn)一步針對(duì)實(shí)際的CRH2動(dòng)車(chē)組內(nèi)部網(wǎng)絡(luò)的工作機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)邏輯控制的仿真等功能,使當(dāng)前仿真平臺(tái)更趨于完善,為實(shí)現(xiàn)具有自主知識(shí)產(chǎn)權(quán)的CRH2型動(dòng)車(chē)網(wǎng)絡(luò)控制仿真平臺(tái)提供一定的開(kāi)發(fā)和研究基礎(chǔ),為CRH2動(dòng)車(chē)的網(wǎng)絡(luò)通信技術(shù)的國(guó)產(chǎn)化提供了一定的參考。
[1]中國(guó)南車(chē)株洲電力機(jī)車(chē)研究所,列車(chē)網(wǎng)絡(luò)系統(tǒng)隨車(chē)技師教材[Z]. 2008.
[2]王 磊,何正友. 高速列車(chē)通信網(wǎng)絡(luò)技術(shù)特點(diǎn)及其應(yīng)用[J].城市軌道交通研究,2008(2):57-64.
[3]張?jiān)? 列車(chē)控制網(wǎng)絡(luò)技術(shù)的現(xiàn)狀與發(fā)展趨勢(shì)[J].電力機(jī)車(chē)與城軌車(chē)輛,2006,29(4):1-4
[4]聶曉波,王立德. ARCNET網(wǎng)絡(luò)系統(tǒng)實(shí)時(shí)性能分析與研究[J]. 鐵道學(xué)報(bào),2011, 33(1):58-62.
[5]江守亮. 環(huán)形ARCNET網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 成都:西南交通大學(xué),2010.
[6]W. Richard Stevens. TCP/IP Illustrated Volume1:The Protocols[M]. 北京:機(jī)械工業(yè)出版社,2000.
[7]彭權(quán)威. 基于OPNET的列車(chē)通信網(wǎng)絡(luò)仿真研究[D]. 成都:西南交通大學(xué),2010.
[8]游 勝. 網(wǎng)絡(luò)協(xié)議仿真方法及軟件實(shí)現(xiàn)關(guān)鍵技術(shù)的研究[D].長(zhǎng)沙:湖南大學(xué),2008.
[9]左 鋒. 基于ARCNET的列車(chē)控制網(wǎng)絡(luò)的開(kāi)發(fā)[D]. 北京:北京交通大學(xué),2009.
[10]張 瑋. CRH2與CRH5動(dòng)車(chē)組列車(chē)信息控制網(wǎng)絡(luò)比較[J].鐵道運(yùn)營(yíng)技術(shù),2010,16(4):4-7.