《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > ATS仿真系統(tǒng)中計(jì)算機(jī)聯(lián)鎖功能的設(shè)計(jì)與實(shí)現(xiàn)
ATS仿真系統(tǒng)中計(jì)算機(jī)聯(lián)鎖功能的設(shè)計(jì)與實(shí)現(xiàn)
2015年微型機(jī)與應(yīng)用第22期
呂紹恒,郭秀清
(同濟(jì)大學(xué) 控制科學(xué)與工程系,上海 201804)
摘要: 計(jì)算機(jī)聯(lián)鎖系統(tǒng)負(fù)責(zé)處理進(jìn)路內(nèi)的道岔、信號(hào)機(jī)、軌道之間聯(lián)鎖關(guān)系,是實(shí)現(xiàn)列車自動(dòng)監(jiān)控系統(tǒng)仿真的關(guān)鍵。主要介紹了該系統(tǒng)的組成結(jié)構(gòu)及各部分的功能,運(yùn)用組件化的仿真技術(shù)設(shè)計(jì)人機(jī)交互界面,生成站場(chǎng)圖數(shù)據(jù)庫和聯(lián)鎖表數(shù)據(jù)庫,實(shí)現(xiàn)進(jìn)路的排列功能。
Abstract:
Key words :

  摘  要計(jì)算機(jī)聯(lián)鎖系統(tǒng)負(fù)責(zé)處理進(jìn)路內(nèi)的道岔、信號(hào)機(jī)、軌道之間聯(lián)鎖關(guān)系,是實(shí)現(xiàn)列車自動(dòng)監(jiān)控系統(tǒng)仿真的關(guān)鍵。主要介紹了該系統(tǒng)的組成結(jié)構(gòu)及各部分的功能,運(yùn)用組件化的仿真技術(shù)設(shè)計(jì)人機(jī)交互界面,生成站場(chǎng)圖數(shù)據(jù)庫和聯(lián)鎖表數(shù)據(jù)庫,實(shí)現(xiàn)進(jìn)路的排列功能。

  關(guān)鍵詞ATS仿真系統(tǒng);計(jì)算機(jī)聯(lián)鎖;進(jìn)路控制

0 引言

  城市軌道交通通信信號(hào)系統(tǒng)是保證行車安全和提高運(yùn)輸效率的有利工具[1]。列車自動(dòng)監(jiān)控系統(tǒng)(Automatic Train Supervision,ATS)主要實(shí)現(xiàn)對(duì)列車運(yùn)行的監(jiān)督和控制,它在提高運(yùn)輸效率和保障運(yùn)行安全方面起著十分重要的作用[2-3]。因此,ATS系統(tǒng)能否進(jìn)行正常操作,將直接關(guān)系到列車安全。

  計(jì)算機(jī)聯(lián)鎖系統(tǒng)負(fù)責(zé)處理進(jìn)路內(nèi)的道岔、信號(hào)機(jī)、軌道電路之間的聯(lián)鎖關(guān)系,接受ATS或者操作員的控制指令,向ATS系統(tǒng)輸出聯(lián)鎖信息[4]。聯(lián)鎖機(jī)實(shí)現(xiàn)了信號(hào)設(shè)備的邏輯處理功能,完成了進(jìn)路排列、進(jìn)路鎖閉、開放信號(hào)和道岔動(dòng)作等命令,實(shí)現(xiàn)了進(jìn)路自動(dòng)解鎖、故障解鎖等解鎖功能。計(jì)算機(jī)聯(lián)鎖系統(tǒng)是保證行車安全,提高運(yùn)輸效率的重要技術(shù)裝備[5]。本文以蘇州軌道交通一號(hào)線ATS仿真系統(tǒng)為例,分析計(jì)算機(jī)聯(lián)鎖系統(tǒng)的結(jié)構(gòu),研究其仿真功能的實(shí)現(xiàn)。

1 系統(tǒng)結(jié)構(gòu)

  計(jì)算機(jī)聯(lián)鎖系統(tǒng)可分為多種層次結(jié)構(gòu)[6],如圖1所示。

