熊 飛
(中國鐵路設計集團有限公司,天津 300251)
列控數據是列控系統的核心數據,是列控中心與應答器報文的編制依據,也是進行列控報文核對的依據。列控中心與應答器報文直接與ATP控車相關,因而列控數據準確性直接關系到客運專線運營的安全性、可靠性。進路數據表是列控數據的重要組成部分,以往采用手工編制錄入數據方式,不僅步驟繁瑣,而且費時費力,制約著列控數據編制的進度和準確性[1],因此有必要設計一種列控數據進路數據表編制軟件。Bosschaart等人[2]建立了一種基于UML語言的分類圖法,對車站聯鎖系統創建RailML數據庫,并進行數據的安全性驗證,最終提出從已有數據庫對信號及列車自動防護(ATP)系統的模擬,特別是通過和歐洲列車控制系統(ETCS)整合,指出自動創建RailML是將來的研究方向。Wang Dong等人[3]應用拓撲法和圖論矩陣法對列控數據進行了分析。楊美娜等人[4]基于二叉樹結構的進路搜索算法對高速鐵路聯鎖系統進行了設計,但整個系統只有進路搜索和閉路進路功能,有待改進。目前,列控數據進路數據表編制軟件中存在程序復雜、程序健壯性難以保證等局限性,因此,設計穩定、高效的列控數據進路數據表編制軟件勢在必行。
列控數據表編制依據主要有運基信號[2010]346號“關于印發《列控系統工程數據表編制規定(V2.0)》的通知”[5]、運基信號[2014]246號“關于印發《列控數據管理暫行辦法》的通知”[6]、運基信號[2014]294號“關于印發《列控系統設備和相關設備編號規則(V3.0)》的通知”[7]等。其中,運基信號[2010]346號文詳細規定了列控數據中進路數據表輸入、輸出文件的格式和內容,進路數據表格式如圖1所示。

圖1 進路數據表的格式
列控數據中進路數據表編制軟件采用Visual Studio 2017作為軟件開發平臺,采用VBA及Active X Automation作為開發工具,通過動態鏈接庫(Dynamic Link Library)方法,使軟件具有較好的人機交互界面,通過對話框及窗體的應用,使程序輸入的出錯率有效降低,同時更方便使用RAO、RDO、ARO等連接數據庫,更容易創建ActiveX控件。
列控數據包括進路數據表、線路數據表、應答器位置表、速度信息表、坡度信息表、里程信息表等。
進路數據表基礎數據主要來自車站聯鎖表,部分數據來自其他列控數據表,其關系如圖2所示。

圖2 進路數據表與其他列控數據表及車站聯鎖表關系
其中,線路數據表、應答器位置表按照信號專業提供的區間及站內信號設備平面布置圖編寫;速度信息表由線路、站場專業提供;車站聯鎖表由設計單位給出,格式為AutoCAD圖形文件。根據運基信號[2010]346號文,進路數據表應為excel格式文件,需對車站聯鎖表進行圖元信息提取。
車站聯鎖表包含進路數據表的多種數據信息,如進路編號、進路類型、始端信號機、終端信號機、軌道區段等。其中,進路數據表中所需的進路編號、進路類型信息可由聯鎖表直接導入,其他信息在聯鎖表中均以CAD圖元形式表現。CAD圖元分為直線圖元和包含文字信息的字符串圖元2種,分別由AcDbLine和AcDbText類來標識[8]。
收集聯鎖表所有水平線條圖元的坐標,按縱坐標大小依次排序,對每一段文字字符對象精確定位,根據文字圖元的不同特征,在數據結構中將文字圖元信息定義為進路列數據信息點、道岔列數據信息點、始端信號機數據信息點、終端信號機數據信息點、軌道區段數據信息點,按聯鎖表提取流程圖進行信息提取,如圖3所示。獲得第一個文字圖元并生成節點,如該圖元關鍵字符中含有“至 信號機/盡頭線”或者“由 信號機”信息,判斷該圖元信息點在進路列數據,并且增加一個子節點并保存,否則繼續判斷是否為道岔列數據,直至遍歷完所有聯鎖表中的文字圖元信息,將所有文字圖元信息保存到相應的數據信息點中。提取出來的關鍵信息存儲到進路數據表相應列中,供后續步驟使用。在軟件編程中,由于VB語言數字變量提供精度不夠,采用fix( )函數進行修正并將聲明表達式中的數據類型定義為currency類型[9],可以保證4位精度,提高程序的健壯性。
將聯鎖表信息提取結果輸入到相應進路表后,還需對其他所需列控數據進行提取。
(1)在應答器位置表中對進路順序經過應答器的編號及相鄰2個應答器組間的距離進行計算,提取出應答器組間編號及鏈接長度,供進路數據表中經過應答器列使用。
(2)對車站信息表和應答器位置表進行信息提取,供進路數據表中應答器編號列使用。
(3)在線路數據表中提取站內信號點軌道區段名稱、對應的載頻信息及軌道區段長度,供進路數據表中軌道區段列使用。
對于側向接車進路、發車進路需要編制軌道區段信息表,其內容包括軌道區段名稱、經道岔反位的長度、載頻、末端信號機類型等信息。
(4)從線路速度表中提取出正線速度信息,對于側線過岔及側線股道速度則需要結合進路類型及道岔轍叉號來綜合判斷,提取相應的速度信息供進路數據表中速度列使用。
針對4線并行車站情況,需要提供進站信號機、反向進站信號機、出站信號機、反向出站信號機的公里標以及第3、第4條正線線路號,如表1所示。

圖3 聯鎖表提取流程圖

表1 第3、第4條正線線路信息表
根據軟件提示輸入第3、第4條正線正向最高速度、反向最高速度,以及第3、第4條正線的線路標記號。本次輸入的第3、第4條正線線路標記號需要和第3、第4條正線線路信息表中線路標記號完全一致,程序通過識別線路標記號來判斷數據源自哪一個車站,并調用相應的第3、第4條正線線路信息。
程序無法識別站內第3、4條正線進路經由的應答器名稱,會導致進路數據表中經過第3、第4條正線應答器列對應數據存在誤差,需要校對。從技術發展及節約人工核對量角度考慮,采用設置人機交互界面,提示用戶手動輸入其他兩條正線進路經由應答器名稱,保證與應答器位置表、站內及區間平面圖一致,將這些信息作為校核數據對進路數據表進行更新校核,從而準確高效地完成列控數據的編制。
本文基于列控數據,設計了一種能自動生成進路數據表的編制軟件。該軟件采用了面向對象的開發方法,滿足了列車進路數據表編制的準確性要求,提高了進路數據編制效率,并且能同步應用于其他相關列控圖紙設計,已經在(北)京石(家莊)武(漢)客運專線、(天)津保(定)鐵路等工程列控數據編制中得到運用,驗證了軟件具有良好的運用前景和推廣價值。