王勝,孔繁虹
(同濟大學電氣工程系,上海200331)
隨著城市軌道交通的快速發展,采用列車自動運行控制(ATC)系統是未來地鐵的發展必然趨勢,列車自動監控系統作為列車ATC系統的一個子系統在列車運行自動化進程中占有舉足輕重的地位[1]。由于列車線路的特殊性和復雜性,如果在實際的線路上對列車ATS系統進行測試研究,工作實施難度較大,成本代價較高;如果與先進的控制技術、計算機技術相結合,實施建模分析和軟件模擬,將極大地提高工作效率,縮短項目周期。然而不同的列車線路采用的ATS系統不同,如果針對每一條軌道線路都獨立地開發一套ATS仿真系統,就會產生大量的重復勞動,很多軟件資源無法重復利用,既浪費了資金又增加了開發周期。故需要開發一個具有通用性的列車ATS仿真平臺,以縮短開發仿真系統的周期,以便快速開發不同線路的列車運行仿真培訓系統,來適應列車運營的培訓需求[2-4]。
列車ATS系統能實現對列車運行的監督和控制,輔助行車調度人員對全線列車進行管理[5-6]。主要功能有:①列車進路自動設置;②列車自動識別與跟蹤;③監視列車運行和設備狀態;④編制和管理列車運行圖;⑤列車運行調整;⑥列車運行實跡記錄、統計、輸出;⑦列車運行模擬;⑧系統故障復原處理;⑨提供旅客向導信息[7]。
本研究旨在采用圖形技術以及面向對象的方法,結合數據庫軟件建立一個具有可靠性、靈活性、通用的ATS系統仿真平臺,能夠針對不同的列車線路開發出相應的ATS仿真系統,為列車人員培訓、軌道新技術的研究提供一個通用的仿真平臺。
為了實現對列車自動監控系統的仿真,主要是實現線路繪制、線路元件邏輯設置、列車自動排列進路及運行監視和跟蹤以及運行數據統計及報表自動生成等功能,列車自動監控系統仿真平臺可由數據輸入、數據管理、仿真應用三大部分組成[8],平臺功能結構框架如圖1所示。通過這些功能部分,用戶可以構建出不同列車線路的自動監控系統仿真模型,并在該模型上進行列車運行監控與調整等工作,得到所需的仿真結果,完成列車自動監控系統的仿真。

圖1 平臺功能結構框架
數據輸入功能模塊用于輸入系統仿真所需的基礎數據,主要包括線路數據、列車數據、時刻表數據三部分。線路數據由軌道、站臺、道岔、信號機等線路元件信息構成。用戶可以在軟件界面輸入線路數據,并與數據庫中的數據進行交互,實現數據庫數據的導入/導出。列車數據和時刻表數據主要用于軟件中列車運行仿真過程。
仿真平臺中包含許多的數據信息,必須對這些數據進行有效地管理。列車ATS仿真系統的作用主要是實現列車運行仿真的顯示與監控,可以將ATS仿真數據庫數據分為靜態數據和動態數據。描述線路元件的信息、初始時刻表信息等數據構成系統的靜態數據;列車運行仿真中不斷變化的列車信息、線路元件的狀態信息等則構成系統的動態數據。數據的管理結構如圖2所示,用戶在仿真平臺中可以隨時對數據信息進行管理。

圖2 數據的管理結構
在本研究建立的列車自動監控仿真平臺中,可以實現不同列車線路的模塊化輸入繪制功能,可以針對不同的列車線路開發其相應的ATS仿真系統進行系統仿真。仿真平臺可以對列車線路運行進行模擬顯示與監控,并能將模擬運行過程信息記錄下來并進行重放。
列車自動監控系統仿真平臺以Visual Studio 2005作為開發環境,以C++為編程語言,使用SQL Server 2005構建數據庫,利用圖形技術與面向對象的方法進行設計。
列車自動監控系統仿真平臺的軟件功能結構分為兩層,分別為功能模塊和基礎模塊,功能結構圖如圖3所示。功能模塊主要包括人機界面模塊、列車線路輸入和維護模塊、列車仿真運行模塊,還可以在此基礎上拓展其他的功能模塊,體現了仿真平臺的拓展性和通用性。基礎模塊主要是數據管理模塊,可以實現數據庫與仿真系統的數據交互,為仿真平臺提供列車線路繪制、列車線路運行模擬、仿真回放等功能所需的基本數據。

圖3 列車ATS系統仿真平臺軟件功能結構圖
2.2.1 人機界面模塊
仿真平臺使用基于對話框的MFC工程編寫人機界面模塊。人機界面主要包括登錄/退出系統界面、列車線路管理界面、數據管理界面、運行仿真界面。這些界面給用戶提供了仿真平臺內所有的輸入、控制操作。
2.2.2 數據管理
仿真平臺作為一個通用的軟件,必須能夠實現對所有列車線路的仿真,為了實現這個目標,用戶可以針對不同的列車線路ATS系統進行建模分析,提取不同ATS系統中的共性部分作為一個通用的模塊,在之后的開發過程中直接利用,從而提高系統開發效率,減少重復勞動。
本研究首先對列車線路進行建模分析,針對不同列車線路提取基本的線路元件進行模塊化處理,開發出一個通用的列車線路繪制軟件。車線路圖主要由軌道、站臺、道岔、信號機4種元件組成,根據仿真要求,需要對它們做完整地描述來反映其特性及參數。首先筆者將這些線路元件作為單獨的模塊處理[9-10],然后采用面向對象的技術分別將這些元件模塊當作實體對象處理,按照如下方式定義數據結構來描述這些元件:

