熊 飛
(中國(guó)鐵路設(shè)計(jì)集團(tuán)有限公司,天津 300251)
列控?cái)?shù)據(jù)是列控系統(tǒng)的核心數(shù)據(jù),是列控中心與應(yīng)答器報(bào)文的編制依據(jù),也是進(jìn)行列控報(bào)文核對(duì)的依據(jù)。列控中心與應(yīng)答器報(bào)文直接與ATP控車(chē)相關(guān),因而列控?cái)?shù)據(jù)準(zhǔn)確性直接關(guān)系到客運(yùn)專線運(yùn)營(yíng)的安全性、可靠性。進(jìn)路數(shù)據(jù)表是列控?cái)?shù)據(jù)的重要組成部分,以往采用手工編制錄入數(shù)據(jù)方式,不僅步驟繁瑣,而且費(fèi)時(shí)費(fèi)力,制約著列控?cái)?shù)據(jù)編制的進(jìn)度和準(zhǔn)確性[1],因此有必要設(shè)計(jì)一種列控?cái)?shù)據(jù)進(jìn)路數(shù)據(jù)表編制軟件。Bosschaart等人[2]建立了一種基于UML語(yǔ)言的分類圖法,對(duì)車(chē)站聯(lián)鎖系統(tǒng)創(chuàng)建RailML數(shù)據(jù)庫(kù),并進(jìn)行數(shù)據(jù)的安全性驗(yàn)證,最終提出從已有數(shù)據(jù)庫(kù)對(duì)信號(hào)及列車(chē)自動(dòng)防護(hù)(ATP)系統(tǒng)的模擬,特別是通過(guò)和歐洲列車(chē)控制系統(tǒng)(ETCS)整合,指出自動(dòng)創(chuàng)建RailML是將來(lái)的研究方向。Wang Dong等人[3]應(yīng)用拓?fù)浞ê蛨D論矩陣法對(duì)列控?cái)?shù)據(jù)進(jìn)行了分析。楊美娜等人[4]基于二叉樹(shù)結(jié)構(gòu)的進(jìn)路搜索算法對(duì)高速鐵路聯(lián)鎖系統(tǒng)進(jìn)行了設(shè)計(jì),但整個(gè)系統(tǒng)只有進(jìn)路搜索和閉路進(jìn)路功能,有待改進(jìn)。目前,列控?cái)?shù)據(jù)進(jìn)路數(shù)據(jù)表編制軟件中存在程序復(fù)雜、程序健壯性難以保證等局限性,因此,設(shè)計(jì)穩(wěn)定、高效的列控?cái)?shù)據(jù)進(jìn)路數(shù)據(jù)表編制軟件勢(shì)在必行。
列控?cái)?shù)據(jù)表編制依據(jù)主要有運(yùn)基信號(hào)[2010]346號(hào)“關(guān)于印發(fā)《列控系統(tǒng)工程數(shù)據(jù)表編制規(guī)定(V2.0)》的通知”[5]、運(yùn)基信號(hào)[2014]246號(hào)“關(guān)于印發(fā)《列控?cái)?shù)據(jù)管理暫行辦法》的通知”[6]、運(yùn)基信號(hào)[2014]294號(hào)“關(guān)于印發(fā)《列控系統(tǒng)設(shè)備和相關(guān)設(shè)備編號(hào)規(guī)則(V3.0)》的通知”[7]等。其中,運(yùn)基信號(hào)[2010]346號(hào)文詳細(xì)規(guī)定了列控?cái)?shù)據(jù)中進(jìn)路數(shù)據(jù)表輸入、輸出文件的格式和內(nèi)容,進(jìn)路數(shù)據(jù)表格式如圖1所示。
圖1 進(jìn)路數(shù)據(jù)表的格式
列控?cái)?shù)據(jù)中進(jìn)路數(shù)據(jù)表編制軟件采用Visual Studio 2017作為軟件開(kāi)發(fā)平臺(tái),采用VBA及Active X Automation作為開(kāi)發(fā)工具,通過(guò)動(dòng)態(tài)鏈接庫(kù)(Dynamic Link Library)方法,使軟件具有較好的人機(jī)交互界面,通過(guò)對(duì)話框及窗體的應(yīng)用,使程序輸入的出錯(cuò)率有效降低,同時(shí)更方便使用RAO、RDO、ARO等連接數(shù)據(jù)庫(kù),更容易創(chuàng)建ActiveX控件。
列控?cái)?shù)據(jù)包括進(jìn)路數(shù)據(jù)表、線路數(shù)據(jù)表、應(yīng)答器位置表、速度信息表、坡度信息表、里程信息表等。
進(jìn)路數(shù)據(jù)表基礎(chǔ)數(shù)據(jù)主要來(lái)自車(chē)站聯(lián)鎖表,部分?jǐn)?shù)據(jù)來(lái)自其他列控?cái)?shù)據(jù)表,其關(guān)系如圖2所示。
圖2 進(jìn)路數(shù)據(jù)表與其他列控?cái)?shù)據(jù)表及車(chē)站聯(lián)鎖表關(guān)系
其中,線路數(shù)據(jù)表、應(yīng)答器位置表按照信號(hào)專業(yè)提供的區(qū)間及站內(nèi)信號(hào)設(shè)備平面布置圖編寫(xiě);速度信息表由線路、站場(chǎng)專業(yè)提供;車(chē)站聯(lián)鎖表由設(shè)計(jì)單位給出,格式為AutoCAD圖形文件。根據(jù)運(yùn)基信號(hào)[2010]346號(hào)文,進(jìn)路數(shù)據(jù)表應(yīng)為excel格式文件,需對(duì)車(chē)站聯(lián)鎖表進(jìn)行圖元信息提取。
車(chē)站聯(lián)鎖表包含進(jìn)路數(shù)據(jù)表的多種數(shù)據(jù)信息,如進(jìn)路編號(hào)、進(jìn)路類型、始端信號(hào)機(jī)、終端信號(hào)機(jī)、軌道區(qū)段等。其中,進(jìn)路數(shù)據(jù)表中所需的進(jìn)路編號(hào)、進(jìn)路類型信息可由聯(lián)鎖表直接導(dǎo)入,其他信息在聯(lián)鎖表中均以CAD圖元形式表現(xiàn)。CAD圖元分為直線圖元和包含文字信息的字符串圖元2種,分別由AcDbLine和AcDbText類來(lái)標(biāo)識(shí)[8]。
收集聯(lián)鎖表所有水平線條圖元的坐標(biāo),按縱坐標(biāo)大小依次排序,對(duì)每一段文字字符對(duì)象精確定位,根據(jù)文字圖元的不同特征,在數(shù)據(jù)結(jié)構(gòu)中將文字圖元信息定義為進(jìn)路列數(shù)據(jù)信息點(diǎn)、道岔列數(shù)據(jù)信息點(diǎn)、始端信號(hào)機(jī)數(shù)據(jù)信息點(diǎn)、終端信號(hào)機(jī)數(shù)據(jù)信息點(diǎn)、軌道區(qū)段數(shù)據(jù)信息點(diǎn),按聯(lián)鎖表提取流程圖進(jìn)行信息提取,如圖3所示。獲得第一個(gè)文字圖元并生成節(jié)點(diǎn),如該圖元關(guān)鍵字符中含有“至 信號(hào)機(jī)/盡頭線”或者“由 信號(hào)機(jī)”信息,判斷該圖元信息點(diǎn)在進(jìn)路列數(shù)據(jù),并且增加一個(gè)子節(jié)點(diǎn)并保存,否則繼續(xù)判斷是否為道岔列數(shù)據(jù),直至遍歷完所有聯(lián)鎖表中的文字圖元信息,將所有文字圖元信息保存到相應(yīng)的數(shù)據(jù)信息點(diǎn)中。提取出來(lái)的關(guān)鍵信息存儲(chǔ)到進(jìn)路數(shù)據(jù)表相應(yīng)列中,供后續(xù)步驟使用。在軟件編程中,由于VB語(yǔ)言數(shù)字變量提供精度不夠,采用fix( )函數(shù)進(jìn)行修正并將聲明表達(dá)式中的數(shù)據(jù)類型定義為currency類型[9],可以保證4位精度,提高程序的健壯性。
將聯(lián)鎖表信息提取結(jié)果輸入到相應(yīng)進(jìn)路表后,還需對(duì)其他所需列控?cái)?shù)據(jù)進(jìn)行提取。
(1)在應(yīng)答器位置表中對(duì)進(jìn)路順序經(jīng)過(guò)應(yīng)答器的編號(hào)及相鄰2個(gè)應(yīng)答器組間的距離進(jìn)行計(jì)算,提取出應(yīng)答器組間編號(hào)及鏈接長(zhǎng)度,供進(jìn)路數(shù)據(jù)表中經(jīng)過(guò)應(yīng)答器列使用。
(2)對(duì)車(chē)站信息表和應(yīng)答器位置表進(jìn)行信息提取,供進(jìn)路數(shù)據(jù)表中應(yīng)答器編號(hào)列使用。
(3)在線路數(shù)據(jù)表中提取站內(nèi)信號(hào)點(diǎn)軌道區(qū)段名稱、對(duì)應(yīng)的載頻信息及軌道區(qū)段長(zhǎng)度,供進(jìn)路數(shù)據(jù)表中軌道區(qū)段列使用。
對(duì)于側(cè)向接車(chē)進(jìn)路、發(fā)車(chē)進(jìn)路需要編制軌道區(qū)段信息表,其內(nèi)容包括軌道區(qū)段名稱、經(jīng)道岔反位的長(zhǎng)度、載頻、末端信號(hào)機(jī)類型等信息。
(4)從線路速度表中提取出正線速度信息,對(duì)于側(cè)線過(guò)岔及側(cè)線股道速度則需要結(jié)合進(jìn)路類型及道岔轍叉號(hào)來(lái)綜合判斷,提取相應(yīng)的速度信息供進(jìn)路數(shù)據(jù)表中速度列使用。
針對(duì)4線并行車(chē)站情況,需要提供進(jìn)站信號(hào)機(jī)、反向進(jìn)站信號(hào)機(jī)、出站信號(hào)機(jī)、反向出站信號(hào)機(jī)的公里標(biāo)以及第3、第4條正線線路號(hào),如表1所示。
圖3 聯(lián)鎖表提取流程圖
表1 第3、第4條正線線路信息表
根據(jù)軟件提示輸入第3、第4條正線正向最高速度、反向最高速度,以及第3、第4條正線的線路標(biāo)記號(hào)。本次輸入的第3、第4條正線線路標(biāo)記號(hào)需要和第3、第4條正線線路信息表中線路標(biāo)記號(hào)完全一致,程序通過(guò)識(shí)別線路標(biāo)記號(hào)來(lái)判斷數(shù)據(jù)源自哪一個(gè)車(chē)站,并調(diào)用相應(yīng)的第3、第4條正線線路信息。
程序無(wú)法識(shí)別站內(nèi)第3、4條正線進(jìn)路經(jīng)由的應(yīng)答器名稱,會(huì)導(dǎo)致進(jìn)路數(shù)據(jù)表中經(jīng)過(guò)第3、第4條正線應(yīng)答器列對(duì)應(yīng)數(shù)據(jù)存在誤差,需要校對(duì)。從技術(shù)發(fā)展及節(jié)約人工核對(duì)量角度考慮,采用設(shè)置人機(jī)交互界面,提示用戶手動(dòng)輸入其他兩條正線進(jìn)路經(jīng)由應(yīng)答器名稱,保證與應(yīng)答器位置表、站內(nèi)及區(qū)間平面圖一致,將這些信息作為校核數(shù)據(jù)對(duì)進(jìn)路數(shù)據(jù)表進(jìn)行更新校核,從而準(zhǔn)確高效地完成列控?cái)?shù)據(jù)的編制。
本文基于列控?cái)?shù)據(jù),設(shè)計(jì)了一種能自動(dòng)生成進(jìn)路數(shù)據(jù)表的編制軟件。該軟件采用了面向?qū)ο蟮拈_(kāi)發(fā)方法,滿足了列車(chē)進(jìn)路數(shù)據(jù)表編制的準(zhǔn)確性要求,提高了進(jìn)路數(shù)據(jù)編制效率,并且能同步應(yīng)用于其他相關(guān)列控圖紙?jiān)O(shè)計(jì),已經(jīng)在(北)京石(家莊)武(漢)客運(yùn)專線、(天)津保(定)鐵路等工程列控?cái)?shù)據(jù)編制中得到運(yùn)用,驗(yàn)證了軟件具有良好的運(yùn)用前景和推廣價(jià)值。