張思楊,楊 揚
(西南交通大學 信息科學與技術學院,成都 611756)
隨著我國鐵路的高速發(fā)展,計算機聯(lián)鎖(CBI,Computer-based Interlocking)系統(tǒng)已在我國鐵路車站得到廣泛使用[1-2]。為了確保CBI 系統(tǒng)既能快速適用于任意車站,又不降低其安全性,在軟件設計上遵守數據與代碼分離原則,即聯(lián)鎖控制程序通用,聯(lián)鎖控制數據根據車站實際布置編制[3]。此種設計模式使得CBI 在適應新站場工作或舊站場結構改造時,只需修改聯(lián)鎖控制數據,避免因修改程序而帶來注入性錯誤。
為了實現聯(lián)鎖控制數據的快速準確編制,文獻[4]提出了一種自動生成進路表的方法,但未生成CBI 所需的其他聯(lián)鎖控制數據;文獻[5]利用MapInfo 站場數據,自動生成聯(lián)鎖仿真子系統(tǒng)所需的聯(lián)鎖控制數據,但未考慮調車信號機和變通進路的影響;文獻[6]~文獻[8]將道岔、信號機、軌道區(qū)段等封裝成設備圖元,通過圖元拼接的方式建立站場拓撲模型,繼而自動生成聯(lián)鎖控制數據,但仍需要人工判斷站場鏈接關系,聯(lián)鎖控制數據是否正確主要依賴設計人員的技術水平,其準確性得不到保障[9]。
因此,本文提出一種鐵路CBI 控制數據自動生成方法,以文本格式的站場基礎數據作為輸入,構建鐵路站場拓撲模型,在此基礎上,使用基于最短歐氏距離的進路搜索算法獲取鐵路站場內所有進路,最后自動輸出聯(lián)鎖控制數據。采用上述方法開發(fā)實際軟件,自動生成SWJTU-II 型CBI 系統(tǒng)[10]所需的聯(lián)鎖控制數據,站場改變時,CBI 軟件只需替換聯(lián)鎖控制數據,即可快速適用于新站場,提高CBI 系統(tǒng)的通用性與自適應性。
CBI 是典型的數據驅動式信號系統(tǒng)[11],對于具體的鐵路車站,只有準確編制具有站場唯一性的聯(lián)鎖控制數據,配合通用型聯(lián)鎖控制程序,才能保證CBI 在實際鐵路站場的正常運轉。聯(lián)鎖控制數據主要包括以下4 部分。
(1)設備數據:描述車站內無岔區(qū)段與股道及與車站相鄰的區(qū)間區(qū)段(簡稱:直股區(qū)段)、信號機、道岔、道岔區(qū)段、采集繼電器、驅動繼電器、位置坐標等信號設備信息。
(2)站場拓撲數據:描述鐵路車站內信號設備之間的邏輯結構關系,為聯(lián)鎖控制程序提供站場網絡信息。
(3)特殊聯(lián)鎖數據:描述鐵路車站內超限絕緣、帶動道岔等特殊聯(lián)鎖條件。
(4)進路數據:描述列車在鐵路站場內的所有路徑信息,包括選路按鈕、進路內的道岔與軌道區(qū)段等。
CAD 格式的車站信號平面布置圖(簡稱:CAD站場圖)描述CBI 管轄范圍內的線路布置,是編制聯(lián)鎖控制數據的依據。但CAD 站場圖不能直接用來自動編制聯(lián)鎖控制數據,主要原因有以下兩點:
(1)CAD 站場圖使用幾何圖形表示信號設備,但不同設計單位繪制的CAD 站場圖可能存在幾何圖形的大小差異,計算機難以準確識別;
(2)CAD 站場圖未建立空間位置與設備屬性的全部對應關系,部分設備屬性以標注的形式給出,計算機無法自動識別這些信息[12]。
為此,實驗室自主開發(fā)了一套鐵路CAD 站場圖處理軟件,如圖1 所示:(1)將CAD 站場圖人工轉換為站場圖片;(2)使用圖像識別技術,獲取計算機可處理的站場信息;(3)采用Visual Stutio 2017中的ObjectARX2019 作為AutoCAD2019 的二次開發(fā)工具,創(chuàng)建信號設備的自定義實體,并自動配置設備屬性;(4)輸出文本格式的站場基礎數據。

