張大威
張大威:中國鐵道科學(xué)研究院研究生部 鐵道部運輸局電務(wù)部工程師 100081 北京
近年來,我國高鐵建設(shè)事業(yè)伴隨著世界范圍內(nèi)鐵路行業(yè)的復(fù)興而蓬勃發(fā)展,擁有中國自主知識產(chǎn)權(quán)的CTCS-2、CTCS-3級列車運行控制系統(tǒng)被廣泛應(yīng)用于客運專線建設(shè)中,為確保運輸安全發(fā)揮著極其重要的作用。
在整個CTCS系統(tǒng)中,列控中心是具有中國特色的安全控制設(shè)備,它既是CTCS-2級列控系統(tǒng)地面信號設(shè)備的核心部分,也是CTCS-3級列控系統(tǒng)地面信號控制降級后最重要的后備系統(tǒng),可根據(jù)聯(lián)鎖提供的軌道電路占用信息和進路信息、CTC(或臨時限速服務(wù)器)提供的臨時限速信息以及站間安全通信信息等,通過編碼計算產(chǎn)生行車許可命令,利用有源應(yīng)答器發(fā)送應(yīng)答器報文、驅(qū)動ZPW-2000軌道電路發(fā)碼、控制區(qū)間信號機點燈,并通過軌道電路和應(yīng)答器將行車許可信息傳送給車載控制子系統(tǒng),從而實現(xiàn)對列車的連續(xù)控制。
列控中心的安全性要求極高,按照國際功能安全基礎(chǔ)標準IEC61508對安全性完整性等級的劃分方法,列控中心被定義為SIL-4級安全設(shè)備 (Safety Integrity Level),與計算機聯(lián)鎖系統(tǒng)同屬最高的安全完整性等級。因此在開通運營前對列控中心的測試和驗證尤為重要,如何讓測試驗證過程經(jīng)濟、高效、規(guī)范、完整,越來越為鐵路研發(fā)設(shè)計、建設(shè)、維護和使用部門所關(guān)注。計算機仿真測試技術(shù)為解決上述問題提供了行之有效的手段。
國外鐵路部門對仿真技術(shù)的研究與應(yīng)用十分重視,早在上世紀70年代,就開始利用計算機仿真技術(shù)對鐵路線路設(shè)計、運輸組織方案進行驗證和評估,目前已開發(fā)出列車調(diào)度、列車運行和站內(nèi)閉塞監(jiān)視等功能的仿真系統(tǒng)。
在路網(wǎng)能力仿真方面,英國Incontrol研究所和Railned等多個鐵路部門合作研究了Simone鐵路路網(wǎng)能力仿真系統(tǒng);SYSTRA公司開發(fā)了RAILSIM鐵路線路能力優(yōu)化仿真系統(tǒng);AEA-Technology RAIL公司開發(fā)了VAMPIRE輪軌關(guān)系仿真系統(tǒng)。
在歐洲列車控制系統(tǒng)ETCS領(lǐng)域,歐洲鐵路研究中心開發(fā)了ETCS仿真系統(tǒng),能夠仿真ETCS等級0—2級的功能;在對無線閉塞中心RBC(Radio Block Centre)的測試中,P.di Tommaso運用仿真方法制定出了列車與RBC數(shù)據(jù)通信異常情況下的測試案例,以此來驗證RBC系統(tǒng)的安全性和可靠性。
在列控車載系統(tǒng)仿真方面,歐洲鐵路運輸管理系統(tǒng)ERTMS(European Rail Traffic Management System)的UNISIG工作組搭建了分布式交互仿真測試系統(tǒng),利用場景發(fā)生器產(chǎn)生仿真場景和測試序列,通過這些仿真場景和測試序列加載各仿真測試節(jié)點、控制仿真測試過程并進行實時監(jiān)控,用模塊事件記錄器記錄仿真測試過程中各節(jié)點產(chǎn)生的重要信息,用分析確認模塊判斷信息的正確性并進行分析;2004年,意大利佛羅倫薩大學(xué)為意大利列車控制系統(tǒng)SCMT開發(fā)出了硬件在環(huán)HIL(Hardware In the Loop)測試系統(tǒng),它是一個基于仿真技術(shù)的ATP測試系統(tǒng)。
我國鐵路系統(tǒng)仿真測試工作起步較晚,起初主要是針對列車調(diào)度算法等具體問題的仿真。隨著大規(guī)模客專建設(shè)和CTCS系統(tǒng)全面投入使用,對列車運行控制系統(tǒng)的仿真測試變得越來越迫切。由于在列控系統(tǒng)設(shè)計和實施方面沒有太多成熟經(jīng)驗可以借鑒,而列控系統(tǒng)實施過程中有很多問題需要研究,如設(shè)計方案優(yōu)化問題、系統(tǒng)適應(yīng)性問題、技術(shù)條件可行性問題等,都需要在事前進行研究分析,如果僅僅通過現(xiàn)場試驗來做事后修改,不但浪費人力物力、影響運輸生產(chǎn),而且有很多問題受現(xiàn)場試驗條件限制無法得到及時發(fā)現(xiàn)和解決。換言之,即使在設(shè)備開通前進行過嚴格的測試,但在投入使用后仍可能還會出現(xiàn)某些問題。這就促使有關(guān)設(shè)計研發(fā)單位和科研院所考慮運用計算機仿真實驗的方式替代現(xiàn)場試驗,通過仿真現(xiàn)場很難人工設(shè)置的各種故障和情況,對列控中心的功能邏輯等進行驗證。
北京交通大學(xué)軌道交通控制與國家安全重點實驗室自2005年起,開始建設(shè)軌道交通控制與安全綜合試驗平臺,包括CTCS-3級列控系統(tǒng)仿真測試平臺、GSM-R網(wǎng)絡(luò)平臺和行車指揮平臺;針對列控系統(tǒng)的仿真研究,以西南交通大學(xué)交通控制實驗室、北京交通大學(xué)軌道交通與安全國家重點實驗室、同濟大學(xué)、蘭州交通大學(xué)和中國鐵道科學(xué)研究院等科研院校和研究部門為代表,所做的工作包括系統(tǒng)原型開發(fā)、控制算法和城軌列控建模仿真、列控中心等地面列控設(shè)備和車載ATP仿真測試研究等;中國鐵道科學(xué)研究院研究建立了基于列控系統(tǒng)功能測試的專家系統(tǒng),實現(xiàn)測試過程的自動判斷和統(tǒng)計,提出可能的故障原因和故障對策。國內(nèi)列控中心仿真模型所使用的大多是面向?qū)ο缶幊痰挠嬎銠C語言,具體來說,開發(fā)環(huán)境主要有VC++、C++Builder等。
在建立列控中心仿真系統(tǒng)之前,首先要構(gòu)造一個盡可能與原系統(tǒng)相匹配和反映真實情況的模型,模型本身應(yīng)便于模擬系統(tǒng)的各種行為。同時,為使仿真系統(tǒng)可以滿足評價、分析、測試等性能,系統(tǒng)還要能隨時反映各子系統(tǒng)或功能模塊之間的動態(tài)特性,記錄當前的各種狀態(tài)和彼此關(guān)系,以便獲取各種參數(shù)。因此,列控中心仿真的核心問題首先是仿真模型的建立,其次是仿真系統(tǒng)的開發(fā)。
列控中心仿真系統(tǒng)主要是依據(jù)列控中心的技術(shù)規(guī)范、接口協(xié)議、系統(tǒng)功能需求、設(shè)備配置等進行仿真,做到與列控中心的功能相一致,一般包括地面軌道電路編碼、區(qū)間信號機點燈、有源應(yīng)答器報文生成與臨時限速處理、區(qū)間方向控制、接口通信等。列控中心仿真系統(tǒng)根據(jù)不同的外部設(shè)備配置,應(yīng)能夠?qū)ο到y(tǒng)功能進行自我調(diào)節(jié)。雖然中繼站和無配線車站列控中心不具備與聯(lián)鎖相關(guān)的功能,沒有站內(nèi)軌道電路編碼和方向控制功能、區(qū)間運行方向和閉塞控制功能等,但所設(shè)計的標準車站列控中心仿真系統(tǒng)應(yīng)該涵蓋列控中心的所有功能,對于中繼站和無配線車站,可以在此基礎(chǔ)上進行一定的功能屏蔽。
地面軌道電路編碼,根據(jù)列車進路和軌道區(qū)段狀態(tài)等信息,進行站內(nèi)和區(qū)間軌道電路的載頻、低頻信息編碼。實現(xiàn)對軌道區(qū)段狀態(tài)的識別并對軌道電路分路不良、進出站信號機異常關(guān)閉、站內(nèi)軌道電路故障等情況采取相應(yīng)的防護措施。
區(qū)間信號機點燈,根據(jù)區(qū)間閉塞分區(qū)占用情況,完成對區(qū)間通過信號機的點燈控制。
臨時限速處理與有源應(yīng)答器報文生成,根據(jù)列車進路信息、臨時限速設(shè)置信息和應(yīng)答器報文定義原則,實現(xiàn)應(yīng)答器報文的實時組幀、編碼、校驗,判斷和發(fā)送信號降級信息,并向相關(guān)的LEU發(fā)送報文。
區(qū)間方向控制,根據(jù)聯(lián)鎖改方命令、區(qū)間閉塞分區(qū)空閑狀態(tài),實現(xiàn)對區(qū)間運行方向的控制。
通信接口,按照接口通信協(xié)議的要求,接收列控中心各通信接口的信息,經(jīng)內(nèi)部相關(guān)模塊處理后發(fā)送到通信接口,再輸出到外圍設(shè)備。
Petri網(wǎng)建模方法是形式化建模方法的一種,是一種系統(tǒng)的數(shù)學(xué)和圖形描述、分析工具,具有圖形結(jié)構(gòu)和很強的直觀意義。對于并發(fā)、異步、分布、并行、不確定性或隨機性的信息處理構(gòu)造Petri網(wǎng)模型并進行分析,就可以得到系統(tǒng)結(jié)構(gòu)和動態(tài)行為方面的信息,從而對系統(tǒng)進行客觀的評價和改進。
同濟大學(xué)在2008年提出了基于著色Petri網(wǎng)的安全構(gòu)件模型及相應(yīng)的構(gòu)件組裝算法。北京交通大學(xué)根據(jù)列控系統(tǒng)功能需求,利用著色Petri網(wǎng)建立功能處理模型,用著色Petri網(wǎng)建模工具CPN-TOOLS建立相應(yīng)的仿真模型,并利用狀態(tài)空間工具分析系統(tǒng)功能的完整性和邏輯正確性,用C++Builder程序設(shè)計和實現(xiàn)軟件系統(tǒng)功能處理軟件,生成信息實時監(jiān)控界面,監(jiān)控信息正確接收和運行,滿足列控仿真系統(tǒng)平臺的實現(xiàn)需求。
例如:列控中心系統(tǒng)頂層CPN模型如圖1所示,它包含 CBI、TCI、CTC、LEU和 TCC 5個替代變遷,分別標識與列控中心信息交互子系統(tǒng)在列控系統(tǒng)中的邏輯位置,各子系統(tǒng)與列控中心間交互的信息傳遞用相應(yīng)的庫所予以設(shè)定。列控中心與各設(shè)備間的交互庫所含義如表1所示。

