本發(fā)明涉及一種對crh2列車通信網(wǎng)絡(luò)仿真的方法及裝置。
背景技術(shù):
隨著我國列車運(yùn)行速度的不斷提升,中國高速鐵路進(jìn)入跨越式發(fā)展階段。相比于傳統(tǒng)的列車,高速列車需要處理越來越多的信息,比如列車控制、狀態(tài)監(jiān)控、故障診斷、旅客服務(wù)等信息。為滿足上述需要,列車通信網(wǎng)絡(luò)應(yīng)運(yùn)而生。它可以將上述大量信息進(jìn)行集中管理與控制,而且讓上述數(shù)量龐大的信息安全、高效、快速、可靠、準(zhǔn)確的在整個(gè)列車上傳輸。因此對于列車而言,列車通信網(wǎng)絡(luò)具有極其重要的意義。
crh2型列車信息傳輸系統(tǒng)通過貫穿列車的總線傳輸信息,并且對列車運(yùn)行狀況及車載設(shè)備動(dòng)作的相關(guān)信息進(jìn)行集中管理。信息傳輸系統(tǒng)主要由列車信息中央裝置、列車信息終端裝置及其它輔助裝置組成。crh2型動(dòng)車組網(wǎng)絡(luò)控制系統(tǒng)采用列車級和車輛級兩級網(wǎng)絡(luò)結(jié)構(gòu)。列車級網(wǎng)絡(luò)為連接編組各車輛的通信網(wǎng)絡(luò),以列車運(yùn)行控制為目的,連接各中央裝置和終端裝置,采用雙重環(huán)網(wǎng)結(jié)構(gòu)。車輛級網(wǎng)絡(luò)為連接車廂內(nèi)設(shè)備的通信網(wǎng)絡(luò)。
近年來,列車通信網(wǎng)絡(luò)技術(shù)已引起越來越多研究工作者的興趣與重視,其中對其進(jìn)行模擬仿真研究便是一種既方便又快捷的研究方案。
然而,現(xiàn)有的對crh2列車網(wǎng)絡(luò)仿真研究中主要采用總線型網(wǎng)絡(luò)結(jié)構(gòu),然后在此結(jié)構(gòu)基礎(chǔ)上邏輯地實(shí)現(xiàn)雙環(huán)網(wǎng)結(jié)構(gòu)。但這種結(jié)構(gòu)與crh2的列車通信網(wǎng)絡(luò)結(jié)構(gòu)差異較大,不能獲得更準(zhǔn)確更有說服力的數(shù)據(jù),所以采用雙環(huán)網(wǎng)結(jié)構(gòu)的仿真方法的研究具有重要意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于解決傳統(tǒng)的對crh2列車通信網(wǎng)絡(luò)仿真方法中“網(wǎng)絡(luò)結(jié)構(gòu)與實(shí)際不符”的問題,從而解決一些由此帶來的仿真結(jié)果不正確、獲取數(shù)據(jù)不具說服力等問題。
為了實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案是,
一種對crh2列車通信網(wǎng)絡(luò)仿真的方法,包括以下步驟:
設(shè)置包括對應(yīng)列車中央裝置的中央節(jié)點(diǎn)和對應(yīng)列車終端裝置的終端節(jié)點(diǎn)在內(nèi)的多個(gè)節(jié)點(diǎn)模型,各節(jié)點(diǎn)模型之間通過雙環(huán)網(wǎng)絡(luò)總線互相通信連接以形成網(wǎng)絡(luò)模型并進(jìn)行數(shù)據(jù)傳輸;
所述的節(jié)點(diǎn)模型通過數(shù)據(jù)產(chǎn)生模塊、數(shù)據(jù)控制模塊、arcnet協(xié)議實(shí)現(xiàn)模塊和環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口實(shí)現(xiàn),所述的數(shù)據(jù)控制模塊分別通信連接數(shù)據(jù)產(chǎn)生模塊、數(shù)據(jù)控制模塊和arcnet協(xié)議實(shí)現(xiàn)模塊,所述的環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口通信連接arcnet協(xié)議實(shí)現(xiàn)模塊;
所述的一種對crh2列車通信網(wǎng)絡(luò)仿真的方法,節(jié)點(diǎn)模型內(nèi)進(jìn)行數(shù)據(jù)處理的步驟為:
數(shù)據(jù)產(chǎn)生模塊產(chǎn)生原始數(shù)據(jù),并傳輸至數(shù)據(jù)控制模塊進(jìn)行包括對數(shù)據(jù)進(jìn)行拆包、打包在內(nèi)的控制處理,數(shù)據(jù)經(jīng)數(shù)據(jù)控制模塊處理后傳輸至arcnet協(xié)議實(shí)現(xiàn)模塊,以采用arcnet協(xié)議來經(jīng)過環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口發(fā)送至雙環(huán)網(wǎng)絡(luò)上;當(dāng)arcnet協(xié)議實(shí)現(xiàn)模塊從環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口上收到數(shù)據(jù)時(shí),則將數(shù)據(jù)交給數(shù)據(jù)控制模塊進(jìn)行控制處理之后,再交給數(shù)據(jù)處理模塊進(jìn)行最終處理。
所述的一種對crh2列車通信網(wǎng)絡(luò)仿真的方法,所述的arcnet協(xié)議實(shí)現(xiàn)模塊用于實(shí)現(xiàn)采用arcnet協(xié)議進(jìn)行數(shù)據(jù)傳輸,具體步驟為:
arcnet協(xié)議實(shí)現(xiàn)模塊首先判斷數(shù)據(jù)來源,如果從自身節(jié)點(diǎn)產(chǎn)生數(shù)據(jù),則進(jìn)行儲(chǔ)存以等待獲得令牌幀itt后再發(fā)送;如果從雙環(huán)網(wǎng)絡(luò)上收到數(shù)據(jù),則根據(jù)幀類型進(jìn)行不同處理:若為令牌幀itt,則發(fā)送儲(chǔ)存的數(shù)據(jù);若為訪問幀,則根據(jù)自身存儲(chǔ)空間進(jìn)行回復(fù),若有足夠存儲(chǔ)空間則回復(fù)確認(rèn)幀ack,否則回復(fù)否認(rèn)幀nak。
所述的一種對crh2列車通信網(wǎng)絡(luò)仿真的方法,各節(jié)點(diǎn)模型之間進(jìn)行數(shù)據(jù)傳輸時(shí),包括以下步驟:
當(dāng)前節(jié)點(diǎn)獲得令牌后,向目的節(jié)點(diǎn)發(fā)送詢問幀,目的節(jié)點(diǎn)檢查自身存儲(chǔ)空間,若有空間存儲(chǔ)數(shù)據(jù)則回復(fù)ack,否則回復(fù)nak;若當(dāng)前節(jié)點(diǎn)收到nak則認(rèn)為此次發(fā)送數(shù)據(jù)失敗,并將令牌傳給下一節(jié)點(diǎn);若當(dāng)前節(jié)點(diǎn)收到ack,則向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀,目的節(jié)點(diǎn)收到后進(jìn)行校驗(yàn),如果校驗(yàn)無誤回復(fù)ack并將令牌傳給下一節(jié)點(diǎn),否則不回復(fù)任何幀;當(dāng)前節(jié)點(diǎn)在等待預(yù)設(shè)時(shí)間后未收到ack,則認(rèn)為此次發(fā)送數(shù)據(jù)失敗,把令牌傳給下一節(jié)點(diǎn)
一種對crh2列車通信網(wǎng)絡(luò)仿真的裝置,包括通過雙環(huán)網(wǎng)絡(luò)總線互相通信連接以形成網(wǎng)絡(luò)模型的多個(gè)節(jié)點(diǎn)模型,所述的節(jié)點(diǎn)模型包括至少一個(gè)對應(yīng)列車中央裝置的中央節(jié)點(diǎn)和多個(gè)對應(yīng)列車終端裝置的終端節(jié)點(diǎn);
所述的節(jié)點(diǎn)模型包括數(shù)據(jù)產(chǎn)生模塊、數(shù)據(jù)控制模塊、arcnet協(xié)議實(shí)現(xiàn)模塊和環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口,所述的數(shù)據(jù)控制模塊分別通信連接數(shù)據(jù)產(chǎn)生模塊、數(shù)據(jù)控制模塊和arcnet協(xié)議實(shí)現(xiàn)模塊,所述的環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口通信連接arcnet協(xié)議實(shí)現(xiàn)模塊。
本發(fā)明的技術(shù)效果在于,與傳統(tǒng)的對crh2網(wǎng)絡(luò)仿真方法相比,本發(fā)明揭示的網(wǎng)絡(luò)仿真方法所采用的結(jié)構(gòu)與實(shí)際的網(wǎng)絡(luò)結(jié)構(gòu)保持一致。由此可以更準(zhǔn)確的模擬crh2列車通信網(wǎng)絡(luò),并獲得更具有說服力的數(shù)據(jù)。
附圖說明
圖1crh2列車通信網(wǎng)絡(luò)結(jié)構(gòu);
圖2本發(fā)明的網(wǎng)絡(luò)結(jié)構(gòu)(網(wǎng)絡(luò)模型);
圖3本發(fā)明的節(jié)點(diǎn)模型;
圖4本發(fā)明的進(jìn)程模型。
具體實(shí)施方式
參見圖2,本實(shí)施例所采用的網(wǎng)絡(luò)模型中,其中master1和master2是2個(gè)中央節(jié)點(diǎn),node1到noden是n個(gè)終端節(jié)點(diǎn),分別對應(yīng)n節(jié)車廂。連接這些節(jié)點(diǎn)的是雙環(huán)網(wǎng)絡(luò),主要負(fù)責(zé)傳遞列車級網(wǎng)絡(luò)信息。
由于此方法對應(yīng)的仿真系統(tǒng)是基于opnet軟件來實(shí)現(xiàn)的,所以具體實(shí)施將從網(wǎng)絡(luò)模型、節(jié)點(diǎn)模型、進(jìn)程模型這三個(gè)層面來設(shè)計(jì)。
1.網(wǎng)絡(luò)模型設(shè)計(jì)
crh2型列車編組為4m4t,一共8節(jié)車廂。其中第2,3,6,7車廂為動(dòng)車,其余為拖車。每個(gè)車廂都有一臺終端裝置,其中1號和8號車廂還另外分別有一臺中央裝置。中央裝置具有列車信息管理和向列車信息終端裝置傳輸數(shù)據(jù)的功能;終端裝置實(shí)現(xiàn)各車廂中車載設(shè)備的信息傳輸。為了克服在總線型網(wǎng)絡(luò)的諸多不足,本方法的原則是摒棄總線型,而采取一種與真實(shí)列車一致的網(wǎng)絡(luò)結(jié)構(gòu)。參照如圖1所示的crh2列車通信網(wǎng)絡(luò)結(jié)構(gòu),最終設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。其中master1和master2是2個(gè)中央節(jié)點(diǎn),node1-node8是8個(gè)終端節(jié)點(diǎn),分別對應(yīng)8節(jié)車廂。連接這10個(gè)裝置的是雙環(huán)網(wǎng)絡(luò)總線。從圖2中可以看出,此方案的網(wǎng)絡(luò)結(jié)構(gòu)與真實(shí)的列車網(wǎng)絡(luò)結(jié)構(gòu)保持高度一致。
2.節(jié)點(diǎn)模型設(shè)計(jì)
圖2中每個(gè)節(jié)點(diǎn)都有對應(yīng)的節(jié)點(diǎn)模型。設(shè)計(jì)節(jié)點(diǎn)模型,就是定義本節(jié)點(diǎn)具體的工作流程。為了簡化模型,在本方法設(shè)計(jì)的仿真模型中,node_1到node_8的節(jié)點(diǎn)模型基本是相同的。以node1為例,圖3是node1的節(jié)點(diǎn)模型。
從圖3中可以看出,節(jié)點(diǎn)模型是由一個(gè)個(gè)模塊組成,這些模塊即是獨(dú)立的進(jìn)程,它們根據(jù)分工的不同而獨(dú)立存在,組合在一起則可以完成復(fù)雜的網(wǎng)絡(luò)過程。仿真模型一共有8個(gè)進(jìn)程模塊,它們分別負(fù)責(zé)工作如下:
src:數(shù)據(jù)產(chǎn)生模塊
sink:數(shù)據(jù)處理模塊
proc:數(shù)據(jù)控制模塊
arcnet_mac:arcnet協(xié)議實(shí)現(xiàn)模塊
rcv_0和xmt_0:第一層環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口
rcn_1和xmt_1:第二層環(huán)網(wǎng)數(shù)據(jù)收、發(fā)接口
其中,src和sink模塊對應(yīng)了車輛級的網(wǎng)絡(luò)功能。此節(jié)點(diǎn)的工作過程如下:src模塊產(chǎn)生原始數(shù)據(jù)(其中包括命令和普通數(shù)據(jù)),并交給proc模塊進(jìn)行控制處理。proc模塊處理完上層發(fā)過來的數(shù)據(jù)后會(huì)將其交給mac模塊,它使用arcnet協(xié)議通過雙環(huán)網(wǎng)絡(luò),將數(shù)據(jù)傳送到發(fā)送接口上;如果arcnet_mac模塊從接收接口上收到數(shù)據(jù),則將數(shù)據(jù)交給proc模塊進(jìn)行控制處理之后,再交給sink模塊最終處理。
3.進(jìn)程模型設(shè)計(jì)
節(jié)點(diǎn)模型的每個(gè)模塊都是一個(gè)個(gè)進(jìn)程塊,每個(gè)進(jìn)程塊都有各自的進(jìn)程模型。進(jìn)程模型本質(zhì)上就是狀態(tài)轉(zhuǎn)移圖,每個(gè)狀態(tài)里都可以通過寫代碼來定義其功能。再在狀態(tài)之間轉(zhuǎn)換時(shí)附加上各種條件,以此來完成相應(yīng)的功能。在整個(gè)網(wǎng)絡(luò)的仿真過程中,arcnet_mac進(jìn)程模塊是最重要的。arcnet_mac進(jìn)程模型工作流程如圖4所示。
arcnet_mac模塊的功能如下:節(jié)點(diǎn)首先會(huì)進(jìn)行一些初始化工作,然后等待數(shù)據(jù)的到來。如果從上層模塊傳來了數(shù)據(jù),則把數(shù)據(jù)存儲(chǔ)起來,以等待發(fā)送;如果從網(wǎng)絡(luò)上收到了數(shù)據(jù),又分為2種情況:一是獲得了令牌幀,則可以發(fā)送數(shù)據(jù);二是獲得了詢問幀,則會(huì)根據(jù)自身是否有存儲(chǔ)空間來回復(fù)ack或nak幀。
發(fā)送數(shù)據(jù)的過程:假設(shè)a向b發(fā)送數(shù)據(jù),a獲得令牌后向b發(fā)送詢問幀,b檢查自己是否有空間存儲(chǔ)數(shù)據(jù),分別回復(fù)ack或nak。如果回復(fù)的是nak,則a認(rèn)為此次發(fā)送數(shù)據(jù)失敗,把令牌傳給下一節(jié)點(diǎn);如果是ack,a會(huì)向b發(fā)送數(shù)據(jù)幀,b收到后進(jìn)行校驗(yàn),如果校驗(yàn)無誤回復(fù)ack,否則不回復(fù)任何幀。a在等待一定時(shí)間后還沒收到ack就會(huì)認(rèn)為此次發(fā)送數(shù)據(jù)失敗,把令牌傳給下一節(jié)點(diǎn)。