圖1 鐵路CAD 站場圖處理流程
站場基礎數據描述了信號機、道岔、直股區(qū)段的設備屬性,如表1 所示。其中,道岔結點分為一般結點、超限結點、盡頭結點與空結點,結點分布如圖2(a)所示。直股區(qū)段的結點類型與道岔結點相同,結點分布如圖2(b)所示。信號機中心結點分布如圖2(c)所示。

表1 站場基礎數據內容

圖2 設備結點分布示意
聯(lián)鎖控制數據自動生成方法整體框架如圖3 所示:(1)讀入站場基礎數據;(2)構建鐵路站場拓撲模型;(3)搜索鐵路站場內的所有進路;(4)自動生成聯(lián)鎖控制數據。

圖3 聯(lián)鎖控制數據自動生成方法框架
2.2.1 各類數據模型
聯(lián)鎖控制數據要求對信號設備、站場拓撲關系與特殊聯(lián)鎖條件作出描述,結合站場基礎數據的輸入信息,定義各類數據模型如下。
定義1:基礎數據模型Dy 由一個九元組<ID,Name,Throat,ANode,BNode,CNode,ASide,BSide,CSide >表示,其中:
(1)ID 表示設備編號;
(2)Name 表示設備名稱;
(3)Throat 表示設備所屬咽喉,下行咽喉取1,上行咽喉取2;
(4)ANode、BNode、CNode 表示設備結點,均可用一個二元組(T,P)表示,T 表示結點類型,P 表示結點坐標;對于道岔,ANode、BNode、CNode依次表示岔前結點、岔后定位結點、岔后反位結點;對于直股區(qū)段,ANode、BNode 依次表示左側結點、右側結點,CNode=null;對于信號機,ANode 表示中心結點,BNode=CNode=null;對于其他設備,ANode=BNode=CNode=null;
(5)ASide、BSide、CSide 表示與本設備具有拓撲關系的數據模型;對于道岔,ASide、BSide、CSide 依次表示岔前、岔后定位、岔后反位拓撲連接的數據模型;對于其他設備,ASide、BSide 依次表示左側、右側拓撲連接的數據模型,CSide=null。
定義2:信號機數據模型Signal 由一個四元組<SigDy,SigType,SigDir,SigHei >表示,其中:
(1)SigDy∈Dy 表示信號機基礎信息;
(2)SigType 表示信號機類型,進站信號機取1,出站信號機取2,調車信號機取3;
(3)SigDir 表示信號機防護方向,防護右方取0,防護左方取1;
(4)SigHei 表示信號機高矮柱屬性,高柱信號機取1,矮柱信號機取0。
定義3:軌道區(qū)段數據模型Section 由一個兩元組< SecDy,SecType>表示,其中:
(1)SecDy ∈Dy 表示軌道區(qū)段基礎信息;
(2)SecType 表示軌道區(qū)段類型,股道取0、無岔區(qū)段取1、道岔區(qū)段取2、區(qū)間區(qū)段取3。
定義4:道岔數據模型Point 由一個三元組<SwDy,SwSec,SwType >組成,其中:
(1)SwDy ∈Dy 表示道岔基礎信息;
(2)SwSec∈Section 表示道岔所屬的軌道區(qū)段;
(3)SwType 表示道岔類型,以自左向右的下行運行方向為基準,對向道岔取1、順向道岔取0;以自右向左的上行運行方向為基準,對向道岔取2、順向道岔取3。
定義5:超限點數據模型CX 由一個四元組<CxDy,ProSec,ProSw,ProPos >組成,其中:
(1)CxDy ∈Dy 表示超限點基礎信息;
(2)ProSec∈Section 表示超限絕緣檢查的軌道區(qū)段;
(3)ProSw ∈Point 表示超限絕緣檢查的道岔;
(4)ProPos 表示檢查ProSw 的位置,檢查定位取0,檢查反位取1。當只檢查ProSec 時,ProSw=null,ProPos=2。
定義6:帶動點數據模型Add 由一個三元組<AddDy,AddPoint,AddPos >組成,其中:
(1)AddDy∈Dy 表示帶動點基礎信息;
(2)AddPoint∈Point 表示帶動的道岔;
(3)AddPos 表示帶動AddPoint 至規(guī)定位置,定位取1、反位取0。
2.2.2 建立拓撲關系
2.2.2.1 空間鄰接
空間鄰接指當信號設備在鐵路站場存在物理連接時,建立數據模型之間的拓撲關系,主要用于信號機、道岔與直股區(qū)段之間。以圖4 中的道岔1、信號機D5、直股區(qū)段1/19WG 為例,道岔1 岔后定位結點與直股區(qū)段1/19WG 左側結點重合,信號機D5中心結點在道岔1 岔后定位結點與直股區(qū)段1/19WG左側結點下方鄰近處,道岔1、信號機D5 與直股區(qū)段1/19WG 在鐵路站場物理連接,因此,建立三者數據模型之間的拓撲關系。

