張仕雄,李麗蘭
(1. 武漢鐵路職業技術學院 鐵道信號與工程系,湖北 武漢 430205;2. 鄭州鐵路職業技術學院電子工程系,河南 鄭州 540052)
客運專線列控中心(Train Control Center,TCC)是我國高速鐵路和客運專線列控系統地面信號控制的關鍵設施[1]。由于客運專線列控中心功能強大、控制邏輯復雜,并且安全性要求高,為保證實現所有功能并能夠在出現故障時導向安全,構建客運專線列控中心測試平臺是一個非常重要的技術手段。
列控中心設備可以適用于客運專線上的聯鎖車站、中繼站和線路所,也可以用于與CTCS-2或CTCS-3級客運專線相銜接的CTCS-0級車站。列控中心可以根據車站類型分為車站列控中心和中繼站列控中心。
列控中心應根據列車進路和軌道區段狀態等信息,實現對軌道電路的載頻、低頻信息編碼功能,并能控制軌道電路的發碼方向;根據臨時限速服務器的信息,實時編制應答器報文,并實現對應答器報文的組幀、校驗和向LEU發送的功能;還應具有對信號機點燈控制和向調度集中系統(Centralized Traffi c Control System,CTC)發送相關信息的能力等。
客運專線列控中心與ZPW-2000系列軌道電路、CBI、TSRS、相鄰TCC、LEU、集中監測和CTC設備配置通信接口,并且根據不同類型的車站,其外部通信對象有所不同。客運專線列控中心與外部各設備的接口關系如圖1所示[2]。
依據客運專線列控中心的系統結構和全方面測試的需求,可以將客運專線列控中心的測試分為3種:列控中心的全功能覆蓋測試;列控中心與外部設備接口協議一致性測試;列控中心安全和性能測試。各種類型的測試腳本可能會存在相互覆蓋的情況,但基于測試的關注點不同,采用的測試手段和測試分析方法有所不同。
全功能覆蓋測試是對客運專線列控中心的功能性驗證,是列控中心各項測試中最基本的環節,也是最重要的軟件功能測試,測試體現的是所有功能是否均能實現。根據鐵道部科技運[2010]138號“關于印發《列控中心技術規范》的通知”要求[2],測試平臺可以針對以下功能進行測試腳本設計。
(1)覆蓋所有的有源應答器報文的實時編碼。
(2)軌道電路各種情況載頻和低頻編碼測試。
(3)軌道電路發送方向控制和狀態采集測試。
(4)區間軌道區段狀態采集測試。

圖1 客運專線列控中心與外部設備接口關系示意圖
(5)區間各種信號機點燈控制測試。
(6)異物侵限防護功能測試。
(7)區間改變運行方向的功能測試。
(8)臨時限速信息功能測試。
接口協議測試是對列控中心外部接口的一致性測試,通過測試保證列控中心的外部通信是正常可用的,該部分是列控中心完成核心功能的前提。接口協議測試包括應用層協議測試,主要是對列控中心與外部設備間接口傳輸數據的驗證,側重于接口協議的一致性。該測試主要包括以下內容。
(1)與聯鎖接口的一致性測試。
(2)與相鄰TCC數據的一致性測試。
(3)與TSRS數據的一致性測試。
(4)與CTC數據的一致性測試。
(5)與集中監測數據的一致性測試。
(6)與地面其他設備數據的一致性測試。
安全和性能測試是列控中心測試的一個重要方面,通過該測試可以確保上線的列控中心系統能夠達到故障—安全的方式運營。
客運專線列控中心應該采用2乘2取2安全計算機平臺作為主邏輯運算單元[2]。因此,在該部分主要針對安全計算機功能的實現、安全協議的實現,以及故障現象的處理等方面說明列控中心安全和性能測試的關注點。該測試主要包括以下內容。
(1)軌道電路閃紅測試。
(2)打滅信號機測試。
(3)與外部設備通信中斷測試。
(4)數據幀丟失測試。
(5)數據幀插入測試。
(6)數據幀次序混亂測試。
(7)數據幀錯誤測試。
(8)數據幀傳輸超時測試。
(9)安全計算機主備系統人工切換測試。
(10)各接口數據壓力測試。
從測試的角度,客運專線列控中心測試平臺應包括測試數據部分、測試執行部分、接口適配單元和測試分析部分,其結構框架如圖2所示。

