《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 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亚洲国产精品_日韩亚洲一区二区
国内揄拍国内精品久久| 亚洲午夜日本在线观看| 国产精品人人爽人人做我的可爱| 免费成人高清在线视频| 久久亚洲精品一区二区| 久久精品理论片| 欧美在线免费视频| 亚洲欧美中文日韩v在线观看| 国产精品99久久久久久白浆小说 | 亚洲一区二区三区四区中文 | 国产精品99久久久久久久vr | 日韩一区二区精品葵司在线| 亚洲国内高清视频| 91久久极品少妇xxxxⅹ软件| 亚洲欧洲日本mm| 亚洲精品在线观看视频| 亚洲精品无人区| 99精品欧美一区二区蜜桃免费| 一本色道久久综合亚洲精品小说 | 小黄鸭精品aⅴ导航网站入口| 亚洲欧美国产一区二区三区| 午夜精品一区二区三区电影天堂| 亚洲综合日韩在线| 午夜在线精品偷拍| 久久久国产精品亚洲一区| 久久综合999| 你懂的国产精品永久在线| 欧美精品自拍偷拍动漫精品| 欧美日韩亚洲高清一区二区| 国产精品福利影院| 国产日韩欧美精品一区| 黄色成人在线免费| 亚洲黑丝一区二区| 亚洲视频高清| 久久电影一区| 亚洲伦理久久| 午夜精品福利一区二区蜜股av| 久久激情综合| 欧美激情亚洲精品| 国产精品乱码一区二三区小蝌蚪| 国产色视频一区| 亚洲成色www久久网站| 99视频一区二区三区| 亚洲欧美日韩国产精品| 亚洲高清精品中出| 中文国产一区| 久久久久中文| 欧美日韩国产不卡在线看| 国产精品人成在线观看免费| 国产综合视频在线观看| 亚洲剧情一区二区| 午夜精品久久久久99热蜜桃导演| 亚洲黄色视屏| 亚洲欧美日韩中文在线制服| 久久综合网hezyo| 欧美日韩三级视频| 国产一区二区三区无遮挡| 亚洲欧洲日韩在线| 性欧美xxxx大乳国产app| 亚洲免费电影在线| 欧美一进一出视频| 欧美精品久久99久久在免费线| 国产精品久久久久秋霞鲁丝| 影院欧美亚洲| 亚洲欧美成人一区二区在线电影| 最新国产乱人伦偷精品免费网站| 亚洲一区国产视频| 免费日韩成人| 国产精品入口麻豆原神| 亚洲激情二区| 欧美一区二区在线| 亚洲无人区一区| 蜜桃av噜噜一区| 国产精品一区二区你懂的| 亚洲经典三级| 久久精品国产亚洲一区二区三区 | 在线观看成人av| 亚洲一区日韩| 一本色道久久综合| 老司机免费视频一区二区| 国产精品乱码妇女bbbb| 91久久精品一区二区三区| 欧美中文在线视频| 亚洲淫性视频| 欧美国产一区二区在线观看| 国产午夜精品在线观看| 一本色道久久综合亚洲精品高清 | 欧美日韩在线看| 亚洲成人资源| 久久成人免费| 欧美一区二区视频在线观看2020| 欧美日产一区二区三区在线观看| 精品av久久久久电影| 亚洲在线一区二区三区| 亚洲一二区在线| 欧美劲爆第一页| 永久91嫩草亚洲精品人人| 欧美亚洲自偷自偷| 欧美一区1区三区3区公司| 欧美婷婷久久| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲欧洲精品天堂一级| 亚洲高清在线视频| 久久久久久久999| 国产伦精品一区二区| 亚洲少妇在线| 亚洲小说欧美另类社区| 欧美日韩国产一区二区| 最近中文字幕日韩精品 | 久久精品导航| 国产精品自拍在线| 亚洲午夜免费福利视频| 亚洲性线免费观看视频成熟| 欧美日韩一区二区三区视频 | 亚洲无玛一区| 欧美三级视频在线| 日韩午夜黄色| 亚洲香蕉伊综合在人在线视看| 欧美日韩久久精品| 日韩亚洲综合在线| 一区二区三区精品视频| 欧美精品在线视频| 日韩午夜中文字幕| 中文有码久久| 国产精品久久二区| 中文在线一区| 欧美一区二区播放| 国产午夜精品久久久久久免费视| 亚洲欧美日韩在线高清直播| 久久av一区二区三区| 国内成+人亚洲+欧美+综合在线| 久久国产加勒比精品无码| 毛片av中文字幕一区二区| 亚洲电影成人| 一个色综合av| 国产精品美女久久| 销魂美女一区二区三区视频在线| 欧美在线影院在线视频| 国产亚洲欧美日韩一区二区| 久久精品夜色噜噜亚洲aⅴ| 欧美va日韩va| 99国产精品久久久| 午夜在线电影亚洲一区| 韩国精品久久久999| 亚洲乱码精品一二三四区日韩在线 | 欧美日韩综合一区| 亚洲欧美久久久| 久久久久免费视频| 亚洲国产精品尤物yw在线观看| 99精品视频一区二区三区| 欧美日韩在线亚洲一区蜜芽| 亚洲欧美日韩成人| 免费成人性网站| 夜夜爽夜夜爽精品视频| 欧美在线视频一区二区三区| 狠狠综合久久av一区二区小说 | 日韩午夜剧场| 欧美在线观看你懂的| 一色屋精品视频在线观看网站| 99re6这里只有精品| 国产伦一区二区三区色一情| 亚洲国产精品一区二区www| 欧美日韩ab片| 亚洲欧美日韩国产综合在线| 欧美gay视频激情| 在线亚洲电影| 久久婷婷国产麻豆91天堂| 亚洲精品一区二区三区av| 先锋资源久久| 亚洲高清视频一区| 先锋影音国产一区| 亚洲国产女人aaa毛片在线| 亚洲欧美日韩一区二区| 一区二区三区在线免费播放| 亚洲天堂偷拍| 樱花yy私人影院亚洲| 亚洲午夜一区| 在线不卡视频| 小黄鸭精品密入口导航| 亚洲黄色成人| 久久国产福利| 99精品欧美一区二区蜜桃免费| 久久久精彩视频| 一区二区三区国产精华| 久久久久久91香蕉国产| 日韩午夜在线观看视频| 老鸭窝毛片一区二区三区| 亚洲无线视频| 欧美肥婆在线| 欧美在线一二三四区| 欧美色综合天天久久综合精品| 亚洲风情在线资源站| 国产精品久久久久久一区二区三区| 亚洲国产天堂网精品网站| 国产精品一区视频| 中文精品99久久国产香蕉| 在线精品观看| 久久国产精彩视频| 亚洲午夜精品福利| 欧美日韩国产色视频|