張仕雄,李麗蘭
(1. 武漢鐵路職業(yè)技術(shù)學(xué)院 鐵道信號與工程系,湖北 武漢 430205;2. 鄭州鐵路職業(yè)技術(shù)學(xué)院電子工程系,河南 鄭州 540052)
客運(yùn)專線列控中心(Train Control Center,TCC)是我國高速鐵路和客運(yùn)專線列控系統(tǒng)地面信號控制的關(guān)鍵設(shè)施[1]。由于客運(yùn)專線列控中心功能強(qiáng)大、控制邏輯復(fù)雜,并且安全性要求高,為保證實(shí)現(xiàn)所有功能并能夠在出現(xiàn)故障時(shí)導(dǎo)向安全,構(gòu)建客運(yùn)專線列控中心測試平臺是一個(gè)非常重要的技術(shù)手段。
列控中心設(shè)備可以適用于客運(yùn)專線上的聯(lián)鎖車站、中繼站和線路所,也可以用于與CTCS-2或CTCS-3級客運(yùn)專線相銜接的CTCS-0級車站。列控中心可以根據(jù)車站類型分為車站列控中心和中繼站列控中心。
列控中心應(yīng)根據(jù)列車進(jìn)路和軌道區(qū)段狀態(tài)等信息,實(shí)現(xiàn)對軌道電路的載頻、低頻信息編碼功能,并能控制軌道電路的發(fā)碼方向;根據(jù)臨時(shí)限速服務(wù)器的信息,實(shí)時(shí)編制應(yīng)答器報(bào)文,并實(shí)現(xiàn)對應(yīng)答器報(bào)文的組幀、校驗(yàn)和向LEU發(fā)送的功能;還應(yīng)具有對信號機(jī)點(diǎn)燈控制和向調(diào)度集中系統(tǒng)(Centralized Traffi c Control System,CTC)發(fā)送相關(guān)信息的能力等。
客運(yùn)專線列控中心與ZPW-2000系列軌道電路、CBI、TSRS、相鄰TCC、LEU、集中監(jiān)測和CTC設(shè)備配置通信接口,并且根據(jù)不同類型的車站,其外部通信對象有所不同??瓦\(yùn)專線列控中心與外部各設(shè)備的接口關(guān)系如圖1所示[2]。
依據(jù)客運(yùn)專線列控中心的系統(tǒng)結(jié)構(gòu)和全方面測試的需求,可以將客運(yùn)專線列控中心的測試分為3種:列控中心的全功能覆蓋測試;列控中心與外部設(shè)備接口協(xié)議一致性測試;列控中心安全和性能測試。各種類型的測試腳本可能會存在相互覆蓋的情況,但基于測試的關(guān)注點(diǎn)不同,采用的測試手段和測試分析方法有所不同。
全功能覆蓋測試是對客運(yùn)專線列控中心的功能性驗(yàn)證,是列控中心各項(xiàng)測試中最基本的環(huán)節(jié),也是最重要的軟件功能測試,測試體現(xiàn)的是所有功能是否均能實(shí)現(xiàn)。根據(jù)鐵道部科技運(yùn)[2010]138號“關(guān)于印發(fā)《列控中心技術(shù)規(guī)范》的通知”要求[2],測試平臺可以針對以下功能進(jìn)行測試腳本設(shè)計(jì)。
(1)覆蓋所有的有源應(yīng)答器報(bào)文的實(shí)時(shí)編碼。
(2)軌道電路各種情況載頻和低頻編碼測試。
(3)軌道電路發(fā)送方向控制和狀態(tài)采集測試。
(4)區(qū)間軌道區(qū)段狀態(tài)采集測試。
圖1 客運(yùn)專線列控中心與外部設(shè)備接口關(guān)系示意圖
(5)區(qū)間各種信號機(jī)點(diǎn)燈控制測試。
(6)異物侵限防護(hù)功能測試。
(7)區(qū)間改變運(yùn)行方向的功能測試。
(8)臨時(shí)限速信息功能測試。
接口協(xié)議測試是對列控中心外部接口的一致性測試,通過測試保證列控中心的外部通信是正??捎玫?,該部分是列控中心完成核心功能的前提。接口協(xié)議測試包括應(yīng)用層協(xié)議測試,主要是對列控中心與外部設(shè)備間接口傳輸數(shù)據(jù)的驗(yàn)證,側(cè)重于接口協(xié)議的一致性。該測試主要包括以下內(nèi)容。
(1)與聯(lián)鎖接口的一致性測試。
(2)與相鄰TCC數(shù)據(jù)的一致性測試。
(3)與TSRS數(shù)據(jù)的一致性測試。
(4)與CTC數(shù)據(jù)的一致性測試。
(5)與集中監(jiān)測數(shù)據(jù)的一致性測試。
(6)與地面其他設(shè)備數(shù)據(jù)的一致性測試。
安全和性能測試是列控中心測試的一個(gè)重要方面,通過該測試可以確保上線的列控中心系統(tǒng)能夠達(dá)到故障—安全的方式運(yùn)營。
客運(yùn)專線列控中心應(yīng)該采用2乘2取2安全計(jì)算機(jī)平臺作為主邏輯運(yùn)算單元[2]。因此,在該部分主要針對安全計(jì)算機(jī)功能的實(shí)現(xiàn)、安全協(xié)議的實(shí)現(xiàn),以及故障現(xiàn)象的處理等方面說明列控中心安全和性能測試的關(guān)注點(diǎn)。該測試主要包括以下內(nèi)容。
(1)軌道電路閃紅測試。
(2)打滅信號機(jī)測試。
(3)與外部設(shè)備通信中斷測試。
(4)數(shù)據(jù)幀丟失測試。
(5)數(shù)據(jù)幀插入測試。
(6)數(shù)據(jù)幀次序混亂測試。
(7)數(shù)據(jù)幀錯誤測試。
(8)數(shù)據(jù)幀傳輸超時(shí)測試。
(9)安全計(jì)算機(jī)主備系統(tǒng)人工切換測試。
(10)各接口數(shù)據(jù)壓力測試。
從測試的角度,客運(yùn)專線列控中心測試平臺應(yīng)包括測試數(shù)據(jù)部分、測試執(zhí)行部分、接口適配單元和測試分析部分,其結(jié)構(gòu)框架如圖2所示。
圖2 客運(yùn)專線列控中心測試平臺框架示意圖
測試數(shù)據(jù)部分由測試腳本數(shù)據(jù)庫、線路數(shù)據(jù)庫和運(yùn)行記錄數(shù)據(jù)庫構(gòu)成。測試腳本數(shù)據(jù)庫負(fù)責(zé)存儲各設(shè)備仿真器需要執(zhí)行的各種腳本,是各設(shè)備仿真器運(yùn)行的來源;線路數(shù)據(jù)庫存儲與測試腳本相關(guān)的各種真實(shí)線路數(shù)據(jù),如應(yīng)答器位置、進(jìn)路信息和閉塞分區(qū)信息等內(nèi)容;運(yùn)行記錄數(shù)據(jù)庫用于收集在測試執(zhí)行過程中各設(shè)備收發(fā)的各種數(shù)據(jù),提供給測試結(jié)果分析工具使用。
測試執(zhí)行部分是測試平臺的核心,由以下3個(gè)主要模塊組成。
(1)測試過程控制管理器。測試過程控制管理器負(fù)責(zé)將測試腳本和線路數(shù)據(jù)發(fā)送給各設(shè)備仿真器,同時(shí)控制各仿真器的啟動及終止操作等。
(2)測試數(shù)據(jù)收集器。測試數(shù)據(jù)收集器負(fù)責(zé)收集測試運(yùn)行過程中各仿真器的交互數(shù)據(jù)及故障數(shù)據(jù),以供分析使用。
(3)各設(shè)備數(shù)據(jù)收發(fā)仿真器。各設(shè)備數(shù)據(jù)收發(fā)仿真器根據(jù)測試過程控制管理器發(fā)送的腳本和線路數(shù)據(jù),執(zhí)行相應(yīng)的腳本,并將從被測列控中心收集的數(shù)據(jù)實(shí)時(shí)傳送給運(yùn)行記錄數(shù)據(jù)庫。
各設(shè)備數(shù)據(jù)收發(fā)仿真器是測試腳本執(zhí)行的關(guān)鍵部分,由于該部分各模塊間傳輸數(shù)據(jù)非常頻繁,并且各設(shè)備仿真器可能位于不同的機(jī)器中,因此提高該部分使用的靈活性和數(shù)據(jù)傳輸?shù)陌踩允切枰攸c(diǎn)考慮的。為此,可以考慮采用分布式仿真技術(shù)。
各設(shè)備數(shù)據(jù)仿真器模擬實(shí)際客運(yùn)專線列控中心所需的各種外部設(shè)備環(huán)境,包括相鄰TCC模塊、臨時(shí)限速仿真器、聯(lián)鎖數(shù)據(jù)仿真器和地面有源應(yīng)答器仿真器等,這些設(shè)備根據(jù)讀取的線路數(shù)據(jù)及測試腳本,實(shí)時(shí)判斷是否滿足發(fā)送相關(guān)腳本數(shù)據(jù)的條件,如果滿足,則將相應(yīng)模塊的數(shù)據(jù)通過接口適配單元發(fā)送給列控中心;如果不滿足,則繼續(xù)進(jìn)行判斷。同時(shí),這些仿真模塊實(shí)時(shí)收集列控中心發(fā)送的各種信息,用于測試運(yùn)行完成后的數(shù)據(jù)分析。
接口適配單元是測試平臺與被測列控中心間的接口適配部分,由于列控中心與外部設(shè)備間采用以太網(wǎng)、CAN總線或RS422串口等進(jìn)行通信,因此需要適配單元提供與被測列控中心之間的接口,完成與被測列控中心之間的信息傳輸。從而達(dá)到對真實(shí)列控中心測試的目的。
測試分析部分完成對收集數(shù)據(jù)的分析工作,從而發(fā)現(xiàn)客運(yùn)專線列控中心存在的問題。
DCOM是Component Object Model(COM)的擴(kuò)展,它支持不同機(jī)器上組件間的通信,而且無論是運(yùn)行在局域網(wǎng)、廣域網(wǎng),還是Internet上,借助DCOM開發(fā)的應(yīng)用程序能任意進(jìn)行空間分布,適用于Windows開發(fā)平臺。為了使客運(yùn)專線列控中心測試平臺中各仿真器間能夠相互通信,必須依據(jù)其功能將各仿真器設(shè)定為服務(wù)器和客戶端。因此,基于DCOM開發(fā)仿真測試平臺的整體流程如下。
(1)確定列控中心測試平臺各模塊的數(shù)據(jù)流。依據(jù)各模塊的數(shù)據(jù)流動方向,為各模塊的功能角色定位提供前提條件。列控中心測試平臺各模塊間的關(guān)系及數(shù)據(jù)流如圖3所示。
(2)確定列控中心測試平臺各模塊角色的分類原則。分類原則是將為其他模塊提供信息或起到管理信息作用的模塊作為服務(wù)器;主要作用是實(shí)現(xiàn)信息處理的模塊作為客戶端。依據(jù)圖3對各模塊的詳細(xì)分析和確定的角色分類原則,可將列控中心測試平臺各模塊的角色分類為:①測試過程控制管理器和測試數(shù)據(jù)收集器作為服務(wù)器模塊;②相鄰TCC仿真器、臨時(shí)限速仿真器、聯(lián)鎖信息仿真器和CTC仿真器等仿真模塊作為客戶端模塊。
(3)確定基于DCOM的軟件開發(fā)步驟。對列控中心測試平臺中各仿真器的角色功能定位后,基于DCOM的測試平臺框架的開發(fā)過程[5]如下。
服務(wù)器:建立Automation Object程序→定義方法或?qū)傩浴訟utomation對象。
客戶端:配置客戶端程序計(jì)算機(jī)→在客戶端程序中運(yùn)行DCOMCnfg.exe→調(diào)用CoCreateInstanceEx方法,設(shè)置服務(wù)器信息→使用服務(wù)器相關(guān)方法或?qū)傩浴?/p>
圖3 客運(yùn)專線列控中心測試平臺數(shù)據(jù)流
DCOM機(jī)制的應(yīng)用使不同計(jì)算器上運(yùn)行的應(yīng)用程序可以共享方法和屬性。因此,在開發(fā)程序時(shí),本地程序可以將遠(yuǎn)程程序提供的某些變量值當(dāng)做本地值進(jìn)行使用,無需關(guān)心和考慮該變量如何進(jìn)行傳輸和傳輸?shù)陌踩缘葐栴}。現(xiàn)以測試過程控制管理器和相鄰TCC仿真器之間的交互為例,簡要說明其交互過程。
測試過程控制管理器和相鄰TCC仿真器運(yùn)行在不同計(jì)算器中(也可運(yùn)行在同一臺計(jì)算機(jī)中),并且運(yùn)行在同一局域網(wǎng)上,在兩個(gè)程序之間使用的是DCOM接口,其結(jié)構(gòu)如圖4所示。
圖4 過程控制管理器與相鄰 TCC 仿真器交互示意圖
運(yùn)行過程會根據(jù)不同的階段執(zhí)行不同的任務(wù)。例如,測試任務(wù)結(jié)束時(shí),作為服務(wù)器的測試過程控制管理器下達(dá)“結(jié)束”命令給相鄰TCC仿真器及其他各仿真器模塊,測試過程控制管理器中只需將屬性Session.Command的值修改為“結(jié)束”,無需進(jìn)行數(shù)據(jù)傳送命令,作為客戶端的相鄰TCC仿真器通過讀取Session.Command屬性值,得到測試過程控制管理器修改的值,屬性也同時(shí)可以進(jìn)行修改,其操作和本地變量的操作類似。這種方式發(fā)送和讀取遠(yuǎn)程數(shù)據(jù)非常簡單和靈活,提高了開發(fā)效率。
基于對客運(yùn)專線列控中心組成、外部接口和核心功能的分析,采用DCOM技術(shù)實(shí)現(xiàn)列控中心測試平臺的框架構(gòu)建,使列控中心測試平臺的構(gòu)建及各部分的功能更加清晰,從而對列控中心測試平臺的設(shè)計(jì)與實(shí)現(xiàn)提供有益的借鑒作用。
[1]鐵道部. CTCS-3級列控系統(tǒng)總體技術(shù)方案(V1.0)(科技運(yùn)[2008]34號)[Z]. 北京:鐵道部,2008.
[2]鐵道部. 列控中心技術(shù)規(guī)范(V1.0)(科技運(yùn)[2010]138號)[Z]. 北京:鐵道部,2010.
[3]庫勞里斯,著. 金蓓弘,譯. 分布式系統(tǒng)概念與設(shè)計(jì):第4版[M]. 北京:機(jī)械工業(yè)出版社,2008.
[4]孫榮勝,徐天鵬. Web服務(wù)與CORBA、DCOM三種分布式計(jì)算模型的互操作性[J]. 江南大學(xué)學(xué)報(bào):自然科學(xué)版,2003,2 (1):29-31.
[5]Charlie Calvert,著. 徐 科,馮 焱,呂志民,等譯.C++ Builder應(yīng)用開發(fā)大全[M]. 北京:清華大學(xué)出版社,1999.