軌道交通ATS仿真運(yùn)行框架的設(shè)計與實現(xiàn)摘 要:在分析軌道交通ATS系統(tǒng)特性的基礎(chǔ)上,選用面向?qū)ο蟮姆抡娼?蚣芎瓦壿嬁刂瓶蚣?結(jié)合城市軌道交通的運(yùn)行特點,對ATS仿真系統(tǒng)的時間控制和對象控制進(jìn)行明確定義,克服傳統(tǒng)仿真控制邏輯發(fā)散于描述模型過程代碼中的缺點,介紹了一種面向?qū)ο蟮腁TS仿真系統(tǒng)運(yùn)行框架的設(shè)計和實現(xiàn)方法,為ATS仿真系統(tǒng)提供新的思路和方案。關(guān)鍵詞:軌道交通;ATS仿真系統(tǒng);建模;框架;站場圖 作為一個典型的強(qiáng)實時離散系統(tǒng),城市軌道交通ATS(Automatic Train Supervision)系統(tǒng)周期性地采集環(huán)境信息,根據(jù)外部輸入以及當(dāng)前狀態(tài)進(jìn)行系統(tǒng)內(nèi)部的更新,生成控制命令,以控制外部環(huán)境。一般來說,在離散性的系統(tǒng)中,提示系統(tǒng)性能的狀態(tài)變量值將在隨機(jī)的時間點上發(fā)生躍變,而在兩個時間點之間,系統(tǒng)的狀態(tài)不發(fā)生任何變化。針對ATS系統(tǒng)的運(yùn)行特點,有必要明確其仿真運(yùn)行的框架,從而保證該系統(tǒng)能夠順暢運(yùn)行,以充分發(fā)揮出仿真系統(tǒng)對實際應(yīng)用的技術(shù)支撐作用。1 ATS仿真系統(tǒng)建模框架 ATS仿真系統(tǒng)采用面向?qū)ο蟮慕?蚣?OSM),主要包括對象關(guān)系描述(ORS)、對象行為描述(OBS)和對象交互描述(OIS)等3個組成部分,符合城市軌道交通ATS系統(tǒng)設(shè)計嚴(yán)謹(jǐn)、組織嚴(yán)密、模塊化技術(shù)等特點。 ORS采用分類、分解關(guān)系,進(jìn)行對象之間聯(lián)系的描述;OBS通過對象的狀態(tài)、引起狀態(tài)改變的事件以及在狀態(tài)轉(zhuǎn)移過程中對對象所執(zhí)行的動作進(jìn)行描述;OIS則對交互過程中所涉及的對象、對象的響應(yīng)方式以及交互方式進(jìn)行描述。 ATS仿真系統(tǒng)的對象通常分為信號點類和列車類。其中,信號點類包括信號機(jī)、道岔、軌道等,由組件的元素類和元素信息類統(tǒng)一管理。該系統(tǒng)主要通過進(jìn)路控制、道岔信號機(jī)的連鎖控制和列車控制等方式進(jìn)行實際軌道系統(tǒng)控制細(xì)節(jié)的模擬。ATS仿真系統(tǒng)框架設(shè)計對一些控制仿真模塊進(jìn)行抽象和封裝,稱為控制類,包括運(yùn)行仿真器、出/入庫管理器、列車管理器和通信消息管理器等內(nèi)容。同時,也對運(yùn)行時所需的數(shù)據(jù)進(jìn)行統(tǒng)一封裝,稱為運(yùn)行時數(shù)據(jù)類。1. 1 運(yùn)行仿真器 作為仿真控制的核心,運(yùn)行仿真器能夠?qū)崿F(xiàn)仿真時鐘、仿真線程、按時刻表和時鐘組織列車出入庫和運(yùn)行的管理以及信號點類對象之間的交互管理等。運(yùn)行仿真器劃分為站場運(yùn)行仿真器和停車場運(yùn)行仿真器。其中,必須具備站場仿真器,停車場仿真器則根據(jù)具體情況而確定。1. 2 列車出/入庫管理器 當(dāng)停車場運(yùn)行仿真器存在時,管理器負(fù)責(zé)在列車站場仿真器和停車場仿真器之間進(jìn)行轉(zhuǎn)移,并在此過程中初始化或撤銷列車對象數(shù)據(jù);當(dāng)停車場仿真器不存在時,負(fù)責(zé)將列車對象放入站場仿真器,或?qū)㈦x開站場仿真器的列車對象銷毀。1. 3 列車管理器 管理仿真器中運(yùn)行的列車。1. 4 列車類 對應(yīng)于ATS系統(tǒng)中的實際列車。對列車的信息、狀態(tài)數(shù)據(jù)進(jìn)行維護(hù),并可仿真列車與地面設(shè)備的交互方式。1. 5 數(shù)據(jù)類 統(tǒng)一運(yùn)行時數(shù)據(jù)和站場數(shù)據(jù)的訪問規(guī)則。1. 6 運(yùn)行時數(shù)據(jù) 由運(yùn)行時所需的時刻表、停站時間表和運(yùn)行等級表等組成,負(fù)責(zé)數(shù)據(jù)的加載、查詢和訪問。1. 7 站場圖類 站場圖主要由圖中的元素組成,即信號點類的對象是仿真運(yùn)行的模擬場地。1. 8 組件元素類 用于封裝加載到組件化對象,使系統(tǒng)不用直接使用COM接口訪問組件對象,可通過元素信息類的結(jié)合實現(xiàn)組件分類管理。1. 9 組件元素信息類 記錄組件對象的類型等信息。2 ATS仿真系統(tǒng)邏輯控制框架 在仿真運(yùn)行過程中,對象之間通過相互發(fā)送消息,執(zhí)行內(nèi)部定義的邏輯控制。其中,主動對象向時間控制結(jié)構(gòu)報告下次內(nèi)部事件,由時間控制結(jié)構(gòu)確定相應(yīng)的時間。條件時間的測試則在對象內(nèi)部完成,同時將執(zhí)行情況報告給對象交互控制結(jié)構(gòu)。當(dāng)每次時鐘推進(jìn)之后,對象交互控制結(jié)構(gòu)就監(jiān)測對象之間的交互方式,若在當(dāng)前時鐘下所有對象都不能完成交互,則向時間控制結(jié)構(gòu)發(fā)出要求推進(jìn)時鐘的信號。此時,時間控制結(jié)構(gòu)將最早發(fā)生的事件發(fā)送到目的對象,再次開始交互。以上過程不斷重復(fù),直至仿真結(jié)束,則完成仿真運(yùn)行。 ATS仿真系統(tǒng)采用面向?qū)ο蟮姆抡孢壿嬁刂瓶蚣?提供了包括仿真時鐘管理、事件表控制、實體生成和刪除、數(shù)據(jù)傳送、對象交互監(jiān)控等在內(nèi)的仿真對象運(yùn)用方法,能夠明確區(qū)分仿真設(shè)計中不同的控制功能元素,克服了傳統(tǒng)模型仿真區(qū)分不清的缺點。 ATS仿真系統(tǒng)的邏輯控制框架通過時間控制和對象交互控制,采用多線程模型。以列車對象為中心,根據(jù)其狀態(tài)的變化,結(jié)合仿真時鐘的推進(jìn)控制,協(xié)調(diào)各對象交互,完成對象的交互控制。2. 1 ATS仿真時間的控制 ATS仿真時間控制主要包括仿真時鐘控制和時間表控制兩部分。 (1)時鐘控制采用多線程處理模型,需要一個輔助計時器,在指定的時間間隔內(nèi)啟動一個仿真過程,以<1s的間隔進(jìn)行計時為宜。多線程可同時處理多輛列車,通過設(shè)定科學(xué)得當(dāng)、數(shù)值相同的時間間隔,減少系統(tǒng)資源的占用,并具有良好的擴(kuò)展性,較好地處理兩個線程同時訪問同一輛仿真列車時的沖突問題。 ATS仿真時鐘控制過程:用戶啟動仿真運(yùn)行以后,仿真主線程立即啟動一個系統(tǒng)計時器。同時,主線程將系統(tǒng)時鐘置零,此后該系統(tǒng)時鐘在計時器到1s時向前跳一秒鐘,作為仿真的基準(zhǔn)時刻。在時鐘啟動之后,主線程負(fù)責(zé)系統(tǒng)時鐘的推進(jìn),而仿真運(yùn)行過程交由其它線程處理,直至仿真結(jié)束(一般仿真時間以24h為一個循環(huán))或用戶中止仿真。 (2)時間表的控制。ATS仿真系統(tǒng)是組織列車,按照地鐵運(yùn)營公司編制的班次計劃和時刻表運(yùn)行的。因此,在系統(tǒng)中將運(yùn)行時刻表作為最基本的時間表,用來規(guī)定車站一級的時刻,即到站和出站的時刻等。而對于列車在軌道上運(yùn)行的時刻,如何時占用軌道、離開軌道、觸發(fā)信號機(jī)以及清除進(jìn)路等,則需要仿真處理線程根據(jù)列車的速度、軌道的實際長度以及軌道和信號機(jī)的關(guān)系來確定。下面就是一段計算車頭占用軌道時間(即“進(jìn)入下一條軌道”事件的發(fā)生時刻)的函數(shù),其中m_odtHTCheckTime記錄了所求的時刻, g_SystemTime即為系統(tǒng)當(dāng)前仿真時刻,該函數(shù)在車頭剛進(jìn)入軌道時計算: void CTrain::CaHl eadTrackCheckTime() { intnLength=0; intnSeconds=0; if(m_pHeadTrack! =NULL) {nLength=m_pHeadTrack->GetLength(); nSeconds=int(nLength/m_fSpeed); } m_odtHTCheckTime=g_SystemTime+COleDateTime- Span(0, 0, 0, nSeconds); }2. 2 ATS仿真對象的控制 ATS仿真對象控制的核心是對列車的控制,只要仿真列車運(yùn)行起來,其他信號點對象就可以根據(jù)列車的狀態(tài)、位置信息按照ATS系統(tǒng)的規(guī)定做出反應(yīng)。各種不同制式的ATS系統(tǒng)中,信號點對象與列車之間的交互,往往存在著不同的方式,并且存在各種各樣的支持對象、功能對象的交互方式。這些交互方式均圍繞列車仿真運(yùn)行而得以進(jìn)行,可通過確定仿真列車的控制框架設(shè)計,為其他對象的設(shè)計奠定基礎(chǔ)。2. 2. 1 列車仿真運(yùn)行處理過程 處理開始時,從列車管理器中取出對象(一輛列車),根據(jù)列車當(dāng)前的狀態(tài),確定如何處理列車的運(yùn)行。 若列車為平穩(wěn)運(yùn)行狀態(tài),仿真器則會檢查列車車頭是否到達(dá)下一軌道。一旦到達(dá),則要處理所引起一系列信號點對象狀態(tài)的變化,并重新計算當(dāng)前ATP的速度,確定車頭占用新軌道的時間,并對車尾進(jìn)行類似的處理。 若列車為停車狀態(tài),則分3個階段:剛進(jìn)入停車狀態(tài)時,將列車的速度置零,并處理停車時各種信號點狀態(tài)的轉(zhuǎn)換;列車停穩(wěn)后一般不會有狀態(tài)變換,主要檢測是否有列車啟動消息;列車收到重新啟動消息后,處理停車到啟動的狀態(tài)轉(zhuǎn)換。 若列車為折返狀態(tài),則在進(jìn)入新的循環(huán)之前轉(zhuǎn)載新的時刻表表項作為計劃時間表,折返之前一般都存在一個停車的過程。因此,在重新啟動時會與站臺停車有所不同。2. 2. 2 列車運(yùn)行狀態(tài) (1)進(jìn)入仿真運(yùn)行:從列車車頭到達(dá)出庫線開始,到車尾出現(xiàn)在站場仿真器為止的狀態(tài)。 (2)離開仿真運(yùn)行:從列車車頭到達(dá)入庫線開始,到車尾離開站場仿真器為止的狀態(tài)。 (3)列車平穩(wěn)運(yùn)行:列車按ATP速度在軌道上運(yùn)行時的狀態(tài)。 (4)列車進(jìn)路處理:當(dāng)觸發(fā)信號機(jī)且信號機(jī)進(jìn)路開放時,列車即進(jìn)入進(jìn)路處理狀態(tài),直至列車離開進(jìn)路并將進(jìn)路解鎖。 (5)列車折返:列車行駛到道岔,且停車后即將重新啟動時,進(jìn)入列車折返狀態(tài),直至列車正式啟動。 (6)列車進(jìn)站(減速):從列車發(fā)現(xiàn)前方有停車車站開始,到列車速度即將為零時為止的狀態(tài)。 (7)列車停站:從列車即將停穩(wěn)開始到即將啟動時為止的狀態(tài)。 (8)列車離站(加速):從列車自停車車站啟動開始,到列車速度平穩(wěn)時為止的狀態(tài)。ATS仿真系統(tǒng)使用switch... case控制語句完成各列車狀態(tài)的切換處理過程,通過在各狀態(tài)處理過程中判斷狀態(tài)轉(zhuǎn)換條件,進(jìn)行相應(yīng)的狀態(tài)轉(zhuǎn)換(見圖1)。
3 結(jié)語 仿真運(yùn)行框架是ATS仿真系統(tǒng)得以正常工作的核心。ATS仿真系統(tǒng)是離散系統(tǒng)仿真的一種應(yīng)用,是使?fàn)顟B(tài)隨著時間的推進(jìn),不斷進(jìn)行轉(zhuǎn)移的一類系統(tǒng)仿真,這種仿真主要集中在時鐘的控制上。本文在設(shè)計ATS仿真運(yùn)行框架時使用了面向?qū)ο蟮姆抡娼?蚣?OSM)和仿真邏輯控制框架,并在此基礎(chǔ)上獲得了ATS仿真系統(tǒng)框架類,集中解決了ATS仿真時間控制和對象控制兩方面的問題。參考文獻(xiàn)[1]馮允成,等,離散系統(tǒng)仿真[S].北京:機(jī)械工業(yè)出版社, 1998.[2]趙根苗,陳永生.基于三層分布式架構(gòu)的列車自動監(jiān)控仿真培訓(xùn)系統(tǒng)的分析與設(shè)計[ J].微型電腦應(yīng)用,2003, 19.