圖4 示例車站信號平面布置
2.2.2.2 邏輯鄰接
邏輯鄰接指數據模型在聯(lián)鎖邏輯關系上的連接,主要包括以下3 種情況:
(1)在實際站場,道岔區(qū)段由一組或多組道岔組成。為了確保排列任何經過道岔區(qū)段的進路時均能搜索到其對應的數據模型,將Section 放在該道岔區(qū)段內所有道岔岔尖外側,建立Section 與其他數據模型的拓撲關系;
(2)當道岔某側結點為超限結點時,為確保排列任何經該道岔側向的進路都能檢查超限絕緣條件,將CX 放在該道岔側向,建立CX 與其他數據模型的拓撲關系;
(3)當道岔區(qū)段內存在多組道岔且道岔之間存在帶動關系時,為確保排列任何經主道岔帶動側的進路都可以執(zhí)行帶動條件,將Add 放在主道岔帶動側,構建Add 與其他數據模型的拓撲關系。
以圖4 所示鐵路車站為例,定義各類數據模型,并根據空間鄰接與邏輯鄰接規(guī)則,建立數據模型之間的拓撲關系,構建鐵路站場拓撲模型如圖5所示。

圖5 示例車站鐵路站場拓撲模型
2.3.1 進路模型
聯(lián)鎖控制數據要求對選路按鈕、進路內的道岔與軌道區(qū)段做出描述,結合進路搜索過程需要,定義進路模型如下。
定義7:進路模型Route 由一個六元組<RID,Rstart,Rend,Bt,RType,m_Data >表示,其中:
(1)RID 表示進路唯一標識;
(2)Rstart ∈Signal、Rend ∈Signal 依次表示進路的始端信號機和終端信號機;
(3)Bt∈Signal 表示可用作為變通按鈕的信號機,對于基本進路,Bt=null;
(4)RType 表示進路類型,由Rstart、Bt、Rend確定,分為接車基本進路、接車變通進路、發(fā)車基本進路、發(fā)車變通進路、調車基本進路、調車變通進路;
(5)m_Data 表示進路內包含的設備集合,單個設備可以由一個三元組(RDy,DyType,SwPos)表示,其中,RDy∈Dy 表示設備對應的數據模型,DyType 表示設備類型,道岔取1、軌道區(qū)段取2、信號機取3、超限點取4、帶動點取5,SwPos 默認為-1,當DyType=1 時,SwPos 表示道岔開向位置,定位取1、反位取0。
2.3.2 進路搜索算法
2.3.2.1 基本進路
在歐式平面,歐式距離D(P1,P2)指兩結點P1(x1,y1)、P2(x2,y2)間的直線距離,如式(1)所示。

