《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > ATS仿真系統數據處理與邏輯運算模塊的設計與實現
ATS仿真系統數據處理與邏輯運算模塊的設計與實現
來源:微型機與應用2013年第22期
胡揚龍, 郭秀清
(同濟大學 控制科學與工程系, 上海201804)
摘要: 在城市軌道交通ATS仿真系統中,數據庫和邏輯運算是整個仿真系統最核心的兩個部分。以上海地鐵一號線為例,介紹了ATS仿真系統的架構,對數據庫的設計以及XML表的存儲和讀取進行了詳細分析。對建立在數據庫信息的基礎上進行了邏輯運算并對列車模擬運行狀態進行控制和表示。
Abstract:
Key words :

摘  要: 在城市軌道交通ATS仿真系統中,數據庫和邏輯運算是整個仿真系統最核心的兩個部分。以上海地鐵一號線為例,介紹了ATS仿真系統的架構,對數據庫的設計以及XML表的存儲和讀取進行了詳細分析。對建立在數據庫信息的基礎上進行了邏輯運算并對列車模擬運行狀態進行控制和表示。
關鍵詞: 邏輯運算; XML表; ATS仿真

    近年來,軌道交通快速進入高速期,成為帶動經濟增長的重要因素[1]。城市軌道交通是一個龐大而且復雜的系統。隨著信息技術和自動化的發展,出現了以保證列車行車安全、縮短列車運行時間、提高列車運行質量為代表的列車自動控制系統,為復雜環境下的列車運行提供了有效的保障。城市軌道交通ATS仿真系統主要完成列車的調度和跟蹤、運行時刻表的調整控制和監督、列車進路的控制和表示、系統狀況與報警信息的顯示和記錄,以及統計匯編、系統診斷等功能, 對提高行車效率起著重要作用[2]。
    ATS仿真系統主要是通過對數據庫的讀取來進行信號元素狀態操作,并依據信號元素的狀態信息進行相關的邏輯運算。其中邏輯運算模塊就是在聯鎖規則下對道岔、軌道和信號機等設備狀態進行動態刷新來顯示列車的自動運行、折返及停車。
1 ATS仿真系統架構
    ATS仿真主要是一個基于站場數據、列車數據、時刻表數據等數據信息支持的仿真軟件。列車模擬運行是通過時刻表來觸發的。根據列車運行時刻表來判斷列車的到站時間以及列車的早點和晚點。系統從數據庫中讀取軌道元素的狀態信息,接著通過邏輯運算對相關信號元素進行處理,例如信號機的開放、道岔的轉換等,然后將處理結果在終端顯示出來。如圖1所示,ATS仿真系統分為通信模塊、人機交互模塊、邏輯運算模塊和數據庫模塊。人與系統之間的通信是通過人機交互模塊來實現的,例如操作者發出一個操作指令自動或者手動進行切換等。指令被系統獲取后,系統內部程序判斷當前的道岔、軌道和信號機等信號元素的狀態信息(信息主要通過XML表讀取),然后通過內部的邏輯運算模塊進行相關處理。最后調用相關處理函數并把處理結果顯示在人機交互界面上。這其中涉及到各個模塊之間的通信,本文就不做重點介紹了。

