李詩雄 倪少權(quán)
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756;2.西南交通大學(xué) 交通運輸與物流學(xué)院,成都 610031;3.西南交通大學(xué) 全國鐵路列車運行圖編制研發(fā)培訓(xùn)中心,成都 610031)
站場形數(shù)據(jù)結(jié)構(gòu)在車站信號實訓(xùn)系統(tǒng)中的實現(xiàn)
李詩雄1,3倪少權(quán)2,3
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756;2.西南交通大學(xué) 交通運輸與物流學(xué)院,成都 610031;3.西南交通大學(xué) 全國鐵路列車運行圖編制研發(fā)培訓(xùn)中心,成都 610031)
計算機(jī)聯(lián)鎖系統(tǒng)是負(fù)責(zé)處理進(jìn)路內(nèi)的道岔、信號機(jī)、軌道電路之間安全聯(lián)鎖關(guān)系的系統(tǒng)。本文通過對比計算機(jī)聯(lián)鎖中總進(jìn)路表和站場形數(shù)據(jù)結(jié)構(gòu)兩種實現(xiàn)方法各自的特點,選擇了站場形數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)的存儲和進(jìn)路的搜索,并在高鐵車站信號實訓(xùn)系統(tǒng)實現(xiàn),驗證了該方法的可行性和合理性。
站場形數(shù)據(jù)結(jié)構(gòu);計算機(jī)聯(lián)鎖系統(tǒng);節(jié)點;搜索
在高速鐵路(簡稱:高鐵)車站,計算機(jī)聯(lián)鎖系統(tǒng)處于自律模式,平時車站值班員不能隨意進(jìn)行操作。當(dāng)有特殊情況,需要車站值班員來手動操作時,由于平時練習(xí)較少,值班員不能熟練進(jìn)行操作。為此,高鐵車站信號實訓(xùn)系統(tǒng)應(yīng)運而生。
高鐵車站信號實訓(xùn)系統(tǒng),主要功能包括高鐵車站計算機(jī)信號聯(lián)鎖系統(tǒng)模擬演練和值班員培訓(xùn)考核管理。該系統(tǒng)的一個重要的功能就是車站信號聯(lián)鎖系統(tǒng)的模擬演練。要實現(xiàn)這個功能,較常見的方法有兩種:(1)總進(jìn)路表,(2)站場形數(shù)據(jù)結(jié)構(gòu)。
1.1 概述
如果要建立任何的一條進(jìn)路,都必須要指出這條進(jìn)路的特點以及相關(guān)監(jiān)控對象的數(shù)量和特征。這具體包括:進(jìn)路的性質(zhì)、進(jìn)路的方向、進(jìn)路的范圍、防護(hù)進(jìn)路的信號機(jī)、進(jìn)路中的軌道電路區(qū)段和數(shù)量、進(jìn)路中的道岔和應(yīng)該處在的位置及數(shù)量、與進(jìn)路有關(guān)系的侵限絕緣軌道區(qū)段和其檢查條件、進(jìn)路的接近區(qū)段、進(jìn)路的離去區(qū)段、進(jìn)路的末端是否存在需要結(jié)合的設(shè)備等。
如果把上述各項都放進(jìn)一個數(shù)據(jù)表就形成了一個進(jìn)路表,把某個車站的所有進(jìn)路(包括迂回進(jìn)路)的進(jìn)路表集合到一起就形成了這個車站的總進(jìn)路表。
在計算機(jī)程序中可以定義一個類來表示進(jìn)路表,不同的進(jìn)路表作為類的對象儲存在數(shù)據(jù)庫中。當(dāng)辦理某條進(jìn)路的時候,可以根據(jù)進(jìn)路的操作命令,從靜態(tài)的數(shù)據(jù)庫中選出相符合的進(jìn)路表,進(jìn)而可以找到所需要的靜態(tài)數(shù)據(jù)。在編寫相關(guān)程序時,進(jìn)路表類Route的定義程序部分如下:


