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