朱愛鵬, 徐中偉, 牛 強
(同濟大學(xué)電子與信息工程學(xué)院,上海 201804)
隨著現(xiàn)代無線通信技術(shù)的快速發(fā)展,無線通信技術(shù)的可靠性、穩(wěn)定性和實用性大大提高,基于通信的列車運行控制(Communication Based Train Control,CBTC)系統(tǒng)也隨之產(chǎn)生[1].CBTC 以其高速度、高密度的特點逐漸成為軌道交通信號系統(tǒng)的首選解決方案.但是在研發(fā)的過程中,由于CBTC系統(tǒng)的復(fù)雜性和高安全性要求,在沒有得到一個符合工程化標(biāo)準(zhǔn)的CBTC系統(tǒng)之前,在實際線路上對CBTC進行安全測試與評估的成本非常昂貴,需要消耗巨大的人力、物力和財力,還具有一定的安全隱患,而且會使整個CBTC系統(tǒng)的開發(fā)周期大大延長.因此,CBTC半實物仿真測試平臺成為CBTC系統(tǒng)安全測試的重要手段.該仿真測試平臺的研究與實現(xiàn)能有效的降低安全測試與評估的成本,對于行業(yè)的發(fā)展具有很好的促進作用.
軌旁設(shè)備仿真是CBTC仿真測試平臺不可或缺的重要組成部分,它能仿真軌旁設(shè)備的功能,為整個CBTC系統(tǒng)的運行和測試提供虛擬的軌道線路環(huán)境.針對不同的軌道線路,軌旁設(shè)備都有很大的差異,如果每條線路的軌旁仿真系統(tǒng)都要重新設(shè)計,將存在大量的重復(fù)勞動,這將降低整個系統(tǒng)的可重用性和擴展性.
本文利用組件技術(shù)設(shè)計軌旁設(shè)備仿真系統(tǒng)并實現(xiàn).使其能夠應(yīng)用于不同軌道線路的仿真,從而實現(xiàn)軌旁設(shè)備仿真系統(tǒng)的可重用性、加快整個CBTC測試平臺的效率、縮短開發(fā)周期、減少系統(tǒng)錯誤.
圖1
組件是一種可重復(fù)調(diào)用的軟件塊,它把維護及操作每一類信息的程序集中在一起獨立成塊.應(yīng)用系統(tǒng)通過預(yù)先定義好的接口來調(diào)用執(zhí)行組件[2].組件可以簡單如一個類,也可以復(fù)雜如完整的應(yīng)用服務(wù)處理.組件化程序設(shè)計的核心是組件的產(chǎn)生和組裝[3].在組件模型下,通過對組件庫中的組件進行動態(tài)組裝來提高軟件生成的效率和質(zhì)量.
組件技術(shù)的基本思想:將復(fù)雜的軟件系統(tǒng)分成幾個可先實現(xiàn)、易開發(fā)、復(fù)用和修改的軟件模塊.它封裝屬性和方法,隱藏實現(xiàn)的詳細細節(jié),提供相應(yīng)的接口,開發(fā)人員可以利用此接口調(diào)用組件來生成系統(tǒng).可以單獨的對某個組件進行修改和升級,只要保持組件接口不變,就不影響整個系統(tǒng)的運行.利用組件構(gòu)建模型的流程圖如圖1所示.
組件是軌旁設(shè)備仿真系統(tǒng)的基本單元,根據(jù)軌旁設(shè)備仿真系統(tǒng)需求的分析,軌旁設(shè)備組件包括區(qū)段組件、道岔組件、信號機組件、信標(biāo)組件、車站緊急停車組件、屏蔽門組件等[4].利用組件技術(shù),構(gòu)建一個完備的軌旁設(shè)備組件庫,對于不同的軌道線路,通過對組件庫中的組件動態(tài)組裝,完成系統(tǒng)開發(fā),如圖2所示.
圖2
圖3
構(gòu)建軌旁設(shè)備組件最重要的是設(shè)計組件的屬性.考慮到軌旁設(shè)備仿真系統(tǒng)一方面要能仿真真實的軌旁設(shè)備功能,另一方面要能給測試人員提供良好的人機交互界面,因此軌旁設(shè)備組件的屬性可以劃分為:功能屬性、視圖屬性.所謂功能屬性,是組件對真實軌旁設(shè)備功能的模擬,它能給CBTC系統(tǒng)運行提供所需軌旁設(shè)備功能,主要是一些狀態(tài)信息,如區(qū)段的占用和空閑、信號機的亮燈狀態(tài)、熔絲的通斷、道岔的定位和反位、屏蔽門的打開和關(guān)閉等.組件的視圖屬性,是指在創(chuàng)建人機交互界面繪制站場圖時所需的位置屬性,它主要包括軌旁設(shè)備組件在站場圖中的位置坐標(biāo)信息、名稱信息、軌道區(qū)段的長度、信號機的種類信息、站臺方向信息等.以道岔組件為例:
1)功能屬性(道岔定位狀態(tài)、道岔反位狀態(tài)、道岔鎖閉狀態(tài)、道岔到定位延時(ms)、道岔到反位延時(ms));
2)視圖屬性(道岔中心軸坐標(biāo)、道岔定位點坐標(biāo)、道岔反位點坐標(biāo)、道岔名稱);
以道岔屬性為例,道岔組件屬性代碼如下:
軌旁設(shè)備仿真系統(tǒng)的開發(fā)首先需要構(gòu)建一個完備的軌旁設(shè)備組件庫,然后根據(jù)不同軌道線路配置的XML文件信息,從軌旁設(shè)備組件庫中提取所需的組件,生成對應(yīng)的組件對象,初始化組件數(shù)據(jù),最后調(diào)用相應(yīng)的繪圖函數(shù)生成整個系統(tǒng).其開發(fā)流程如圖3所示.
軌旁設(shè)備仿真系統(tǒng)由組件生成、站場圖繪制、故障注入三大功能模塊構(gòu)成.其中組件生成是基礎(chǔ),站場圖的繪制是以組件生成的對象為參數(shù),故障注入是改變組件對象屬性值的手段.
圖4
圖5
在開發(fā)軌旁設(shè)備仿真系統(tǒng)的過程中,需要根據(jù)組件“清單”從軌旁設(shè)備組件庫中提取相應(yīng)的組件,產(chǎn)生相應(yīng)的組件對象.其中的“清單”就是利用XML語言的描述的軌旁設(shè)備信息,將所有組件的相關(guān)屬性值寫入配置的XML文件中,在軌旁設(shè)備仿真系統(tǒng)啟動后,選擇不同軌道線路所對應(yīng)的XML配置文件,然后根據(jù)XML配置文件從組件庫中生成所需的組件對象,同時給組件對象的部分屬性賦值[5].最后,生成對應(yīng)軌道線路的軌旁設(shè)備仿真系統(tǒng),從而實現(xiàn)系統(tǒng)的復(fù)用性和快速開發(fā).以道岔為例子,某道岔信息的XML語言描述如下:
圖6
站場圖是整個軌旁設(shè)備仿真系統(tǒng)提供的人機交互界面,它能顯示真?zhèn)€軌道線路的信息,提供所有軌旁設(shè)備的運行狀態(tài)和列車的運行狀態(tài),同時給測試人員能通過它進行故障注入,觀測測試結(jié)果.可見站場圖在整個軌旁設(shè)備仿真系統(tǒng)中的重要性.本文利用GDI+(Graphics Device Interface,圖形設(shè)備接口)技術(shù),采用基于函數(shù)的設(shè)計方法對每一類軌旁設(shè)備編寫一個獨立的繪圖函數(shù),所有函數(shù)的集合就是整個軌旁設(shè)備組件庫的函數(shù)庫[6].在繪制站場圖時,只要把組件對象作為函數(shù)的參數(shù),利用組件對象的繪圖屬性繪制站場圖,根據(jù)組件對象的功能屬性動態(tài)更新軌旁設(shè)備在站場圖中的狀態(tài)信息.整個流程如圖4所示:
以成都一號線為例,根據(jù)成都一號線信息配置對應(yīng)的XML文件,軌旁設(shè)備仿真系統(tǒng)通過加載XML文件生成關(guān)于成都一號線的軌旁設(shè)備仿真,其中部分站場圖如圖5所示:
故障注入實際上是一種測試技術(shù),按照測試案例要求或者故障模型,人為地產(chǎn)生故障施加在被測系統(tǒng)中,同時觀測被測系統(tǒng)對注入的故障所作出地響應(yīng).真實CBTC系統(tǒng)運行環(huán)境不可預(yù)知的因素非常多,因此故障注入的功能在整個仿真測試平臺中是必不可少的.軌旁設(shè)備仿真系統(tǒng)可以通過人機交互界面,點擊所需注入故障的軌旁設(shè)備,改變對應(yīng)組件對象的屬性值,來仿真真實軌旁設(shè)備在運行過程中可能出現(xiàn)的故障情況.以道岔為例,如圖6所示,可以人為改變道岔組件對象的功能屬性值,如道岔的定位狀態(tài)、反位狀態(tài)、鎖閉狀態(tài)、到定位延時的值、到反位延時的值等等.
基于組件技術(shù)的城市軌道交通軌旁設(shè)備仿真系統(tǒng)設(shè)計完備的軌旁設(shè)備組件庫,對于不同的軌道線路,配置對應(yīng)的XML文件,然后從組件庫中加載不同的軌道線路所需的組件生成對應(yīng)的組件對象并初始化組件對象的屬性值.將組件對象的屬性值作為參數(shù)傳入對應(yīng)設(shè)備封裝好的的GDI+繪圖方法,快速準(zhǔn)確地繪制站場圖界面,實現(xiàn)軌旁系統(tǒng)的可復(fù)用性、可擴展性和動態(tài)配置.測試人員能從站場圖中看到整條線路上的信號機、道岔、區(qū)段、站臺等軌旁設(shè)備的位置和名稱,以及他們的時時狀態(tài)信息,更主要的是測試人員能直接通過站場圖通過點擊各個軌旁設(shè)備對軌旁設(shè)備注入一系列的故障,并能反饋給被測系統(tǒng),為測試人員提供一個良好的人機交互界面,也為CBTC系統(tǒng)的測試提供各種運行場景.基于組件技術(shù)的軌旁設(shè)備系統(tǒng)的軌旁設(shè)備仿真系統(tǒng)已經(jīng)完成并且完成部分CBTC系統(tǒng)的測試.
[1]魯也傳,陳永生,郭玉臣.基于通信的列車自動監(jiān)控系統(tǒng)平臺設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2009,12:152 -154.
[2]王君,樊治平.一種基于角色的組件動態(tài)組裝模型[J].計算機應(yīng)用,2003,2:5 -8.
[3]雒翠萍.面向組件技術(shù)的鐵路通信資源DSS的研發(fā)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2012,8:40 -43.
[4]王野,郭秀清.基于組件技術(shù)的列車自動監(jiān)控仿真系統(tǒng)開發(fā)平臺[J].計算機應(yīng)用,2007,12:286 -288.
[5]陳偉嘉,陳永生.OT系統(tǒng)的可復(fù)用站場圖的設(shè)計與實現(xiàn)[J].微計算機應(yīng)用,2011,8:52 -55.
[6]俞家文,陳空軍,高立群.基于GDI+和.NET組件技術(shù)的MIS系統(tǒng)動態(tài)圖[J].微計算機應(yīng)用,2007,5:552 -555.