1.2 總進(jìn)路表的不足
此種方法雖然比較形象,能直觀地看出每一條進(jìn)路的情況。但是,如果某個高鐵車站的規(guī)模比較大,而且進(jìn)路數(shù)量眾多的時候,其總進(jìn)路表必定會十分的龐大,從而在運行的時候所占用的內(nèi)存容量很大。雖然在現(xiàn)在的計算機(jī)中,儲存器的容量已經(jīng)不再成為限制因數(shù)。但是,占用內(nèi)存的容量越大,也就意味著增加了內(nèi)存檢測程序的長度和其執(zhí)行的時間,這樣對于系統(tǒng)的可靠性十分的不利。此外,如果該車站需要進(jìn)行擴(kuò)建或者改建的時候,就必需對總進(jìn)路表進(jìn)行很大的修改。而且使用人工來編制總進(jìn)路表,尤其是在編制很多大型的總進(jìn)路表的時候,不僅十分復(fù)雜,而且極易出錯,故總進(jìn)路表法有較大不足。
2.1 概述
若用計算機(jī)來自動生成總進(jìn)路表,并將其放進(jìn)聯(lián)鎖軟件中,當(dāng)辦理進(jìn)路的時候,通過使用者的操作命令來調(diào)用進(jìn)路表生成程序,自動生成一個與進(jìn)路操作命令相符合的進(jìn)路表,以供聯(lián)鎖軟件來使用,將更加方便快捷。
要實現(xiàn)上述功能,要將對應(yīng)站場信號平面布置圖中的每一個監(jiān)控的對象(比如信號機(jī)、道岔、特設(shè)的變通按鈕、進(jìn)路始終端按鈕、侵限絕緣區(qū)段、軌道電路區(qū)段等)設(shè)置一個靜態(tài)的數(shù)據(jù)模塊,然后在每一個模塊中羅列出此監(jiān)控對象自身的屬性和一些進(jìn)路搜索程序所需要的標(biāo)志。因該種數(shù)據(jù)結(jié)構(gòu)在圖形上呈現(xiàn)出一種車站站場的形式,故被叫做站場形數(shù)據(jù)結(jié)構(gòu)。
2.2 模塊的鏈接
當(dāng)建立好站場形數(shù)據(jù)結(jié)構(gòu)后,還需要把各個數(shù)據(jù)模塊鏈接起來,這樣才能進(jìn)行搜索進(jìn)路。所以,需要對每一個模塊進(jìn)行擴(kuò)展,并劃分為兩個部分,數(shù)據(jù)部分df和指針部分pf。使用數(shù)據(jù)部分df來存儲原來的數(shù)據(jù),用指針部分pf來存儲相鄰模塊的首地址。
如圖1,有3個模塊節(jié)點,a、b、c,暫時不管它們在存儲器里面的物理位置是否有序排列,我們希望能在搜索到a后就能搜索到b,搜索到b后就能搜索到c。那么,只需要把b的首地址放到a的指針部分pf中,將c的首地址放到b的指針部分pf中,c沒有后繼的模塊,c的指針部分pf存放空地址null,這樣構(gòu)成了一個鏈表。從而,在搜索到a后就能夠搜索到b,繼而在搜索到b后就能夠搜索到c。

圖1 單向節(jié)點搜索
但是,一般的模塊節(jié)點有左節(jié)點和右節(jié)點兩個不同的鏈接節(jié)點,所以一個節(jié)點則需要有兩個指針部分pf來存儲兩個相鄰節(jié)點的首地址,這樣就可以進(jìn)行雙向搜索。如圖2所示,既可以從模塊a搜索到模塊c,亦可以從模塊c搜索到模塊a。