圖2 客運專線列控中心測試平臺框架示意圖
測試數據部分由測試腳本數據庫、線路數據庫和運行記錄數據庫構成。測試腳本數據庫負責存儲各設備仿真器需要執行的各種腳本,是各設備仿真器運行的來源;線路數據庫存儲與測試腳本相關的各種真實線路數據,如應答器位置、進路信息和閉塞分區信息等內容;運行記錄數據庫用于收集在測試執行過程中各設備收發的各種數據,提供給測試結果分析工具使用。
測試執行部分是測試平臺的核心,由以下3個主要模塊組成。
(1)測試過程控制管理器。測試過程控制管理器負責將測試腳本和線路數據發送給各設備仿真器,同時控制各仿真器的啟動及終止操作等。
(2)測試數據收集器。測試數據收集器負責收集測試運行過程中各仿真器的交互數據及故障數據,以供分析使用。
(3)各設備數據收發仿真器。各設備數據收發仿真器根據測試過程控制管理器發送的腳本和線路數據,執行相應的腳本,并將從被測列控中心收集的數據實時傳送給運行記錄數據庫。
各設備數據收發仿真器是測試腳本執行的關鍵部分,由于該部分各模塊間傳輸數據非常頻繁,并且各設備仿真器可能位于不同的機器中,因此提高該部分使用的靈活性和數據傳輸的安全性是需要重點考慮的。為此,可以考慮采用分布式仿真技術。
各設備數據仿真器模擬實際客運專線列控中心所需的各種外部設備環境,包括相鄰TCC模塊、臨時限速仿真器、聯鎖數據仿真器和地面有源應答器仿真器等,這些設備根據讀取的線路數據及測試腳本,實時判斷是否滿足發送相關腳本數據的條件,如果滿足,則將相應模塊的數據通過接口適配單元發送給列控中心;如果不滿足,則繼續進行判斷。同時,這些仿真模塊實時收集列控中心發送的各種信息,用于測試運行完成后的數據分析。
接口適配單元是測試平臺與被測列控中心間的接口適配部分,由于列控中心與外部設備間采用以太網、CAN總線或RS422串口等進行通信,因此需要適配單元提供與被測列控中心之間的接口,完成與被測列控中心之間的信息傳輸。從而達到對真實列控中心測試的目的。
測試分析部分完成對收集數據的分析工作,從而發現客運專線列控中心存在的問題。
DCOM是Component Object Model(COM)的擴展,它支持不同機器上組件間的通信,而且無論是運行在局域網、廣域網,還是Internet上,借助DCOM開發的應用程序能任意進行空間分布,適用于Windows開發平臺。為了使客運專線列控中心測試平臺中各仿真器間能夠相互通信,必須依據其功能將各仿真器設定為服務器和客戶端。因此,基于DCOM開發仿真測試平臺的整體流程如下。
(1)確定列控中心測試平臺各模塊的數據流。依據各模塊的數據流動方向,為各模塊的功能角色定位提供前提條件。列控中心測試平臺各模塊間的關系及數據流如圖3所示。
(2)確定列控中心測試平臺各模塊角色的分類原則。分類原則是將為其他模塊提供信息或起到管理信息作用的模塊作為服務器;主要作用是實現信息處理的模塊作為客戶端。依據圖3對各模塊的詳細分析和確定的角色分類原則,可將列控中心測試平臺各模塊的角色分類為:①測試過程控制管理器和測試數據收集器作為服務器模塊;②相鄰TCC仿真器、臨時限速仿真器、聯鎖信息仿真器和CTC仿真器等仿真模塊作為客戶端模塊。
(3)確定基于DCOM的軟件開發步驟。對列控中心測試平臺中各仿真器的角色功能定位后,基于DCOM的測試平臺框架的開發過程[5]如下。
服務器:建立Automation Object程序→定義方法或屬性→注冊Automation對象。
客戶端:配置客戶端程序計算機→在客戶端程序中運行DCOMCnfg.exe→調用CoCreateInstanceEx方法,設置服務器信息→使用服務器相關方法或屬性。

圖3 客運專線列控中心測試平臺數據流
DCOM機制的應用使不同計算器上運行的應用程序可以共享方法和屬性。因此,在開發程序時,本地程序可以將遠程程序提供的某些變量值當做本地值進行使用,無需關心和考慮該變量如何進行傳輸和傳輸的安全性等問題。現以測試過程控制管理器和相鄰TCC仿真器之間的交互為例,簡要說明其交互過程。
測試過程控制管理器和相鄰TCC仿真器運行在不同計算器中(也可運行在同一臺計算機中),并且運行在同一局域網上,在兩個程序之間使用的是DCOM接口,其結構如圖4所示。

圖4 過程控制管理器與相鄰 TCC 仿真器交互示意圖
運行過程會根據不同的階段執行不同的任務。例如,測試任務結束時,作為服務器的測試過程控制管理器下達“結束”命令給相鄰TCC仿真器及其他各仿真器模塊,測試過程控制管理器中只需將屬性Session.Command的值修改為“結束”,無需進行數據傳送命令,作為客戶端的相鄰TCC仿真器通過讀取Session.Command屬性值,得到測試過程控制管理器修改的值,屬性也同時可以進行修改,其操作和本地變量的操作類似。這種方式發送和讀取遠程數據非常簡單和靈活,提高了開發效率。
基于對客運專線列控中心組成、外部接口和核心功能的分析,采用DCOM技術實現列控中心測試平臺的框架構建,使列控中心測試平臺的構建及各部分的功能更加清晰,從而對列控中心測試平臺的設計與實現提供有益的借鑒作用。
[1]鐵道部. CTCS-3級列控系統總體技術方案(V1.0)(科技運[2008]34號)[Z]. 北京:鐵道部,2008.
[2]鐵道部. 列控中心技術規范(V1.0)(科技運[2010]138號)[Z]. 北京:鐵道部,2010.
[3]庫勞里斯,著. 金蓓弘,譯. 分布式系統概念與設計:第4版[M]. 北京:機械工業出版社,2008.
[4]孫榮勝,徐天鵬. Web服務與CORBA、DCOM三種分布式計算模型的互操作性[J]. 江南大學學報:自然科學版,2003,2 (1):29-31.
[5]Charlie Calvert,著. 徐 科,馮 焱,呂志民,等譯.C++ Builder應用開發大全[M]. 北京:清華大學出版社,1999.