圖1 列控中心系統(tǒng)頂層CPN模型

表1 列控中心系統(tǒng)層輸入輸出庫所表
通過層次化的建模技術(shù),分別建立系統(tǒng)層、處理層和功能層3層模型,使軟件系統(tǒng)功能過程更加直觀和具體。除上面所描述的系統(tǒng)頂層外,列控中心系統(tǒng)處理層、軌道電路占用信息處理層、臨時限速命令處理層、臨時限速功能層、進路報文處理層、進路報文功能層、應(yīng)答器報文處理子網(wǎng)等均可依此建模。
在此基礎(chǔ)上,利用CPN-TOOLS狀態(tài)空間工具對模型的有界性 (確認庫所資源不會無限增大而導(dǎo)致系統(tǒng)運行終止)和活性 (確認系統(tǒng)沒有死循環(huán)和死節(jié)點,每個狀態(tài)都是良好狀態(tài))等性質(zhì)進行分析,驗證軌道電路占用信息報文處理層模型和進路報文功能層功能的正確性,利用“狀態(tài)轉(zhuǎn)移查詢”確認系統(tǒng)對進路報文的處理,最終完成對功能層模型的確認工作,獲得可靠的模型依據(jù),從而實現(xiàn)從功能需求到列控中心系統(tǒng)功能模型化的建模過程。
在完成仿真模型的建立和驗證后,參照模型的體系架構(gòu),結(jié)合實驗室設(shè)備,在計算機操作平臺上使用 C++Builder編程語言實現(xiàn)列控中心系統(tǒng)仿真器軟件的設(shè)計,并通過集成測試、系統(tǒng)聯(lián)調(diào)等步驟逐步提高仿真器軟件的質(zhì)量,最終實現(xiàn)仿真系統(tǒng)的設(shè)計完善。
SED_TSL(Scenario-Event Driven Test Script Language)是一種基于場景—事件驅(qū)動的測試腳本語言。SED_TSL定義的測試腳本以被測系統(tǒng)的實際運營場景為基礎(chǔ),將運營場景定義為相應(yīng)的測試場景,在測試場景中以測試序列的模式,對相關(guān)測試用例進行序列化,通過定義外部仿真測試環(huán)境將測試用例加載到被測系統(tǒng)中,完成安全性測試,同時也可以通過定義故障場景,完成各種安全防護機制測試。
SED_TSL的核心語法庫分為3層,如圖2所示,即基礎(chǔ)語言包、測試描述語言包和用戶開發(fā)包。
基于核心語法庫,標準的SED_TSL測試腳本結(jié)構(gòu)如圖3所示,分為測試主控單元模塊腳本和測試執(zhí)行單元模塊腳本2層。在測試主控單元模塊腳本中,主要定義當前測試控制邏輯和當前仿真測試環(huán)境配置;測試執(zhí)行單元模塊腳本中,主要定義當前測試中具體的執(zhí)行測試內(nèi)容。