圖2 雙向節(jié)點搜索
就道岔節(jié)點來看,一般有3個鏈接節(jié)點:(1)岔前節(jié)點;(2)岔后直股節(jié)點;(3)岔后彎股節(jié)點。所以,可以在道岔節(jié)點中設(shè)置3個指針部分:指針部分pf用來存儲岔前節(jié)點的首地址,指針部分pfz用來存儲岔后直股節(jié)點的首地址,指針部分pfw用來存儲岔后直股節(jié)點的首地址。
2.3 站場形數(shù)據(jù)結(jié)構(gòu)舉例
圖3是京滬高速鐵路中滄州西站在高鐵車站信號實訓(xùn)系統(tǒng)中顯示的站場信號平面布置圖,圖4是其部分站場形數(shù)據(jù)結(jié)構(gòu)。
2.4 站場形數(shù)據(jù)結(jié)構(gòu)的優(yōu)點
(1)這種站場形數(shù)據(jù)結(jié)構(gòu)所占用的內(nèi)存空間比總進(jìn)路表數(shù)據(jù)庫要小得多,方便檢測;
(2)這種站場形數(shù)據(jù)結(jié)構(gòu)是通過各個節(jié)點的鏈接而形成的鏈表,在這種結(jié)構(gòu)中的任何部位刪除或者添加節(jié)點只需要修改所涉及節(jié)點的指針部分中的首地址即可,較為方便,而且不影響其他節(jié)點在存儲器里面的物理位置。這種特性十分適合站場的擴(kuò)建或者改建;
(3)站場形數(shù)據(jù)結(jié)構(gòu)本質(zhì)上是鏈表,鏈表結(jié)構(gòu)可以充分利用計算機(jī)內(nèi)存空間,實現(xiàn)靈活的內(nèi)存動態(tài)管理,可以用計算機(jī)輔助設(shè)計方法進(jìn)行實現(xiàn)。

圖3 滄州西站信號平面布置圖

圖4 滄州西站部分站場形數(shù)據(jù)結(jié)構(gòu)
3.1 系統(tǒng)概述
高鐵車站信號實訓(xùn)系統(tǒng)是根據(jù)DS6-K5B計算機(jī)聯(lián)鎖系統(tǒng)相關(guān)標(biāo)準(zhǔn),采用面向?qū)ο蟮木幊陶Z言C++進(jìn)行開發(fā),可供高鐵車站值班人員進(jìn)行訓(xùn)練,管理部門對相關(guān)人員進(jìn)行考核、管理。經(jīng)測試,該系統(tǒng)能夠在Windows XP(32 bit、64 bit)、Windows 7(32 bit、64 bit)操作系統(tǒng)上運行。
該系統(tǒng)一個重要的功能就是車站信號聯(lián)鎖系統(tǒng)的模擬演練,具體包括了:進(jìn)路的排列、進(jìn)路的取消、人工解鎖進(jìn)路、重開信號、道岔操作、區(qū)段事故解鎖、鈕封操作、引導(dǎo)按鈕的延時抬起操作、其他按鈕的操作、點燈和滅燈操作等。
3.2 算法建立
為了實現(xiàn)算法流程圖的建立,先介紹一些即將使用到的符號和名詞術(shù)語。
(1)開始節(jié)點K0:這是按照發(fā)車方向進(jìn)行搜索時所指定的起始節(jié)點。如果從發(fā)車進(jìn)路的角度來看,它是始端節(jié)點;如果從接車進(jìn)路來看,它是終端節(jié)點。
(2)中間節(jié)點Ki:這是和變通按鈕互相對應(yīng)的指定節(jié)點。
(3)目標(biāo)節(jié)點Kg:這是按照發(fā)車方向進(jìn)行搜索的時候要找到的所指定的最終的節(jié)點。如果從發(fā)車進(jìn)路的角度來看,它是始端節(jié)點;如果從接車進(jìn)路來看,它是終端節(jié)點。
(4)后繼節(jié)點Kc:在站場形數(shù)據(jù)結(jié)構(gòu)中,有方向的直線箭頭所指向的節(jié)點,或是說該節(jié)點指針部分pf中所指向的節(jié)點就是此節(jié)點的后繼節(jié)點。
(5)后繼直節(jié)點Kc(z):在站場形數(shù)據(jù)結(jié)構(gòu)中,有方向的直線箭頭所指向的直股股道節(jié)點,或是說這個節(jié)點的指針部分pfz中所指向的節(jié)點就是此節(jié)點的后繼直節(jié)點。
(6)后繼彎節(jié)點Kc(w):在站場形數(shù)據(jù)結(jié)構(gòu)中,有方向的直線箭頭所指向的彎股股道節(jié)點,或是說這個節(jié)點的指針部分pfw中所指向的節(jié)點就是此節(jié)點的后繼彎節(jié)點。
(7)當(dāng)前節(jié)點Kn:在搜索的過程中剛被尋找到的節(jié)點。
(8)死節(jié)點Kd:沒有后繼節(jié)點Kc的節(jié)點。
(9)堆棧S:用于存儲開始節(jié)點K0、中間節(jié)點Ki以及目標(biāo)節(jié)點Kg。
(10)堆棧S1:用于存儲在搜索的過程中需要進(jìn)行考察的節(jié)點。
(11)堆棧S2:用于存儲在搜索的過程中需要進(jìn)行保存的路徑上的節(jié)點。
(12)渡線類型暫存單元L:用于存儲道岔形狀的正斜線“/”型或者反斜線“”型。
根據(jù)上面名詞術(shù)語和符號的介紹,建立搜索算法流程,如圖5所示。