以上定義了軌道的結構體,采用同樣的方法可以定義站臺、道岔、信號機等的結構體。當完成了列車線路輸入與維護模塊基本的準備工作后,在此基礎上就可以開發出完整的列車線路通用繪制軟件,繪制出不同的列車線路并保存。
列車線路輸入與維護模塊具體功能流程如圖4所示,用戶首先進入仿真平臺中線路繪制軟件系統,通過選擇“新建線路”或者“修改線路”功能按鈕選擇執行對應程序,然后通過點擊相應按鈕或圖標來繪制元件對象,再將繪制的元件對象移動到相應位置,并添加與之關聯的標注,再通過捕捉選定相應的連接點,按一定算法將相關元件連接起來,并自動生成各元件屬性中的前、后連接對象。生成的線路圖用結構體數組將元件對象的ID、位置、狀態、連接關系、上/下行等信息記錄下來,并導入數據庫保存。同時也可以刪除所繪制的無效列車線路信息。

圖4 列車線路輸入/維護流程圖
2.2.3 數據管理模塊
仿真平臺將數據存儲在SQL Server 2005數據庫中。用戶為了將數據庫存儲在SQL中,需要在SQL中建立的數據庫中添加表,保存相應信息,如線路信息表中存放線路中的元件對象ID、位置、狀態等,車輛信息表里存放車輛名稱和車輛速度等信息,運行信息表里存放站間運行時間和車站停站時間,時刻表里存放生成的時刻表信息等。
為了在VS 2005中利用控件數據對象(ADO)數據庫訪問技術實現軟件與數據庫通信,可以將ADO封裝到一個類中,命名為ADOConn,后面的編程可以直接調用該類使用ADO,在頭文件中定義幾個函數,如:void OnInitADOConn()用來初始化連接數據庫,_RecordsetPtr&GetRecordSet(_bstr_t bstrSQL)用來執行查詢,BOOL ExecuteSQL(_bstr_t bstrSQL)用來執行SQL語句。
建立好ADO類之后,便可進入程序的編寫步驟,筆者先對數據庫中的每個表創建一個類,如線路信息表創建類CLineInfo,并把一些相關的SQL命令如insert、update、delete命令封裝在類中,方便后面直接調用。接下來就要實現程序對數據庫的操作,即實現對數據庫的添加、修改和刪除功能。以線路信息表的添加功能為例,線路信息表對應的類是CLineInfo,里面封裝了用ADO直接與數據庫通信的函數sql_insert,sql_update,sql_delete,函數功能可由sql命令實現,如添加功能為INSERT INTO Line1(LineID,LineNAME,distance)VALUES("+strLineID+",'"+LineNAME+"',"+strdistance")",之后在程序中相應按鈕添加相應消息處理函數即可實現該功能,所添加的部分繪制線路信息如圖5所示。同理可對其他表實現添加、修改、刪除功能。

圖5 Line1表中的線路信息
2.2.4 列車運行仿真模塊
列車線路繪制完成之后,仿真平臺就可以在該基礎上拓展開發其他的功能,例如可以選擇繪制完成的線路進行列車運行仿真,開發列車仿真運行功能。完整的列車運行仿真流程如圖6所示。筆者從數據庫中選擇導出保存的線路信息,根據選擇的線路情況,設置線路參數。然后從數據庫中讀取出保存好的上線列車信息,自動生成列車時刻表,就可以進行列車線路運行仿真。

圖6 列車運行仿真流程圖

圖7 列車線路仿真運行界面
本研究通過所建立的仿真平臺可以繪制出不同的軌道線路,并實現了線路信息與數據庫的交互,在此基礎上開發了列車線路運行仿真功能,對列車運行模擬進行顯示監控。列車運行模擬仿真的軟件界面如圖7所示,用戶選擇保存的線路Line11進行了列車運行仿真顯示與記錄。仿真平臺還可以繼續拓展其他列車ATS功能,例如列車自動排列進路、時刻表自動調整、運行仿真回放、乘客信息發布等功能,開發出一套完整的列車ATS仿真系統。
本研究對ATS系統功能進行了分析,在Visual Studio 2005的軟件環境中開發了列車ATS仿真平臺。利用該仿真平臺可以繪制出不同的列車線路,在此基礎上進行相應列車線路ATS仿真系統的開發,具有較強的可拓展性和通用性。
本研究開發出的仿真系統可以用于列車ATS新技術的研究,也可以用于人員的培訓,還可以結合列車ATC系統的其他系統進行聯合仿真,具有一定的創新性與實用性。
[1]瞿莉麗.淺談列車自動控制系統ATC[J].計算機與網絡,2008(36):172-173
[2]朱鳴.列車運行仿真培訓軟件通用開發平臺的設計與實現[J].城市軌道交通研究,2012,15(6):63-65.
[3]汪現雨.ATS仿真系統交互式開發平臺的研究與實現[D].上海:同濟大學電子與信息工程學院,2006.
[4]陳永生,徐金祥.上海軌道交通信號制式的多樣性及其對策[J].城市軌道交通研究,2002,5(4):29-32.
[5]萬林,范明.列車運行控制系統仿真平臺的研究[J].鐵道通信信號,2010,46(7):71-74.
[6]趙威.城市軌道交通列車自動監控系統的研究[J].鐵路通信信號工程技術,2008,5(5):30-32.
[7]秦武.城市軌道交通列車自動監控系統[J].上海鐵道科技,2006(6):33-35.
[8]張瓊燕,鄧瀚,趙霞.城市軌道交通列車運行控制系統仿真分析與研究[J].城市軌道交通研究,2012,15(8):103-107.
[9]華似磊,董俊祺.城市軌道交通列車自動監控仿真系統組件設計與實現[J].城市軌道交通研究,2007,10(2):41-43.
[10]王野,郭秀清.基于組件技術的列車自動監控仿真系統開發平臺[J].計算機應用,2007,27(Z2):286-288.