一種對CRH2列車通信網絡仿真的方法及裝置與流程
2023-10-05 06:08:59 3

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