張 玙
(北京全路通信信號研究設計院集團有限公司,北京 100070)
目前,列控系統各個子系統通信接口的描述一般采用接口協議的方式進行定義,由于列控設備接口繁多,而且信息冗雜,接口協議的定義也十分復雜。而基于列控設備仿真模型的開發,大多數基于設備通信接口的仿真,不同設備間的通信接口協議不同,開發仿真模型需要配置不同的數據,進行復雜的協議解析,工作量大,而且容易造成錯誤。因此,如何描述一種通用設備通信間的接口,使其能夠覆蓋列控設備之間的通信接口,支持不同設備之間各種復雜的協議定義,可復用性高,便于后續仿真模型的通信接口管理,提高軟件的研發效率,有著至關重要的意義。可擴展標記語言(eXtensible Markup Language,XML),是一種用于標記電子文件使其具有結構性的標記語言。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。使用XML 進行接口描述,不僅能夠對具體的接口數據進行充分定義,且具有易讀性,可擴展性和兼容性。
本文以一個設備間的接口定義為基礎進行分析,對列控設備間的通信接口提出一個通用的描述模型,并采用XML 語言對該模型進行描述,以TSRS 與CTC 之間的通信接口為例,具體描述通信接口。
列控設備間的安全通信體系結構采用分層模型結構,分層包括:應用層、安全功能層和通信功能層,如圖1 所示。應用層,是將設備間每個周期需要交互的應用信息組成通用的消息包后進行傳輸;安全功能層,是為了減少傳輸過程中可能出現的風險,如重復、刪除、延遲等,在通信層與應用層之間插入的安全功能模塊; 通信層,負責底層基本的通信功能。安全功能層的協議根據設備間的需求,基本采用《RSSP-I 鐵路信號安全通信協議》[1]和《RSSP-II 鐵路信號安全通信協議》[2],只有應用層協議根據不同設備間需要傳輸的數據不同,定義不同的接口協議。因此本文主要研究的接口模型只包含應用層的接口數據。
列控設備間每個周期需要交互的應用信息通過組成通用消息包進行傳輸,通用消息包中包含不同的應用信息包,其結構如圖2 所示。

圖1 列控設備間通信模型Fig.1 Communication model between train control devices

圖2 通用消息包結構圖Fig.2 General message package structure diagram
兩個設備間的應用層接口協議中包含通信機制及應用層通用消息包定義。通用應用層信息包由幀頭和應用數據包組成。幀頭和應用數據包分別定義字段、長度、以及取值范圍說明。因此可以將整個應用層接口協議抽象成一個大的結構體。
一個通用的應用消息結構包含幀頭和應用消息包列表,幀頭和應用消息列表包作為通用應用消息結構的屬性,同時又是單獨的結構體;應用消息包列表包含若干個具體的應用消息,應用消息包作為應用消息列表結構的屬性,也是一個個獨立的結構體;幀頭和應用消息包中具體字段為各自結構體的屬性,字段取值范圍為屬性的取值定義,結構如圖3 所示。
由于XML 與軟件、硬件和應用程序無關,因此通用應用消息的描述就可以通過XML 作為中介來實現,并且具備一定的易讀性,兼容性及可擴展性。根據上文抽象出來的通用應用消息結構,可定義對應XML 的元素。

圖3 抽象模型結構圖Fig.3 Abstract model structure diagram

StructDefinations 描述一個通用應用消息包最基本的信息,消息的發送與接收的設備類型,因此元素StructDefinations 定義了3 個屬性,如表1 所示。

表1 應用消息包屬性定義Tab.1 Application message package attribute definitions
StructDef 描述一個結構體,結構體可以是通用應用消息的結構,可以是應用消息集合包,也可以是具體應用消息包的結構,還可以是應用消息包中包含的多次循環字段集合,通過屬性來描述具體的結構體名稱,類型。StructDef 為StructDefinations 的子元素,包含的屬性如表2 所示。
FieldDef 描述一個域,域可以是通用應用消息結構包含的包頭或者應用消息包列表,可以是應用消息包列表結構體包含的具體應用消息包,也可以是應用消息包結構體包含的具體字段。包含的屬性如表3 所示。
定義一個取值,取值是信息包包含字段的具體值。取值可有一個或多個。取值是域作為字段的具體可選子元素,如表4 所示。
根據上述XML 的描述,將該模型應用于C3ATO 系統中TSRS 與CTC 設備的接口描述。接口協議中,通用消息包括幀頭信息和應用消息包,以TSRS 應向CTC 發送為例,應用消息包包括運行計劃反饋信息、列車運行狀態信息、列車數量預警信息和邊界運行計劃請求信息。
根據接口協議抽象出XML 模型,如圖4 所示。
根據上述XML 模型,最終XML 描述片段如下顯示:
表2 結構體屬性定義Tab.2 Struct attribute definitions 表3 域屬性定義Tab.3 Domain attributes definition 表4 取值屬性定義Tab.3 Value attributes definition … 圖4 XML模型結構圖Fig.4 XML model structure diagram … …



根據上述XML 描述,可建立1 套通用的協議解析算法,應用于解析2 個列控設備之間的數據交互,軟件根據上模描述的XML 模型,統一接口建模算法,可應用于多種設備的仿真測試環境中,大大提高設備仿真的研發效率。
該模型目前已經應用于:京沈C3ATO 系統測試環境,模擬CTC 設備與TSRS 的數據交互;RBC 仿真測試環境,模擬RBC 外部接口設備ATP,CBI,TSRS 與被測RBC 的數據交互。
本文針對目前列控設備的通信接口領域中,接口協議內容不同,但結構相對統一的問題,提出一種基于XML 的列控設備通信接口描述的模型,該模型已用于多個列控設備的接口數據仿真,面向不同設備間的接口,只需要按照接口協議定義XML結構,利用統一的解析算法進行建模,在仿真系統應用中是行之有效的。該模型極大的降低了開發工作量和開發過程中的錯誤率。但是該模型還需要進行廣泛與深入的研究,通過對相關元素的和屬性的擴充,還可以適用于更多的設備通信接口,使之可以更加規范化,標準化。