金 云,蕢凱騰,鐘朱婷,虞乾儷
(通號萬全信號設備有限公司,杭州 310000)
在軌道交通相關的領域中,信號系統都是保障安全不可或缺的一個系統。而聯鎖表等相關聯鎖數據又是信號系統的重中之重。本文通過對于前人實踐經驗的總結,通過計算機的可視化技術,把聯鎖界面顯示、聯鎖表自動生成、聯鎖軟件數據自動生成通過一個軟件進行實現,本文基本對信號設備的抽象、把信號設備轉化為系統能夠識別的數據結構,再使用基于網絡拓撲圖的堆棧遍歷的核心算法,對于聯鎖表的自動生成展開了進一步的探索。
軟件繪制站場圖,基于內部定義的信號設備模式來進行繪制顯示,信號設備主要分為3 種,分別為信號機,道岔和區段。軟件內部定義的區段單指無岔區段,道岔為道岔和道岔區段的集合。繪圖時的所有道岔都是單動道岔,系統通過道岔的屬性來設置雙動道岔和同區段道岔。信號機需要設置以下屬性:1)信號機按鈕類型屬性,可以進行列車按鈕屬性、調車按鈕屬性、延續按鈕屬性等始終端的設置。2)信號機類型,差置信號機、并置信號機、盡頭型信號機等,用來參與進路生成的判斷。所有的道岔、區段和信號機都具備咽喉屬性,根據實際相關進行配置。
網絡拓撲運算需要計算以下的相關信息。
信號機:1)信號機的防護設備;2)信號機防護設備的被防護位置;3)信號機的接近設備;4)信號機接近設備的被接近位置。
區段:區段的連接點為兩個,分別為左邊連接點和右邊連接點,每個連接點分別記錄所連接的設備以及連接設備的被連接位置,防護信號機的信息、接近信號機的信息。
道岔:道岔的連接點為3 個,分別為岔前連接點、定位連接點和反位連接點。每個連接點分別記錄所連接的設備以及連接設備的被連接位置,防護信號機的信息、接近信號機的信息。
在繪圖時,記錄區段的邊界點為兩個,分別為左邊界點和右邊界點。記錄道岔的邊界點為3 個,分別為岔前邊界點、定位邊界點和反位邊界點。記錄信號機的中心點以及信號機的旋轉角度。按照信號機的中心點和旋轉角度完成信號機的繪制,定義信號機中心點向信號機燈位的方向為信號機的后方。反方向為信號機的前方。
遍歷整個道岔和區段列表,如果兩個設備的邊界點之間的距離小于10 個像素,則認為兩個設備是相連的,記錄相關的信息到各自的連接點信息中。道岔和區段遍歷完成后,整個信號平面圖的道岔和區段即可組成一幅網絡拓撲圖,可以通過任何一個設備,找到其余的關聯設備。
遍歷整個信號機列表,如果信號機的中心點和道岔或者區段的邊界點距離小于10 個像素,且該設備處在信號機的后方,則認為信號機是防護該設備的。如果信號機的中心點和道岔或者區段的邊界點的距離小于10 個像素,且該設備處在信號機的前方,則認為信號機為接近該設備的。分別記錄防護和接近信息到相應的設備中。
由此可見,1 架信號機最多防護1 個設備,接近1 個設備。1 個道岔最多被3 架信號機防護,最多被3 架信號機接近。1 個區段最多被2 架信號機防護,最多被2 架信號機接近。至此,整個網絡拓撲圖數據生成完畢。
信號設備中,區段為單方向設備,從一邊進入,只能從另一邊離開。道岔如果從岔前進入,則可以分為定位方向或者反位方向兩種情況離開。道岔如果從定位或者反位進入,則只能從岔前離開。信號機作為進路遍歷的開始條件和結束條件,控制進路能夠按照要求自動生成。
利用堆棧后進先出的特性,構造一個記錄當前設備屬性和當前設備位置的堆棧。以任意一架信號機為始端,按照堆棧的方式,遍歷全部信號機。每次遍歷如圖1 所示。
列車進路:同一咽喉區內搜索到第一架列車信號機(非反向進路信號機)時作為終端信號機。如果是反向信號機,則將反向信號機的接近區段也列為進路中的區段。如果為同向信號機,則不另外添加其接近區段為進路中的區段。
調車進路:在同一咽喉區內搜索到第一架同向單置調車信號機作為終端信號機,或搜索到第一架非單置含調車屬性的反向信號機作為終端信號機。
敵對信號:1)進路中不能作為終端的信號機為敵對信號;2)若終端信號機與始端信號機方向相反,則該終端信號機為敵對信號;3)若進路終端為差置信號機,則以另一架差置信號機為終端的進路始端信號機為敵對信號;4)以進路中敵對信號為終端,搜索到的進路始端信號機(匹配的進路與該進路重合的道岔位置要求一致)為敵對信號。若搜索到的始端信號機存在多條進路時,說明是條件敵對,那么把某組關鍵道岔位置作為該敵對信號的條件;5)若本進路是調車進路,與該調車進路完全重合的列車進路始端信號機為敵對信號。敵對條件為本調車進路中任何一個道岔所在的正確位置。
侵限:檢查進路中道岔定位和反位是否存在侵限絕緣。