001.jpg

  人機(jī)對(duì)話層設(shè)備主要功能是:(1)接收工作人員發(fā)布的控制命令;(2)顯示設(shè)備工作狀態(tài)和車輛運(yùn)行情況。

  聯(lián)鎖層設(shè)備的主要功能是:(1)接收人機(jī)會(huì)話層操作信息和監(jiān)控層信息、進(jìn)行聯(lián)鎖運(yùn)算;(2)產(chǎn)生輸出信息、交付監(jiān)控層執(zhí)行和人機(jī)會(huì)話層顯示。

  監(jiān)控層設(shè)備主要功能是:執(zhí)行層輸出命令、開放信號(hào)、轉(zhuǎn)換道岔。

2 用戶界面顯示

  系統(tǒng)軟件開發(fā)的編譯環(huán)境采用Visual Studio 2008,編程語言采用標(biāo)準(zhǔn)C++。

  在仿真系統(tǒng)中,用戶界面顯示是指站場(chǎng)圖的顯示、控制按鈕的命令實(shí)現(xiàn)和站場(chǎng)設(shè)備狀態(tài)的實(shí)時(shí)顯示,是實(shí)現(xiàn)人機(jī)交互的基礎(chǔ)。

  站場(chǎng)圖初始化顯示采用GDI雙緩沖技術(shù),用以避免站場(chǎng)界面的閃爍。站場(chǎng)圖涉及的元素包括信號(hào)機(jī)、軌道和道岔,控制按鈕包括故障解鎖、進(jìn)路排列和取消進(jìn)路。

  每個(gè)站場(chǎng)控件具有相同的屬性,在設(shè)計(jì)控件類(即道岔類CSwitch、區(qū)段類CTrack、信號(hào)機(jī)類CSignal等)時(shí)設(shè)計(jì)一個(gè)父類,讓控件類全部繼承自父類。

  以信號(hào)機(jī)為例,信號(hào)機(jī)的屬性包括:

  CStringm_SignalName;//信號(hào)機(jī)名稱

  short m_NameVisible;  //信號(hào)機(jī)名稱可見

  shortm_LocationType;//信號(hào)機(jī)位置

  CRectm_LampRect;//機(jī)燈所在矩形

  COLORREF  m_FontColor;//字體的顏色

  COLORREF  m_VerticalColor;//基座顏色

  COLORREF  m_LampColor;//機(jī)燈的顏色

  COLORREF m_SignalBackColor;//信號(hào)機(jī)背景色

  BOOL m_Visible;//控件可見性

  為了方便設(shè)置和讀取控件的屬性值,仿真系統(tǒng)中設(shè)置了set和get函數(shù)來調(diào)用。

  GetSignalName();//信號(hào)機(jī)名稱

  void SetSignalName(CString strNewValue);

  short GetLocationType();//信號(hào)機(jī)位置

  void SetLocationType(short LocationType);

  BOOL GetVisible();//信號(hào)機(jī)是否可見

  void SetVisible(BOOL bNewValue);

  COLORREF GetColor();//信號(hào)機(jī)顏色

  void SetColor(const COLORREF);

  short GetDirection();//信號(hào)機(jī)方向

  void SetDirection(short Direction);

  站場(chǎng)控件以.ocx格式保存

3 聯(lián)鎖系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)

  計(jì)算機(jī)聯(lián)鎖系統(tǒng)為實(shí)現(xiàn)系統(tǒng)維護(hù)、行車管理自動(dòng)化奠定了基礎(chǔ)。

  聯(lián)鎖數(shù)據(jù)主要包括人機(jī)交互層傳輸過來的控制命令信息、站場(chǎng)實(shí)時(shí)狀態(tài)信息以及用于排列進(jìn)路使用的聯(lián)鎖表。

  3.1 站場(chǎng)圖數(shù)據(jù)

  采用Accesss數(shù)據(jù)庫進(jìn)行站場(chǎng)圖數(shù)據(jù)的存儲(chǔ)。在數(shù)據(jù)庫中主要存儲(chǔ)了關(guān)于信號(hào)機(jī)、道岔、區(qū)段的信息。以信號(hào)機(jī)為例,在數(shù)據(jù)庫中保存了信號(hào)機(jī)的Index(站場(chǎng)圖上的編號(hào))、ID(站場(chǎng)圖上的名稱)、Type(類型0-進(jìn)站、1-出站、2-調(diào)車、3-區(qū)間)、Direct(信號(hào)機(jī)的方向)、FirstQD(信號(hào)機(jī)朝向所對(duì)應(yīng)的區(qū)段或者道岔)、JJQ(靠近信號(hào)機(jī)的區(qū)段或者道岔)。

  3.2 聯(lián)鎖表數(shù)據(jù)

  在計(jì)算機(jī)聯(lián)鎖系統(tǒng)中,由于參加運(yùn)算的數(shù)據(jù)量很大,而進(jìn)路的處理又是整個(gè)聯(lián)鎖系統(tǒng)中最重要的問題之一。一個(gè)進(jìn)路時(shí)只涉及很少一部分的數(shù)據(jù),設(shè)計(jì)靜態(tài)聯(lián)鎖表文件,對(duì)每一條進(jìn)路數(shù)據(jù)列一個(gè)數(shù)據(jù)表,將該進(jìn)路有關(guān)的特性和變量全部納入到該聯(lián)鎖表中[7]。蘇州軌道交通一號(hào)線包含的進(jìn)路數(shù)量少而且簡(jiǎn)單,采用靜態(tài)聯(lián)鎖表文件可以提高進(jìn)路處理的運(yùn)行速度,并且保證進(jìn)路處理的高可靠性和安全性。聯(lián)鎖表應(yīng)該包含的數(shù)據(jù)有:進(jìn)路的類型、進(jìn)路的編號(hào)、始端信號(hào)機(jī)、終端信號(hào)機(jī)、敵對(duì)信號(hào)、進(jìn)路上的道岔、進(jìn)路上的邏輯道岔及進(jìn)路上的區(qū)段。

  仿真界面如圖2所示。