2 數據庫設計
2.1站場數據存儲

    本系統采用XML表來存儲站場數據(包括信號機、道岔、軌道、時刻表和進路表)。XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,層次結構清晰,易于讀寫與共享[3]。本文選取一條進路來對XML表存儲方式進行詳細說明。圖2是上海地鐵一號線的運行截圖。    圖2基本上包含了地鐵主要的信息元素,本文選取信號機和進路表數據存儲來進行說明。首先是信號機,如圖中信號機X8,下面是X8的數據結構,其XML表的存儲信息如下:
    <Signal>
                <ID>7</ID>
                <Name>X8</Name>
                <JJQD>S11-626G</JJQD>
                <FirstQD>C8</FirstQD>
                <Direction>0</Direction>
                <Territory>S11-626G</Territory>
    </Signal>

    其中標記<JJQD>是信號機X8的接近區段(圖中是軌道S11-626G),標記<FirstQD>表示的是信號機X8的離去區段(為道岔C8),標記<Direction>表示信號機的方向(0為向右 1為向左),標記<Territory>表示信號機X8所屬區段。
    XML表主要是存儲信號設備之間的連接關系,比如信號機X8,其存儲的信息主要是前后信號設備有哪些所屬軌道及其方向等信息。道岔和軌道與信號機的類似,其數據結構就不詳細介紹了。接下來分析進路的存儲。如圖2所示,上面一共有8條進路:X8→X2,X2→X8; X8→X6, X6→X8;X4→X2,X2→X4;X4→X6,X6→X4。本文選取其中的一條進路X8→X2,其進路的XML表存儲信息如下:
    <Route>
            <ID>0</ID>
            <Name>X8-X2</Name>
            <ProtectSignal>X8</ProtectSignal>
            <EnemySignal>X2</ EnemySignal >
            <SwitchList>
                <Switch>
                    <Name>C8</Name>
                    <State>DW</State>
                </Switch>
                <Switch>
                    <Name>C2</Name>
                    <State>DW</State>
                </Switch>
            </SwitchList>
    </Route>
    其中標記<ID>是進路的編號,把X8→X2這條進路編號定為0。標記<Name>表示X8→X2的進路名稱。標記<ProtectSignal>表示這條進路的保護信號機為X8,標記<EnemySignal>表示這條進路的敵對信號機為X2。<SwitchList>表示這條進路中的道岔。<State>表示的道岔的狀態,其中DW表示定位,FW表示反位。上述進路表清晰地反映了這個進路的所有信息。這條編號為0的進路從保護信號機X8開始進入進路,經過道岔C8、C2到達敵對信號機,其中的兩個道岔均處于定位狀態。那么這條進路就通過XML表完整地表現出來了。這為以后進路的管理、關聯處理以及進路的開放和關閉提供了數據庫支持。
2.2 XML表的數據讀取
    本文主要通過CMarkup類對XML表的數據進行讀寫。具體代碼在CL1Doc類中:
public:
    voidReadXML();                           //讀取XML表
    void ReadSignal();                         //讀信號燈數據
    void ReadRailway();                        //讀區段數據
    void ReadPlatform();                      //讀站臺數據
    void ReadSwitch();                        //讀道岔數據
    void ReadRoutes();                        //讀進路數據
    void InitialTimeTable();                     //初始化時刻表
     將數據讀取到全局變量vector容器m_SignalPtrArray中,這些全局變量在Global.cpp中定義。
    std::vector<Signal*>m_SignalPtrArray;
                          //定義全局變量,存放封裝類指針
    為了方便設計,創建一個封裝類,因為做控件時可能會由于工程的推進而增加一些新的功能,為了不改動控件,增建了封裝類,相當于把控件封裝類與界面控件元素綁定在一起,接下來只管操作封裝類即可,這樣就可以在其中添加新的功能或接口,便于未來拓展。
3 邏輯運算模塊
    邏輯運算模塊主要是對道岔、軌道、信號機、站臺、進路管理和列車行走等進行邏輯運算操作。主要實現信號燈的開放關閉、進路的出清和占用、道岔轉換、進路搜索和排列,以及列車的停站、折返、出入庫等。
3.1 ATS仿真系統主要信號元素的邏輯運算
    ATS仿真系統中主要信號元素是指道岔、軌道、信號機、站臺等。ATS仿真系統主要信號元素的邏輯運算處理流程圖如圖3所示。

 

 

    如圖3所示,程序開始持續判斷是否有操作員發送的指令,若有,仿真程序在獲得該指令后進行邏輯判斷,讀取信息判斷站場的狀態信息,如果條件滿足則執行相關的邏輯運算,并把處理結果在人機交互界面上顯示出來,然后程序等待下一個指令。如果條件不滿足,程序則提示錯誤信息并繼續等待下一條指令。
3.2 建立列車進路的邏輯運算
    自動建立列車進路的原理:當列車到達信號機的接近區段,將此區段稱為運營觸發點,就會觸發排列下一條進路,進路信息可從進路的XML表中獲取。然后結合程序中邏輯運算規則進行進路可行性檢查和進路排列,若不符合聯鎖條件就鎖閉進路,開放信號機。進路的自動排列用到了CRouteCreate類的CreateAutoRoute(CStringQDName)函數。其中的實現過程用到了Find類,首先獲取當前列車所在的軌道,根據站場圖信號元素的連接關系,運用函數BOOLFindSignalBaseOnJJQD()基于接近區段找到始端信號機,之后用函數FindRouteBaseOn