圖2 SED_TSL的核心語法庫
SED_TSL仿真測試環(huán)境架構(gòu)主要包括測試控制中心、測試引擎、仿真環(huán)境接口適配器集、被測列控中心外部仿真測試環(huán)境共4個部分。其中,測試控制中心主要完成測試用例生成、測試序列生成、測試場景生成、可執(zhí)行測試腳本生成、測試進程實時監(jiān)控及測試結(jié)果智能分析;測試引擎主要完成測試腳本解析、執(zhí)行、控制、仿真驅(qū)動命令生成、注入、測試結(jié)果采集、判定與存儲及測試執(zhí)行流程管理控制;仿真環(huán)境接口適配器集主要用于處理測試引擎與被測列控中心外部仿真環(huán)境之間的消息通信和過程調(diào)用;被測列控中心外部仿真環(huán)境主要承擔仿真被測列控中心的實際運行環(huán)境,所有的仿真對象以插件方式集成構(gòu)成外部仿真測試環(huán)境。
基于SED_TSL的測試腳本技術(shù)可以滿足對安全苛求軟件測試的特殊要求,實現(xiàn)閉環(huán)仿真測試。它所建立的測試場景、測試用例庫和測試序列庫,可以對列控中心軟件系統(tǒng)在實際運用中可能出現(xiàn)的運營場景進行各類測試用例和測試序列,并且執(zhí)行效率較高。

