陳 亮,張 浩,呂方瑤,趙 琳
(1.中國鐵道科學研究院集團有限公司鐵道科學技術研究發展中心,北京 100081;2.中國鐵道科學研究院集團有限公司通信信號研究所,北京 100081)
無線閉塞中心(RBC)作為CTCS-3級列控系統的地面核心設備,車載消息模擬器可以模擬車載ATP設備與RBC進行消息交互,進行特定場景試驗,從而實現對RBC功能的驗證,是RBC仿真測試環境中必不可少的一個組成部分。
本文重點研究車載消息模擬器的軟件模塊設計與實現,通過實際測試案例進行驗證,表明車載消息模擬器可滿足RBC的功能測試場景需求。
車載消息模擬器根據運營場景,結合行車所需要的外部信息,生成與RBC通信的消息。外部信息包括:1)牽引制動信息:包括前進、后退,以及列車當前運行速度等;2)車輛靜態信息:如車次號、列車長度、軸重等;3)應答器報文信息:由仿真平臺向車載消息模擬器發送的應答器報文;4)軌道電路碼序信息:仿真平臺發送當前運行區段軌道電路碼序;5)RBC發送給車載消息模擬器的消息:如行車許可、臨時限速、級間切換、緊急停車消息等。
車載消息模擬器的軟件開發采用C#開發語言以及Visual Studio 2019開發環境。軟件設計采用多例模式,運行主程序的PC機可以同時運行多個程序,因此可以滿足多個車載消息模擬器同時注冊、注銷RBC的場景試驗需求。
車載消息模擬器主要模擬ATP與RBC間的消息交互,因此在系統功能劃分上與ATP類似,軟件結構主要由4個模塊組成:核心計算模塊、仿真平臺接口模塊、無線報文傳輸模塊、人機界面模塊。軟件總體設計結構如圖1所示。

圖1 軟件總體設計結構Fig.1 Software overall design structure diagram
核心計算模塊。根據收到的外部信息計算并生成發送給RBC的無線消息、解析從RBC收到的無線消息、根據外部輸入的信息控制車載模式、等級和速度等。
仿真平臺接口模塊。實現車載消息模擬器與仿真平臺的通信功能,接收應答器報文、軌道電路碼序,并將列車速度周期性地發送給仿真平臺,由仿真平臺根據列車速度計算列車當前位置。
無線報文傳輸模塊。主要負責與RBC進行通信,通過調用已經封裝好的subset-037協議棧與RTU進行接口,實現與真實RBC間的數據傳輸。
人機界面模塊。用于向測試人員提供仿真車載的控制信息,并顯示當前列車的狀態信息。例如,與仿真平臺的通信狀態、與RBC的通信狀態、與外部軟件的通信數據等;測試人員也可以設置列車參數,選擇控車模式與等級等。
本模塊是車載消息模擬器的核心模塊,用于初始化全局變量、讀取車載配置文件、綁定通信端口、無線消息的生成與解析等。
初始化全局變量包括車載模式、等級、初始的最近相關應答器編號;車載配置文件包括車次號、RBC電話號碼/ID號、車長、軸重等相關信息;綁定通信端口是指車載消息模擬器與RTU以及仿真平臺的發送/接收端口的綁定;無線消息的生成與解析功能是車載消息模擬器的主要功能之一。
解析消息是生成消息的逆過程,是將收到的RBC消息、仿真平臺發送的應答器報文以及軌道電路信息,根據通信協議解析出消息的對應字段,最后在人機界面接口進行相應的顯示。
2.2.1 應答器信息接口
車載消息模擬器通過以太網與仿真平臺直接通信進行仿真。與實物仿真方式,即通過應答器和BTM天線獲取應答器信息的方式相比,通過以太網傳輸信息能夠保證在滿足功能測試需求的前提下,避免不必要的復雜性,保證系統的穩定性,同時縮短其開發周期。
2.2.2 軌道電路信息接口
軌道電路信息接口在編程方式上仍采用異步回調委托方式接收仿真平臺發來的消息。
由于車載消息模擬器與RBC通信時,不發送相關的軌道電路碼序信息,因此,僅在顯示界面上提示操作人員當前的碼序信息。
2.2.3 速度-距離信息接口
與仿真平臺的速度-距離信息接口,主要是將車載消息模擬器當前的速度以及累積運行距離報告給仿真測試平臺;仿真測試平臺計算仿真列車在線路上的具體位置。
車載消息模擬器按照500 ms的周期向仿真平臺發送列車運行的累積距離,以保證仿真平臺精確計算仿真列車的當前運行位置。
車載消息模擬器通過仿真RTU與真實RBC進行通信。仿真RTU為獨立的PC機,同時安裝有Primux板卡與以太網板卡,利用Primux板卡通過E1線與RBC的ISDN端口連接通信,利用以太網板卡通過以太網線與車載消息模擬器連接通信,車載消息模擬器與RTU連接示意如圖2所示。