002.jpg

005.jpg

  以蘇州軌道交通一號(hào)線木瀆站S0110至S0106進(jìn)路為例,其在聯(lián)鎖表數(shù)據(jù)庫中的信息如表1所示,其線路圖如圖3所示。

003.jpg

  采用靜態(tài)文件的優(yōu)點(diǎn)是:(1)靜態(tài)文件占用較小的存儲(chǔ)空間,有利于檢測(cè)查詢。(2)進(jìn)路的數(shù)據(jù)結(jié)構(gòu)是由節(jié)點(diǎn)連接而成,在任何地方增加或者減少節(jié)點(diǎn),只需要對(duì)部分進(jìn)路數(shù)據(jù)進(jìn)行修改,不影響存儲(chǔ)區(qū)的其他位置[8]。

  在ATS仿真系統(tǒng)中,通過GetRoute來讀取進(jìn)路。

4 時(shí)刻表編寫

  仿真系統(tǒng)根據(jù)實(shí)際列車運(yùn)行時(shí)刻表編寫仿真運(yùn)行時(shí)刻表,如表2所示。

006.jpg

5 進(jìn)路控制

  在ATS系統(tǒng)中,根據(jù)聯(lián)鎖表、計(jì)劃運(yùn)行圖及列車的所在位置自動(dòng)判斷、生成并輸出進(jìn)路控制命令傳送至聯(lián)鎖設(shè)備,實(shí)現(xiàn)對(duì)列車的進(jìn)路的控制。

  進(jìn)路處理可劃分為4個(gè)模塊:

 ?。?)檢查進(jìn)路安排是否一致和形成道岔控制的子模塊。該模塊檢查排在進(jìn)路上面的道岔是否處于正確的位置,如果不符合要求,則要執(zhí)行相應(yīng)的道岔控制命令,使道岔處于正確的位置。

  (2)自動(dòng)解鎖子模塊。該模塊主要實(shí)現(xiàn)進(jìn)路在正常狀況下的解鎖功能以及調(diào)車進(jìn)路的中途折返解鎖。

 ?。?)信號(hào)保持子模塊。當(dāng)進(jìn)路的信號(hào)開放以后,應(yīng)不斷地去詢問開放信號(hào)條件是否仍然滿足,若條件滿足則保持信號(hào)繼續(xù)開放,若條件不滿足,則取消信號(hào)機(jī)開放命令,關(guān)閉信號(hào)機(jī)。

 ?。?)進(jìn)路鎖閉和信號(hào)開放子模塊。用于檢查鎖閉條件是否仍然滿足,若滿足后就鎖閉進(jìn)路,并且形成防護(hù)信號(hào)機(jī)開放命令。

  進(jìn)路處理過程,可以分為進(jìn)路的建立和解除兩個(gè)部分,它們之間的臨界部分是信號(hào)保持。進(jìn)路的建立是指從按壓進(jìn)路始、終端按鈕開始到防護(hù)該條進(jìn)路的信號(hào)機(jī)開放這一階段[9]。排列進(jìn)路流程如圖4所示。