圖3 基于SED_TSL的測試腳本架構(gòu)圖
列控中心仿真軟件一般都存在通用性不足的問題:一是未能完全實現(xiàn)站內(nèi)側(cè)線行車和換線行車功能仿真;二是在處理設(shè)計部門提供的基礎(chǔ)數(shù)據(jù)表的時候,不能自動生成信息實例,而是需要手工編輯配置文件,這樣做不但費時費力,而且極易出現(xiàn)錯誤。
通用性仿真克服了上述問題。系統(tǒng)在處理設(shè)計院提供的列車進路數(shù)據(jù)表時,把每個進路號下面的相關(guān)信息,包括應(yīng)答器編號、進路、進路類型、始端信號機 (名稱/接近最高碼序)、終端信號機名稱、應(yīng)答器 (單元編號/鏈接距離)、道岔、線路速度 (速度/距離)、軌道區(qū)段 (長度/載頻/信號機類型/名稱)、災(zāi)害防護區(qū)段以及備注信息等存儲在一個特定的結(jié)構(gòu)動態(tài)數(shù)組里,對信息進行重新整理,提取進路上所有軌道區(qū)段的聯(lián)接關(guān)系且保留其他相關(guān)信息,為站內(nèi)編碼的邏輯關(guān)系提供依據(jù)。接下來,為軌道區(qū)段項設(shè)置專門的結(jié)構(gòu)體數(shù)組,定義出區(qū)段名稱、低頻、載頻、占用狀態(tài)、方向信息、災(zāi)害信息、燈絲斷絲、轉(zhuǎn)頻標志位等,經(jīng)過這樣處理后,整個站內(nèi)的信息就豐富而完整地保存了下來,列控中心可以對站內(nèi)所有區(qū)段進行統(tǒng)一調(diào)配處理。在完成整個進路數(shù)據(jù)表的初始化工作后,內(nèi)存中存儲的信息已經(jīng)成為程序運行時可以直接調(diào)用的信息,無需手工編輯其他的配置文件,仿真系統(tǒng)可以完整地模擬側(cè)線接發(fā)車作業(yè)、換線作業(yè)、反方向運行等狀態(tài),大大提高了仿真的效率和準確性。仿真系統(tǒng)結(jié)構(gòu)如圖4所示。