圖5 搜索算法流程圖
圖5就是高鐵車站信號實訓(xùn)系統(tǒng)的搜索算法流程圖,可能在很多其他計算機(jī)聯(lián)鎖系統(tǒng)中有其他的算法流程,所以流程圖不是唯一的。而且可能在一些比較特殊的站場形數(shù)據(jù)結(jié)構(gòu)中,這種算法需要進(jìn)行補充和完善。
3.3 系統(tǒng)的相關(guān)顯示
為了驗證站場形數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中是否成功實現(xiàn),根據(jù)DS6-K5B計算機(jī)聯(lián)鎖系統(tǒng)的相關(guān)標(biāo)準(zhǔn),先介紹一些系統(tǒng)應(yīng)該顯示的內(nèi)容。
在排列進(jìn)路的時候,點擊列車按鈕是綠色文字閃爍并且在信號機(jī)名稱的后面加上LA或者A字符,點擊調(diào)車按鈕是白色文字閃爍并且在信號機(jī)名稱的后面加上DA或者A字符。進(jìn)路在鎖閉以后,按鈕名稱恢復(fù)為原來狀態(tài)。
軌道區(qū)段在空閑狀態(tài)時顯示為藍(lán)色光帶,在區(qū)段鎖閉時顯示為白色光帶,在區(qū)段占用時顯示為紅色光帶。
道岔處于定位的時候,道岔名顯示為綠色;道岔處于反位的時候,道岔名顯示為黃色。
3.4 在系統(tǒng)中的實現(xiàn)
根據(jù)上面相關(guān)介紹,以滄州西站為例,假設(shè)要辦理從進(jìn)站信號機(jī)SN到站內(nèi)IIG的接車進(jìn)路,按壓始端按鈕(SN)和終端按鈕(XII)后,始端按鈕顯示為SNLA綠色文字閃爍,終端按鈕顯示為XIILA綠色文字閃爍。2號道岔和4號道岔此時處于定位狀態(tài),其名稱顯示為綠色。系統(tǒng)顯示結(jié)果與相關(guān)標(biāo)準(zhǔn)相符合,如圖6所示。