SDXH()基于始端信號機查找進路。
    圖4是建立進路和進路解鎖的邏輯過程的流程圖。

    當列車到了觸發區段以后,開始判斷這個保護信號機所屬的進路,并從進路表中讀取這條進路的進路信息。接下來對這條進路進行可行性檢查,判斷進路是否存在故障或者被占用。如果有故障,則列車要等候信號機開放并要繼續檢查進路是否可用。當進路可用時,就發出聯鎖指令對進路進行鎖閉。接著信號開放,列車進入此進路,然后信號關閉。接下來判斷列車是否離開這條進路,如果離開則出清進路并對進路進行解鎖。
3.3 列車模擬運行邏輯運算
    列車的模擬運行是通過設置運行時刻表和進路文件,然后讀取其中的設置信息進行初始化,讀取時刻表開始進行列車的仿真,同時啟動定時器。通過判斷列車時刻表信息以及定時時間來判斷列車運行的位置,進而對列車進行速度調整。其流程圖如圖5所示。系統通過持續刷新來獲取列車位置,然后通過內部程序邏輯運算來實現列車的調整。

    本文主要研究了ATS仿真系統中數據存儲以及數據的邏輯運算處理。對進路排列、數據讀取和列車的模擬運行進行了闡述。其中的數據處理尤為重要,是整個ATS仿真系統的關鍵。