在已構建的鐵路站場拓撲模型(topological model of station yard)中,基本進路可描述為始終端信號機之間的最短路徑[13],基本進路搜索算法示例如算法1 所示。
算法根據選路按鈕使用規(guī)則[14],確定鐵路站場拓撲模型內可組成基本進路的始終端信號機組合集(basic combinations),再對每個基本組合(basic combination)依次進行以下操作:
(1)確定RType、進路范圍(range);
(2)由Rstart 開始向Rend 搜索進路內的設備(component),若搜索到對向道岔(opposite point,OP∈Point),則結合式(1),依次計算OP.S wDy.BNode、OP.S wDy.CNode至REnd.S igDy.Node的歐式距離D(B,E)、D(C,E),選取歐式距離較小側設備N(E,OP)繼續(xù)搜索,建立路徑選擇模型如式(2)所示;若搜索到其他設備,則按進路搜索方向選取靠近Rend 側設備繼續(xù)搜索;

(3)若搜索到設備超出進路范圍,則判定此基本組合無效;若搜索到Rend,則將搜索到的設備(components)按類型保存至m_Data 中,之后由Rstart 反向搜索獲取進路的接近區(qū)段(approach),一條基本進路(basic route)搜索完畢;
(4)重復上述操作即可得到站場內所有基本進路(basic routes)。


2.3.2.2 變通進路
與基本進路搜索算法相似,如算法2 所示:(1)根據變通按鈕選取規(guī)則[14],確定鐵路站場拓撲模型內變通進路按鈕集合(alternative combinations);(2)對每個變通組合(alternative combination),確定進路性質,并按單條基本進路搜索方法(算法1)依次搜索進路始端至變通按鈕、變通按鈕至進路終端,即可獲取一條變通進路(alternative route);(3)重復上述操作,即可得到站場內所有變通進路(alternative routes)。


根據上述聯(lián)鎖控制數據自動生成方法,結合實際需求,在Visual Stutio 2012 環(huán)境下,采用C++語言開發(fā)了鐵路CBI 控制數據自動生成軟件(簡稱:軟件),用以輸出SWJTU-II 型CBI 系統(tǒng)所需的聯(lián)鎖控制數據。軟件總體框架如圖6 所示,聯(lián)鎖控制數據的自動生成主要分為5 個步驟:
(1)讀入站場基礎數據,檢查設備屬性是否缺失、是否存在重名、設備位置是否重疊;
(2)構建各類數據模型,按空間鄰接與邏輯鄰接規(guī)則,建立鐵路站場拓撲模型;
(3)依次搜索基本進路、變通進路;
(4)添加人工介入窗口,當站場結構復雜、特殊進路較多時,用戶可根據實際運營需求,人工配置進路數據;
(5)輸出所有文本格式的聯(lián)鎖控制數據。

圖6 軟件總體框架
以圖4 所示車站為例,軟件運行如圖7 所示,輸出聯(lián)鎖控制數據如圖8 所示。圖8(a)中,以信號機D9 為例,展示設備編號、設備采集繼電器、設備驅動繼電器、設備坐標的輸出形式;圖8(b)中,以信號機D11、道岔7、軌道區(qū)段7DG、超限點CX0、帶動點ADD0 為例,展示站場拓撲與特殊聯(lián)鎖數據的輸出形式,其輸出順序與含義遵守各類數據模型定義;圖8(c)中,以XF~SII 間經1/3 定位的基本進路與經1/3 反位、D7A 為變通按鈕的變通進路為例,展示進路數據的輸出形式,其中,“*”表示接近區(qū)段與進路內的直股區(qū)段,“#”表示進路內的道岔并要求其在定位,“#^”表示進路內的道岔并要求其在反位,進路內的道岔區(qū)段可從道岔的站場拓撲數據中獲取,故不輸出。將軟件輸出的示例站聯(lián)鎖控制數據用于SWJTU-II 型CBI 系統(tǒng),運行示意如圖9 所示。

圖7 軟件運行示意

圖8 軟件生成示例站聯(lián)鎖控制數據示意

圖9 示例站SWJTU-II 型CBI 系統(tǒng)運行示意
本文提出了一種鐵路CBI 控制數據自動生成方法,并結合實際需求,將該方法用于實際工程,實現了聯(lián)鎖控制數據的自動生成,使聯(lián)鎖控制數據編制的自動化程度與編制效率得到很大提高,對提高鐵路CBI 系統(tǒng)的自適應性和智能化程度有較大幫助。在后續(xù)的研究中,將繼續(xù)完善對復雜聯(lián)鎖條件的處理,進一步提高本方法的適用度。