圖2 車載消息模擬器與RTU連接Fig.2 Connecti on between onboard message simulator and RTU
車載消息模擬器在通信模塊中開發與RBC通信的應用層,通過調用RTU程序中按照Subset-037協議實現的無線通信功能模塊(Communicational Functional Module,CFM)與RBC進行通信,通信模塊示意如圖3所示。

圖3 通信模塊示意Fig.3 Schematic diagram of communication module
人機界面模塊接口是測試人員完成注冊、注銷、與RBC建立安全連接、RBC移交等場景功能的人工操作接口。
測試過程中,車載消息模擬器依據測試用例向RBC發送特定的消息,以滿足測試RBC功能的需求。
人機界面模塊接口提供了需要人工設置特定消息字段的內容,可以實現人工消息插入功能,將輸入的數據組合成消息發送給RBC。
在CTCS-3級列控系統的實驗室環境下,車載消息模擬器可以實現以下測試場景:注冊與注銷、等級與模式的轉換、RBC移交、調車、臨時限速、緊急消息處理、故障模擬場景。為了對RBC進行功能測試,基于運營場景對測試序列進行測試。本文以RBC移交及等級轉換兩個典型場景為例,說明車載消息模擬器實現基于運營場景的測試過程。
車載消息模擬器可以向RBC發送正常的消息進行功能測試,也可以向RBC發送真實車載設備所不能發出的異常消息,作為RBC功能測試的一項重要需求。
測試開始前,車載消息模擬器與仿真平臺、RBC建立正確連接,其測試流程如圖4所示。
以RBC移交場景為例,RBC移交是在兩個RBC的邊界處,實現列車行車許可安全切換的過程,車載消息模擬器可以完成仿真列車通過RBC邊界的移交場景。
車載消息模擬器根據測試需要選擇手動移交或自動移交。手動移交由消息插入功能實現,車載消息模擬器按照RBC移交流程向RBC發送測試RBC功能所需要的正確或者異常的消息,完成特定場景的測試;自動移交則是按照RBC移交流程由車載消息模擬器自動完成與移交/接收RBC的消息交互。
RBC移交流程如圖5所示,描述列車在兩個RBC間行車許可控制的安全切換過程。

圖5 RBC移交過程Fig.5 RBC handover process
車載消息模擬器選擇完全模式,仿真列車以完全模式運行,當移動授權(MA)延伸至RBC移交邊界時,收到移交RBC發送的包含P131的行車許可(M3)消息后,通過解析P131包中的接收RBC的ID號及電話號碼信息呼叫接收RBC;與接收RBC建立連接后,車載消息模擬器同時與移交RBC、接收RBC進行無線消息交互,待列車最大前端通過移交邊界,接收RBC接管仿真列車,列車繼續運行,待最小安全后端通過移交邊界后列車與移交RBC斷開連接,完成移交場景。
本實例以取消C2/C3等級轉換與移交RBC縮短移動授權場景的測試序列為例說明,如表1所示。

表1 取消C2/C3等級轉換與移交RBC縮短移動授權場景的測試序列Tab.1 Test sequence for cancelling C2/C3 conversion and shortening movement authority by handover RBC
經過實際仿真測試,序列中各步驟的測試結果均符合系統需求規范,證明車載消息模擬器能夠在列控系統研發、測試等方面提供仿真技術支持。
目前CTCS-3級列控車載消息模擬器已基于C#語言實現了基本功能,下一步將采用腳本測試方式實現自動化測試,逐步完善車載消息模擬器自動化測試的功能。