參考文獻
[1] 吳江,郭秀清.上海地鐵ATS 仿真系統進路自動排列的設計與實現[J].微型機與應用,2012,31(17):7-10.
[2] 趙根苗,陳永生.ATS 仿真培訓系統的設計與實現[J].城市軌道交通研究,2004,7(1):55-57.
[3] 王震江,馬宏. XML基礎與實踐教程[M].北京:清華大學出版社,2011.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日本在线视频| 国产亚洲欧洲| 久久久综合网| 欧美一区二区在线免费观看 | 亚洲第一狼人社区| 欧美一区二区三区免费视频 | 欧美一区二区在线免费观看| 亚洲综合国产精品| 亚洲一二三四区| 亚洲一区二区三区久久| 一区二区不卡在线视频 午夜欧美不卡' | 亚洲高清电影| 亚洲第一精品福利| 久久国产毛片| 亚洲国产欧美一区二区三区丁香婷| 欧美在线播放视频| 欧美中文字幕视频| 久久国产精品99精品国产| 欧美一区激情| 久久精品国产免费观看| 亚洲国产精品精华液2区45| 亚洲黄色在线视频| 亚洲日本va午夜在线影院| 亚洲精品久久久蜜桃| 亚洲免费高清视频| 亚洲视频欧美视频| 午夜一级久久| 久久久久国产精品www| 巨胸喷奶水www久久久免费动漫| 免费不卡在线视频| 欧美精品一区二区久久婷婷| 欧美日韩在线视频首页| 国产精品免费aⅴ片在线观看| 国产精品影音先锋| 国产字幕视频一区二区| 亚洲国产欧美不卡在线观看| 日韩视频一区二区三区| 亚洲综合电影一区二区三区| 欧美怡红院视频| 亚洲日本国产| 亚洲夜间福利| 久久久久久9| 欧美刺激性大交免费视频 | 欧美日韩中文| 国产欧美一区二区色老头| 狠狠色伊人亚洲综合成人| 亚洲国产一区二区三区a毛片 | 91久久精品国产91性色| 一区二区高清在线观看| 午夜精品网站| 浪潮色综合久久天堂| 欧美日韩精品一区二区在线播放 | 亚洲国产精品一区二区第四页av | 欧美精品粉嫩高潮一区二区| 国产精品久久久久久久久婷婷| 国产精一区二区三区| 精品不卡一区| 99精品国产99久久久久久福利| 亚洲综合精品自拍| 91久久久在线| 羞羞色国产精品| 欧美99在线视频观看| 国产精品啊v在线| 精品51国产黑色丝袜高跟鞋| 日韩小视频在线观看专区| 欧美一区二区精品| 亚洲美女中文字幕| 欧美一区二区三区视频免费| 欧美福利视频在线| 国产欧美一区二区三区在线老狼| 亚洲精品久久久久久久久久久久| 亚洲欧美日韩直播| 一本色道**综合亚洲精品蜜桃冫| 久久精品国产一区二区三区| 欧美日韩国产不卡| 黄网动漫久久久| 亚洲视频成人| 亚洲精品美女免费| 久久国产婷婷国产香蕉| 欧美三级视频在线播放| 在线观看国产成人av片| 亚洲欧美一区二区视频| 一区二区久久久久久| 久久综合九色综合久99| 国产精品免费一区豆花| 亚洲精品久久久久久久久久久久 | 亚洲黄网站在线观看| 欧美在线啊v| 午夜视频久久久| 欧美日韩精品一区| 亚洲国产专区| 久久精品免费看| 久久精品成人| 国产伦精品一区二区三区高清| 亚洲另类自拍| 亚洲精品午夜精品| 另类av一区二区| 国产一区二区精品久久99| 一区二区三区视频在线| 一本久道久久综合狠狠爱| 欧美成人r级一区二区三区| 国产视频一区二区在线观看| 亚洲一区免费看| 亚洲永久精品大片| 欧美日韩免费一区二区三区视频| 亚洲国产高清视频| 亚洲福利视频网站| 久久亚洲精品欧美| 国产一区自拍视频| 欧美一区二区三区免费在线看| 欧美在线免费视屏| 国产欧美精品一区aⅴ影院| 亚洲一区二区三区欧美| 亚洲一区二区欧美日韩| 欧美日韩在线播放三区四区| 99精品福利视频| 亚洲午夜性刺激影院| 欧美日韩性视频在线| 日韩午夜av| 亚洲一区日韩| 国产精品国产三级国产普通话蜜臀| 一区二区欧美视频| 亚洲欧美激情一区二区| 国产精品免费网站在线观看| 亚洲女性喷水在线观看一区| 欧美一区二区三区婷婷月色| 国产色综合久久| 久久激情综合网| 免费中文日韩| 亚洲国产精品一区二区第一页| 99国产成+人+综合+亚洲欧美| 欧美日韩国产一区二区| 一本色道久久综合亚洲精品小说 | 中文在线不卡视频| 欧美亚州韩日在线看免费版国语版| 一区二区日本视频| 香蕉av777xxx色综合一区| 国产区在线观看成人精品| 欧美一区影院| 久久综合久色欧美综合狠狠| 在线精品观看| 99精品欧美一区二区三区| 欧美视频在线观看一区| 亚洲午夜羞羞片| 久久精品五月婷婷| 亚洲国产精品成人综合色在线婷婷| 99热免费精品| 国产精品主播| 亚洲国产精品高清久久久| 欧美日韩国产bt| 亚洲女人天堂成人av在线| 久久人人精品| 亚洲精品乱码久久久久久日本蜜臀| 亚洲私拍自拍| 国产在线播精品第三| 日韩午夜av| 国产精品中文字幕在线观看| 亚洲第一黄网| 欧美午夜精品久久久久免费视| 午夜国产精品视频| 蜜桃av一区二区| 一本久道综合久久精品| 久久久久久久性| 亚洲美女电影在线| 欧美一二三区精品| 亚洲成色999久久网站| 宅男在线国产精品| 国产一区清纯| 一区二区三区成人| 国内精品免费午夜毛片| 在线视频精品一| 国产综合色一区二区三区| 一区二区欧美精品| 狠狠色狠狠色综合日日91app| 一区二区三区四区国产精品| 国产伊人精品| 亚洲影院免费| 亚洲国产电影| 久久国产精品99精品国产| 91久久综合| 久久久久久高潮国产精品视| 一区二区三区不卡视频在线观看| 久久人人97超碰精品888| 一区二区三区欧美日韩| 久久综合九色欧美综合狠狠| 亚洲天堂av在线免费观看| 老牛嫩草一区二区三区日本| 亚洲一区视频在线| 欧美黄色大片网站| 欧美一区二区三区播放老司机| 欧美日韩专区| 亚洲人在线视频| 国产在线视频欧美一区二区三区| 亚洲午夜久久久久久尤物| 亚洲国产精品福利| 久久久久久一区二区| 亚洲午夜久久久久久久久电影院| 欧美护士18xxxxhd| 亚洲福利视频在线| 国产啪精品视频|