圖4 列控中心仿真系統(tǒng)結(jié)構(gòu)圖
仿真測試平臺軟件構(gòu)造了六大模塊,即測試模擬條件模塊、數(shù)據(jù)接口模塊、數(shù)據(jù)庫模塊、顯示模塊、報文反編譯模塊和測試控制模塊,如圖5所示。其中,模擬條件模塊,為列控中心提供所連接外圍設(shè)備的測試條件;數(shù)據(jù)接口模塊,實時接收列控中心不同物理通道發(fā)送出來的數(shù)據(jù)并進行分類存儲,同時負責對信息的正確性、時效性、次序性進行檢查確認;數(shù)據(jù)庫模塊,存儲線路信息、記錄從列控中心接收的數(shù)據(jù),并接受平臺其他模塊的訪問;報文反編譯模塊,從列控中心接收有源應(yīng)答器報文,首先進行條件檢查,然后反編譯成列控工程數(shù)據(jù);測試控制模塊,對從列控中心接收的數(shù)據(jù)進行邏輯檢查,包括低頻碼序、點燈狀態(tài)等,對特殊情況進行人工干預(yù);顯示模塊,訪問數(shù)據(jù)庫獲取輸入信息,實時顯示所有信號設(shè)備的狀態(tài)屬性。

圖5 測試平臺軟件結(jié)構(gòu)
基于對列控中心安全性和可用性的要求,利用測試平臺進行4類測試,即功能測試、接口協(xié)議測試、冗余機制測試和故障-安全機制測試。其中,功能測試是最基本的測試環(huán)節(jié),檢查列控中心所有功能是否均已實現(xiàn);接口協(xié)議測試,測試列控中心與外圍設(shè)備接口傳輸數(shù)據(jù)情況,驗證接口數(shù)據(jù)的安全性和完整性;冗余機制測試,測試列控中心二乘二取二機制,側(cè)重于二系切換對安全性和功能性的影響;故障-安全機制測試,模擬可能發(fā)生的各種故障,測試列控中心的安全邏輯設(shè)計原則。
當前既有的列控中心仿真系統(tǒng)在一定程度上能夠滿足仿真和測試的需要,但或多或少存在一些缺陷和不足。從事研發(fā)的單位都是從自身設(shè)備出發(fā)開展工作,缺乏彼此間的溝通協(xié)作,很多內(nèi)容屬于重復(fù)性研究,導(dǎo)致資金和人員浪費;有的仿真系統(tǒng)受條件限制,無法實現(xiàn)對有源應(yīng)答器報文、軌道電路低頻編碼等所有可能分支的遍歷,測試中很難對中間過程可能存在的問題及時獲取;有些仿真測試對人工依賴程度高,效率偏低,自動化程度有待提高,這些都是今后需要改進的地方。
[1] 李銘.客運專線CTCS-2級列控中心功能仿真研究[D].成都:西南交通大學(xué)碩士學(xué)位論文,2009.05
[2] 孫玉鵬.CTCS-3級列控系統(tǒng)仿真測試平臺-列車運行仿真平臺的研究[D].北京:北京交通大學(xué)碩士學(xué)位論文,2006.12
[3] 中華人民共和國鐵道部.科技運[2008]34號.CTCS-3級列控系統(tǒng)總體技術(shù)方案(V1.0)[S].2008.
[4] 中華人民共和國鐵道部.列控中心技術(shù)規(guī)范(科技運[2010]138號)[S].2010.
[5] 季學(xué)勝,唐濤.CTCS-3級列車運行控制系統(tǒng)綜合測試平臺研究[J].鐵道通信信號,2007(7):1-3.
[6] 鄧紫陽.基于著色Petri網(wǎng)CTCS-3級列控中心建模與仿真研究[D].北京:北京交通大學(xué)碩士學(xué)位論文,2009.06
[7] IEEE Standard for Communications- Based Train Control Performance and Function Requierment.IEEE Std 1474.1,1999.
[8] Stanley B.Lippman.Josee Lajoie.C++Primer(3rd Edition).Addison Wesley,1998
[9] Railway Technical Innovation,ETCS-歐洲鐵路信號技術(shù)的長期發(fā)展目標.
[10] Babak Dehbonei,F(xiàn)ernando Mejia,F(xiàn)ormal Development of Safety critical Software System in Railway Signaling.Application of Formal Methods,Prentic Hall.1995,227-252.
[11] Dr Neville Rowden.A Safe,Reliable Control and Supervisory System for Railway Networks.SAFECOMP'96.
[12] 喻剛,徐中偉.基于腳本技術(shù)的高速鐵路列控中心系統(tǒng)安全性自動化測試研究[J].北京:鐵道學(xué)報,2011.12
[13] 劉金剛.CTCS3級列控系統(tǒng)仿真軟件包的設(shè)計和實現(xiàn)[D].北京:北京交通大學(xué)碩士學(xué)位論文,2007.03
[14] 張仕雄,李麗蘭.客運專線列控中心測試平臺的構(gòu)建研究[J].北京:鐵路運輸與經(jīng)濟,2012(02).
[15] 黃祖成,張秀梅.客運專線CTCS2級列控中心測試平臺的研究探討[J].北京:鐵路通信信號工程技術(shù)(RSCE),2008(08).
[16] 陳旭,徐中偉,喻鋼.基于有色Petri網(wǎng)的安全構(gòu)件模型[J].北京:計算機工程,2008(11).