李 敏 李開成 陳建球
(北京交通大學(xué),北京 100044)
CTCS-3級(jí)列控系統(tǒng)仿真測試平臺(tái)可用于CTCS-3級(jí)列控系統(tǒng)的CTCS-3級(jí)技術(shù)規(guī)范驗(yàn)證、系統(tǒng)研究、方案比較和設(shè)備測試評(píng)估等[1]。
CTCS-3級(jí)仿真測試平臺(tái)是一個(gè)多節(jié)點(diǎn)、分布式系統(tǒng),隨著仿真測試節(jié)點(diǎn)的增加、仿真測試任務(wù)的加重,仿真測試過程需要一個(gè)規(guī)劃管理的角色——仿真測試管理器。仿真測試管理器主要完成現(xiàn)場中人工完成的命令下達(dá)和表格下達(dá),把人工化轉(zhuǎn)為自動(dòng)化,保證CTCS-3級(jí)仿真測試平臺(tái)高效、可靠地工作,是整個(gè)CTCS-3仿真測試集成平臺(tái)中至關(guān)重要的一個(gè)組成部分。
仿真測試管理器是CTCS-3級(jí)仿真測試集成平臺(tái)的仿真管理核心,因此,所有在仿真測試集成平臺(tái)中進(jìn)行的仿真測試工作都必需通過仿真測試管理器進(jìn)行管理和協(xié)調(diào)。仿真測試管理器需要規(guī)劃仿真測試過程、管理各個(gè)仿真測試節(jié)點(diǎn),保證CTCS-3級(jí)仿真測試平臺(tái)高效、可靠地工作。其在平臺(tái)中的接口關(guān)系如圖1所示。
仿真測試管理器的主要功能:讀取并解析XML文件、同步各仿真測試節(jié)點(diǎn)、各仿真測試節(jié)點(diǎn)初始化設(shè)置、網(wǎng)絡(luò)參數(shù)配置、控制各仿真測試節(jié)點(diǎn)讀取線路數(shù)據(jù)庫信息、測試案例的執(zhí)行、故障注入、信息記錄和站場圖的顯示等,如圖2所示。
(1)讀取并解析XML數(shù)據(jù)。仿真測試管理器在仿真前需要解析測試案例及測試序列生成平臺(tái)提供的XML數(shù)據(jù),轉(zhuǎn)換為測試命令供仿真過程使用[2]。
(2)各仿真測試節(jié)點(diǎn)初始化設(shè)置。仿真測試管理器根據(jù)方案設(shè)置,如全線設(shè)置RBC的數(shù)量及管轄范圍、全線TCC的管轄范圍,下達(dá)初始化命令。各仿真測試節(jié)點(diǎn)根據(jù)仿真測試管理器的指令從線路數(shù)據(jù)庫讀取相應(yīng)的線路數(shù)據(jù),從而實(shí)現(xiàn)不同配置方案的配置。
(3)網(wǎng)絡(luò)參數(shù)配置。由于CTCS-3級(jí)仿真測試平臺(tái)節(jié)點(diǎn)較多,所有設(shè)備的IP及端口分配較為復(fù)雜,所有設(shè)備的IP及端口信息匯總到仿真測試管理器,由其進(jìn)行統(tǒng)一分發(fā),便于所有網(wǎng)絡(luò)參數(shù)的統(tǒng)一管理。
(4)同步各仿真測試節(jié)點(diǎn)。由于各仿真測試節(jié)點(diǎn)的時(shí)鐘漂移使得各個(gè)節(jié)點(diǎn)的時(shí)間不可能完全相同。這種時(shí)鐘的不一致因素會(huì)給數(shù)據(jù)記錄、分析等帶來影響,甚至?xí)霈F(xiàn)因果倒置的荒謬結(jié)果,這種現(xiàn)象就是時(shí)空不一致。為了消除時(shí)空不一致,必須在仿真開始前和仿真過程中對(duì)網(wǎng)絡(luò)上的計(jì)算機(jī)進(jìn)行時(shí)鐘同步。仿真開始時(shí),把設(shè)置的平臺(tái)仿真時(shí)間下達(dá)到需要用到仿真時(shí)間的設(shè)備:多車仿真器,臨時(shí)限速服務(wù)器以及TCC仿真器。接收到仿真時(shí)間的設(shè)備自動(dòng)推進(jìn)仿真時(shí)間,但在仿真過程中每隔一段時(shí)間(30 s),仿真測試管理器會(huì)向各仿真測試節(jié)點(diǎn)發(fā)送仿真時(shí)間校對(duì),達(dá)到同步時(shí)間的目的。
(5)控制各仿真節(jié)點(diǎn)讀取線路數(shù)據(jù)庫信息。當(dāng)本次需要仿真線路的數(shù)據(jù)有變化時(shí),在仿真前期準(zhǔn)備時(shí),通過下達(dá)數(shù)據(jù)下載更新命令,通知各個(gè)節(jié)點(diǎn)到線路數(shù)據(jù)庫服務(wù)器重新下載該條線路的新數(shù)據(jù),以確保整個(gè)仿真測試平臺(tái)基礎(chǔ)線路數(shù)據(jù)的一致性。為了降低復(fù)雜度和減少數(shù)據(jù)通信,需要從線路數(shù)據(jù)庫下載數(shù)據(jù)的設(shè)備必須存有本地?cái)?shù)據(jù),仿真測試管理器只有在第一次仿真開始和該條線路數(shù)據(jù)有更新的情況下,才通知各個(gè)節(jié)點(diǎn)重新下載數(shù)據(jù),否則,各個(gè)節(jié)點(diǎn)保留使用上一次本地存儲(chǔ)的數(shù)據(jù)。同時(shí)這一命令也可實(shí)現(xiàn)通知各設(shè)備本次仿真的線路名稱這一功能,為整個(gè)平臺(tái)實(shí)現(xiàn)自主選擇仿真線路提供基礎(chǔ)。
CTCS-3級(jí)仿真測試平臺(tái)是一個(gè)由多人操作的多節(jié)點(diǎn)、分布式平臺(tái),如果對(duì)多人操作沒有一個(gè)統(tǒng)籌、控制,會(huì)給仿真測試過程帶來不便。引入仿真測試管理器的一個(gè)重要目的就是命令各仿真測試節(jié)點(diǎn)的操作,以控制仿真過程。以自動(dòng)為主,兼顧手動(dòng),當(dāng)有些命令必須通過手動(dòng)下達(dá)時(shí),應(yīng)該通過手動(dòng)功能進(jìn)行下達(dá),但要求仿真測試管理器有顯示提示的功能。這些自動(dòng)命令應(yīng)該包括以下幾點(diǎn)。
(1)測試案例的執(zhí)行。為了能自動(dòng)的執(zhí)行測試案例過程,測試命令應(yīng)該包括:測試的條件、時(shí)間和地點(diǎn)[3]。仿真管理器根據(jù)各節(jié)點(diǎn)提供的狀態(tài)信息和列車的位置,在滿足測試命令要求的時(shí)刻前,提前一定的時(shí)間余量下達(dá)測試命令到對(duì)應(yīng)的節(jié)點(diǎn),如要求聯(lián)鎖辦理進(jìn)路或進(jìn)路人工解鎖。
(2)故障注入。在仿真過程中,根據(jù)運(yùn)行情況,手動(dòng)下達(dá)測試序列之外的故障信息,以測試車載等設(shè)備的功能。這些故障信息包括:軌道電路故障、應(yīng)答器故障、道岔故障、碼序故障、車載與RBC故障信息。將這些故障信息在仿真過程中需要的時(shí)機(jī)下達(dá)由仿真管理器操作者手動(dòng)下達(dá)給各個(gè)設(shè)備,以測試各個(gè)設(shè)備的功能。
(3)信息記錄。仿真測試過程中會(huì)產(chǎn)生很多數(shù)據(jù)。一方面,一些代表仿真測試過程的信息,反映了過程中的重要事件,比如節(jié)點(diǎn)間建立連接、列車到站等,這些需要由仿真測試節(jié)點(diǎn)發(fā)送給仿真測試綜合管理器,以實(shí)現(xiàn)仿真測試綜合管理器對(duì)仿真測試過程的監(jiān)控;另一方面,一些具體參數(shù),作為仿真產(chǎn)生的核心數(shù)據(jù),以及測試需要的重要數(shù)據(jù),這些信息也要由仿真測試節(jié)點(diǎn)發(fā)送給仿真測試綜合管理器,以供回放、分析和評(píng)估之用[4]。
對(duì)于接收到的這些重要信息,一方面,當(dāng)時(shí)在仿真測試綜合管理器界面上顯示出來;另一方面,連同發(fā)送時(shí)間,一同存檔。
(4)站場圖顯示。仿真測試管理器根據(jù)從線路數(shù)據(jù)庫下載的基礎(chǔ)線路,繪制全線的線路圖,根據(jù)其他仿真設(shè)備(軌旁:軌道電路狀態(tài),應(yīng)答器狀態(tài);聯(lián)鎖:站場信息,進(jìn)路信息,信號(hào)機(jī)狀態(tài),道岔狀態(tài);TCC:軌道電路碼序;RBC:列車運(yùn)行許可)提供的信息顯示全場的實(shí)時(shí)狀態(tài),這些狀態(tài)包括軌道電路狀態(tài),應(yīng)答器狀態(tài),站場狀態(tài),列車可運(yùn)行的最遠(yuǎn)距離和軌道電路碼序。
全線圖采用多個(gè)屏幕顯示,顯示不全的使用橫向滾動(dòng)條來擴(kuò)展。全線圖是整體仿真測試平臺(tái)狀態(tài)的顯示,同時(shí)也可以在上面完成人工操作,包括軌道電路故障下達(dá),應(yīng)答器故障下達(dá),進(jìn)路設(shè)置或取消命令等。仿真測試管理器只下達(dá)命令,執(zhí)行設(shè)備需要根據(jù)邏輯狀態(tài)判斷是否能執(zhí)行其命令,把結(jié)果反饋給仿真測試管理器。
全線圖還需要顯示測試序列的情況,包括測試序列要發(fā)生的地點(diǎn)及其執(zhí)行情況,使用不同顏色來區(qū)分將要執(zhí)行的序列和已經(jīng)執(zhí)行的序列。
仿真測試管理器開始工作后,首先按照配置方案配置各個(gè)節(jié)點(diǎn),隨后配置網(wǎng)絡(luò)參數(shù)和同步節(jié)點(diǎn),并依次給這些測試節(jié)點(diǎn)下達(dá)下載線路數(shù)據(jù)庫中線路信息的命令。待所有節(jié)點(diǎn)準(zhǔn)備好后,讀取XML測試腳本生成測試命令。
仿真前的管理工作做好后,由仿真測試綜合管理器來啟動(dòng)整個(gè)仿真測試過程。仿真測試過程中,仿真測試綜合管理器對(duì)各節(jié)點(diǎn)進(jìn)行監(jiān)控,并記錄一些重要信息。仿真的暫停、結(jié)束等命令也由仿真測試綜合管理器下達(dá)。在仿真過程中,需要通過仿真測試綜合管理器進(jìn)行故障注入和測試案例的執(zhí)行。
仿真結(jié)束后,仿真測試綜合管理器對(duì)記錄的一些重要數(shù)據(jù)進(jìn)行分析,并可以對(duì)仿真片段進(jìn)行回放,以此來實(shí)現(xiàn)對(duì)建設(shè)方案和仿真系統(tǒng)自身的驗(yàn)證。
仿真測試管理器的工作流程如圖3所示。
本文設(shè)計(jì)了CTCS-3級(jí)列控系統(tǒng)仿真測試平臺(tái)中仿真測試管理器的功能及實(shí)現(xiàn)方案,對(duì)仿真前的管理及整個(gè)仿真過程的控制與顯示方法做了詳細(xì)介紹。仿真測試管理器的節(jié)點(diǎn)監(jiān)控功能,可以實(shí)現(xiàn)不同線路不同模塊設(shè)備的靈活配置;故障注入功能可以實(shí)現(xiàn)對(duì)不同模塊功能的測試;數(shù)據(jù)收集功能可以實(shí)現(xiàn)仿真回放,同時(shí)也為列控系統(tǒng)的方案驗(yàn)證及評(píng)估提供了基礎(chǔ)條件。仿真測試管理器的加入,提高了仿真平臺(tái)的可操作性、靈活性及自動(dòng)性。
[1]鐵道部科技司,鐵道部運(yùn)輸局.CTCS-3級(jí)列控系統(tǒng)需求規(guī)范(SRS)[S].2008.
[3]季學(xué)勝,李開成,張勇,等.CTCS-3級(jí)列控系統(tǒng)測試案例生成方法的研究[J].鐵道通信信號(hào),2009,45(10):1-5.
[4]馬欽,李永偉,蔣玉國.高速列車動(dòng)態(tài)仿真系統(tǒng)的信息存儲(chǔ)和回放[J].無線電通信技術(shù),2002,28(3):49-51.