圖6 辦理進(jìn)路
根據(jù)進(jìn)路操作命令,確定進(jìn)路始端節(jié)點K(SN)和進(jìn)路終端節(jié)點K(IIG)。從節(jié)點K(SN)出發(fā),根據(jù)其指針部分pf中的地址可以找到節(jié)點K(2DG),從而找到節(jié)點K(2)。節(jié)點K(2)是一個標(biāo)準(zhǔn)的對向道岔節(jié)點,有2個后繼節(jié)點K(8DG)和K(CX)。根據(jù)圖5所示的算法,當(dāng)搜索過程遇到這種對向道岔節(jié)點時,優(yōu)先搜索后繼直節(jié)點Kc (z),如果找不到所需要的目標(biāo)節(jié)點時,再返回到對向道岔節(jié)點,繼續(xù)搜索后繼彎節(jié)點Kc (w)。所以,下一步搜索K(8DG),然后一直搜索下去終究搜索不到目標(biāo)節(jié)點K(IIG)。于是返回K(2)繼續(xù)沿彎股搜索,可以依次搜索到K(CX)、K(4)、K(4DG)、K(6DG)、K(6)、K(XII)、K(IIG)。因為K(IIG)是所需要的目標(biāo)節(jié)點,故搜索過程到此結(jié)束。
高鐵車站信號實訓(xùn)系統(tǒng)從這些節(jié)點中提取出所需要的數(shù)據(jù),生成一個進(jìn)路表,進(jìn)路就排列出來了。此時相關(guān)進(jìn)路為鎖閉狀態(tài),顯示為白色光帶。按鈕名稱恢復(fù)為原來狀態(tài)。2號道岔和4號道岔此時處于反位狀態(tài),其名稱顯示為黃色。系統(tǒng)顯示結(jié)果與相關(guān)標(biāo)準(zhǔn)相符合。
本文通過對比總進(jìn)路表和站場形數(shù)據(jù)結(jié)構(gòu)各自的特點,因站場形數(shù)據(jù)結(jié)構(gòu)諸多優(yōu)點,最后選擇了站場形數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)的存儲和進(jìn)路的搜索,并在高鐵車站信號實訓(xùn)系統(tǒng)中進(jìn)行了實現(xiàn),說明了站場形數(shù)據(jù)結(jié)構(gòu)的可行性。這類算法在系統(tǒng)中的實現(xiàn),能讓車站值班員隨時練習(xí)聯(lián)鎖系統(tǒng)的操作,從而使自身業(yè)務(wù)更加熟悉,間接加強(qiáng)了鐵路列車的行車安全,提高了列車的運行效率。
[1]趙志熙.計算機(jī)聯(lián)鎖系統(tǒng)技術(shù)[M].北京:中國鐵道出版社,1999.
[2]王瑞峰.鐵路信號運營基礎(chǔ)[M].北京:中國鐵道出版社,2008.
[3]張基溫.新概念C++程序設(shè)計大學(xué)教程[M].北京:清華大學(xué)出版社,2013.
[4]胡 媛,魏宗壽.采用DFS策略的進(jìn)路搜索算法研究[J].鐵路計算機(jī)應(yīng)用,2007,17(9):4-6.
[5]陳志穎,董 昱,楊 柳,等.計算機(jī)聯(lián)鎖進(jìn)路搜索算法的分析與研究[J].鐵道通信信號,2007,43(4):4-6.
責(zé)任編輯 王 浩
Station type data structure in Station Signaling Training System
LI Shixiong1,3,NI Shaoquan2,3
( 1.School of Information Science and Technology,Southwest Jiaotong University,Chengdu 611756,China;2.School of Transportation and Logistics,Southwest Jiaotong University,Chengdu 610031,China;3.Research and Training Center of National Railway Train Diagram,Southwest Jiaotong University,Chengdu 610031,China)
The Computer Interlocking System was responsible for the safety interlocking relationship between the turnouts,signal machine and the track circuit.In this paper,by comparing the differences between the total route table and the station type data structure,the author selected the station type data structure to store data and search the route.Then,the feasibility and rationality of this method were verifed by the actualization in the Station Signaling Training System of high-speed railway.
station type data structure;Computer Interlocking System;node;search
U284.1:TP391.6
A
1005-8451(2016)04-0058-05
2015-09-26
李詩雄,在讀碩士研究生; 倪少權(quán),教授。