圖1 進路生成遍歷設備邏輯Fig.1 Logic of device traversal for route generation
1) 當進路中的道岔(道岔A)定位存在侵限絕緣節時,如果道岔A 在進路中的狀態是反位時,則檢查道岔A 定位直連的關聯道岔(道岔B)的狀態和位置。
a. 如果道岔B 的岔前和道岔A 相連,則道岔B 所在的區段為該進路的侵限區段。
b. 如果道岔B 的定位和道岔A 相連,則當道岔B 處在定位時,道岔B 所在的區段為該進路的條件侵限區段。
c. 如果道岔B 的反位和道岔A 相連,則當道岔B 處在反位時,道岔B 所在的區段為該進路的條件侵限區段。
2) 當進路中的道岔(道岔A)反位存在侵限絕緣節時,如果道岔A 在進路中的狀態是定位時,則檢查道岔A 反位直連的關聯道岔(道岔B)的狀態和位置。
a. 如果道岔B 的岔前和道岔A 相連,則道岔B 所在的區段為該進路的侵限區段。
b. 如果道岔B 的定位和道岔A 相連,則當道岔B 存在定位時,道岔B 所在的區段為該進路的條件侵限區段。
c. 如果道岔B 的反位和道岔A 相連,則當道岔B 存在反位時,道岔B 所在的區段為該進路的條件侵限區段。
迎面進路:1)當存在兩個咽喉時,列車進路終端為股道信號機時,股道信號機另一端信號機如果存在列車進路終端,添加列車股道。如果存在調車進路終端,添加調車股道;2)當存在兩個咽喉時,調車進路終端為股道信號機時,股道信號機另一端信號機如果存在列車進路終端,添加列車股道。
帶動道岔:檢查進路中道岔區段是否存在同區段且非進路中的道岔。若該道岔反位和進路中的同區段道岔相連,則帶動該道岔至定位。若該道岔定位和進路中的同區段道岔相連,則帶動該道岔至反位。
用上述方法實現的聯鎖表自動生成邏輯,能夠滿足聯鎖表自動生成的很大一部分需求。對于一些用戶的特殊需求,例如進路外道岔按照帶動道岔還是防護道岔做邏輯、調車進路是否需要包含最后一個無岔區段、進路的可用性等,都可以在人機配置界面中人工修改,以滿足客戶的特殊需求。聯鎖表生成的判定條件可以進行特殊拓展,滿足特定條件下的特殊需求。相關程序已經在實際的項目中得到應用,該邏輯能夠遍歷站場中的所有基本進路,滿足無遺漏、無重復的目標,用戶只需要通過確認生成數據內容,最終通過軟件導出標準聯鎖表和聯鎖軟件使用的二進制數據。數據生成的便利性、準確性、數據來源的統一性得到用戶贊賞。