004.jpg

  進(jìn)路的解除是指從列車或調(diào)車車列駛?cè)胄盘?hào)機(jī)內(nèi)方到出清進(jìn)路中全部道岔區(qū)段為止的這一階段。

  排列進(jìn)路的相關(guān)代碼如下:

  if(g_pDoc->pStaXH==NULL||g_pDoc->pEndXH==NULL)

  AfxMessageBox(L"請(qǐng)選擇始端和終端信號(hào)!");

  //確定所選進(jìn)路的始端信號(hào)機(jī)和終端信號(hào)機(jī)

  if(!g_pDoc->m_pXHControlOP->SetRouteOP(g_pDoc->pStaXH->GetSignalName(),g_pDoc->pEndXH->GetSignalName(),ROUTE_OP_BUILD))//讀取聯(lián)鎖表

  {

  flag=FALSE;

  //g_pDoc->m_pCmdView2->SetResponseLine(L"操作被聯(lián)鎖邏輯取消");

  }//檢查進(jìn)路

  if(g_pDoc->pStaXH->GetSignalName().Left(1)==L"F")

  g_pDoc->pStaXH->SetTXXHBK(0);

  else//改變始端信號(hào)機(jī)狀態(tài)并記錄

  g_pDoc->pStaXH->SetBroad(BROAD_CANCEL);

  if(g_pDoc->pEndXH->GetSignalName().Left(1)==L"F")

  g_pDoc->pEndXH->SetTXXHBK(0);

  else//改變終端信號(hào)機(jī)狀態(tài)并記錄

  g_pDoc->pEndXH->SetBroad(BROAD_CANCEL);

  //建立進(jìn)路并征用

  g_pDoc->pStaXH=NULL;

  g_pDoc->pEndXH=NULL;

  //g_pDoc->m_pCmdView2->m_ExBTCMD1.SetCheck(0);//功能按鈕恢復(fù)初始狀態(tài)

6 結(jié)論

  本文以蘇州軌道交通一號(hào)線的ATS仿真系統(tǒng)為研究對(duì)象,分析計(jì)算機(jī)聯(lián)鎖系統(tǒng)的系統(tǒng)結(jié)構(gòu)和主要功能。根據(jù)前期的分析,利用仿真技術(shù)搭建了可視化的人機(jī)界面,并對(duì)界面中的每一站場(chǎng)元素建立數(shù)據(jù)庫,結(jié)合聯(lián)鎖規(guī)則生成聯(lián)鎖表數(shù)據(jù)庫,最終實(shí)現(xiàn)列車的進(jìn)路控制。計(jì)算機(jī)聯(lián)鎖對(duì)于ATS仿真系統(tǒng)各個(gè)功能的實(shí)現(xiàn)具有重要意義。本文所設(shè)計(jì)的計(jì)算機(jī)聯(lián)鎖系統(tǒng)對(duì)其他線路也具有通用價(jià)值和普遍意義。

參考文獻(xiàn)

  [1] 張照亮.鐵路信號(hào)計(jì)算機(jī)聯(lián)鎖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2001.

  [2] 曹友杰.鐵路信號(hào)分布式計(jì)算機(jī)聯(lián)鎖系統(tǒng)-道岔控制模塊研究[D].蘭州:蘭州交通大學(xué),2014.

  [3] 袁翩翩,陳永生,張立.單線接發(fā)列車仿真系統(tǒng)故障模擬[J].微型機(jī)與應(yīng)用,2014,33(22):17-19,23.

  [4] 田曉莉.基于CBTC的ATS列車進(jìn)路控制技術(shù)研究[D].成都:西南交通大學(xué),2014.

  [5] 陸亞平.CTCS_3級(jí)計(jì)算機(jī)聯(lián)鎖上位機(jī)系統(tǒng)仿真研究[D].成都:西南交通大學(xué),2010.

  [6] 吳江,郭秀清.上海地鐵ATS仿真系統(tǒng)進(jìn)路自動(dòng)排列的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2012,31(17):7-10.

  [7] 董俊祺.軌道交通ATS仿真運(yùn)行框架的設(shè)計(jì)與實(shí)現(xiàn)[J].地下工程與隧道,2008(2):63-64,67,69.

  [8] 華似磊,董俊祺.城市軌道交通列車自動(dòng)監(jiān)控仿真系統(tǒng)組件設(shè)計(jì)與實(shí)現(xiàn)[J].城市軌道交通研究,2007(2):41-43,47.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。