陳灝捷,楊 揚
(西南交通大學 信息科學與技術學院,成都 611756)
隨著我國鐵路的快速發展,鐵路信號領域的設計工作量也在快速增長,車站數量增多,出圖量增大,為此,迫切需要能夠代替復雜的人工設計、減少設計人員的工作量、降低人為產生的誤差、提高設計效率和質量的計算機輔助設計軟件。
聯鎖表是體現車站信號設備之間聯鎖關系的重要圖紙,根據其說明的進路、道岔、信號機間的聯鎖內容,實現車站聯鎖關系的檢查[1]。聯鎖表不僅能確保行車安全,還能提高運行效率,是信號工程設計中不可或缺的部分。運用傳統方法編制聯鎖表,設計人員需要消耗大量時間進行制圖和校驗,效率低,也無法保證圖紙的準確性。因此,實現聯鎖表的自動生成具有重要意義。
本文設計聯鎖表自動生成軟件,介紹其設計流程及實現方法。
聯鎖表自動生成軟件以AutoCAD 軟件繪制的車站信號設備平面布置圖(簡稱:站場平面圖)作為數據輸入,經過邏輯運算,調用AutoCAD 軟件,生成CAD 格式的聯鎖表。本軟件與AutoCAD 軟件的關系如圖1 所示。

圖1 聯鎖表自動生成軟件與AutoCAD 軟件關系
聯鎖表自動生成軟件可分為4 個部分:
(1)信號設備圖元設計程序;
(2)站場平面圖重繪程序;
(3)站場形數據結構建立和進路搜索程序;
(4)CAD 格式的聯鎖表輸出程序。其中,數據平面圖是對站場平面圖的重繪,在數據平面圖中,可對站場的數據進行人工校驗及操作。軟件總體結構如圖2 所示。
采用Microsoft Visual Studio 2012 作為軟件開發平臺,利用Visual C++編程語言實現面向對象結構設計。軟件對導入的符合信號設備圖元設計規則的站場平面圖[2]進行重繪,生成數據平面圖,通過站場形數據結構建立、搜索進路并保存進路數據等,輸出CAD 格式的聯鎖表。
2.1.1 信號設備圖元設計
圖元數據模型描述圖元數據的存取結構和圖元數據的完備性[3]。聯鎖表自動生成軟件在內存中分配和存儲信號機、道岔、軌道區段等信號設備的圖元數據模型中包含的所有信息,包括信號設備的特征和屬性等。建立各類信號設備圖元數據模型對應的數據存放區域,圖元數據模型的創建和信息的存取都在各自的區域中操作,當聯鎖系統正確完成對信號設備的圖元數據模型處理后,將信號設備的完整數據存儲到聯鎖系統為其分配的數據存放區域。
2.1.2 站場平面圖重繪
本文中設置的圖形算法處理規則:根據站場平面圖中信號機、道岔等信號設備的坐標及屬性布置數據平面圖的圖元,讀取站場平面圖中絕緣節的坐標及類型,與道岔坐標進行匹配,即搜索道岔所在進路上距離最近的信號設備,若最近信號設備為絕緣節,則將數據平面圖中道岔分支移動到該位置,并根據站場平面圖中獲取的絕緣節屬性設置絕緣節類型,若最近信號設備為道岔,則移動到兩道岔分支的中間位置,絕緣節類型為無絕緣節,其流程如圖3 所示。同理,搜索進路上距離絕緣節位置最近的信號設備,若為絕緣節,則判斷為軌道區段,布置軌道區段,并將軌道區段兩端絕緣節移動到相應位置,根據站場平面圖中無岔區段名稱的文本坐標數據,與軌道區段進行匹配,完成站場圖的重繪。
站場平面圖中需要讀取的數據包括信號機、道岔、絕緣節、脫軌器、預告信號機及相關連接直線等。其中,信號機分為發車型信號機、接車型信號機、進路型信號機及具有特殊功能的信號機;絕緣節包括普通絕緣節、超限絕緣節、端頭絕緣節。采用繪圖交換格式(DXF,Drawing Exchang Format)讀取方法,在AutoCAD 軟件與聯鎖表自動生成軟件之間進行數據交換[4-5],其處理流程如圖4 所示。

圖3 道岔圖形算法處理流程

圖4 站場平面圖重繪流程
信號設備參數包括設備的名稱、類型、位置等。圖形算法處理部分主要實現道岔區段及無岔區段絕緣節的連接,無岔區段命名的匹配,發車口、脫軌器等站場平面圖數據的匹配。人工校驗操作分為自動實現和人工實現2 個部分:(1)通過軟件自動完成數據平面圖中所有信號設備咽喉區編號的設置;(2)發車方向名稱與進站信號機的匹配、股道接發車方向的判斷、脫軌器屬性的設置等,可通過人工對其準確性進行校驗及修改,接車制式和發車制式缺省值如表1 所示。數據平面圖站場屬性和基本變通進路等無法從站場平面圖直接得到的屬性通過人工進行設置。
數據平面圖中信號設備的圖元數據模型包含了各個信號設備的屬性和前后連接關系。對于道岔而言,需設置道岔前支標記(pFC)、道岔定位標記(pNC)、道岔反位標記(pRC);對于軌道區段和信號機而言,需設置指向前一個信號設備的標記(pZC)和指向后一個信號設備的標記(pMC)。信號設備圖元標記示意如圖5 所示。

表1 接車制式和發車制式缺省值

圖5 信號設備圖元標記示意
每個信號設備的圖元數據模型按照站場平面圖的形式連接,將站場平面圖中每個信號設備的圖元數據模型看成單個數據節點,每個數據節點通過指針把站場平面圖中的所有信號設備連接起來,形成由頂點和邊構成的集合,建立站場形數據結構。
信號機模塊在站場平面圖中所處的位置坐標不同,可以分為上行咽喉區信號機和下行咽喉區信號機,列車信號機類型可分為接車、發車和進路類型,調車信號機分為單置、并置、差置和盡頭類型。有的始終端信號機可以構成合法進路,同時也有小部分終端信號機不能構成合法進路。為了能生成完整的聯鎖表,須對所有可能構成合法進路的始終端信號機節點進行遍歷[6]。廣度優先搜索算法能夠遍歷圖中的所有節點從而找尋結果,因此本設計運用該算法實現進路搜索。
建立站場形數據結構和進路搜索流程描述如下:
(1)依據人工編制聯鎖表的習慣,依次選取站場平面圖中信號機節點作為進路搜索的始端;
(2)對其它的信號機節點進行遍歷,找出能與該始端信號機節點構成合法進路的終端信號機節點;
(3)對該始終端信號機節點構成的進路展開搜索,如果該進路合法則將進路上所有相關信號設備節點(包括信號機節點、道岔節點、軌道區段節點、絕緣節節點等)的數據存儲起來;
(4)繼續搜索以當前信號機節點作為始端的進路,如果沒有找到其它的合法進路,則停止搜索,返回第(1)步,選擇站場的下個信號機節點作為進路的始端進行進路搜索,完成該始端信號機節點的進路搜索;
(5)當站場平面圖中所有的信號機節點都作為進路始端完成進路搜索時,把存儲的進路數據讀取出來,依次填寫在表中,生成整個站場的聯鎖表。
建立站場形數據結構和進路搜索流程,如圖6所示。
在進路搜索過程中,相對于調車進路,列車進路條件更加復雜,比如,判斷始端信號機是否有6‰坡道標記且進路終端信號機外方是股道,以此作為延續進路的判斷條件,進入延續進路搜索過程。在列車進路搜索過程中,若前方還有同性質的進路可排列,考慮組合列車進路,將進路數據存儲,在后續進路搜索完成后,結合當前進路和存儲的上一段進路信息,構成組合列車進路,記錄組合列車進路數據。
在進路搜索完成后,為了得到完整的進路信息,還需要進一步處理生成的進路,包括安全線防護、接近鎖閉區段搜索和敵對進路處理。特殊聯鎖處理流程如圖7 所示。

圖6 站場形數據結構建立和進路搜索流程

圖7 特殊聯鎖處理流程
通過接車進路始端對應的方向口獲取方向口屬性,根據線路方向及預告信號機等數據,結合表1判斷接車制式為半自動閉塞、三顯示自動閉塞或四顯示自動閉塞,從而得到接車進路的接近鎖閉區段。而對于發車進路,還需結合前一段進路進行判斷。敵對進路處理分為列車敵對進路處理、調車敵對進路處理和迎面敵對進路處理,根據聯鎖敵對進路的各種情況記錄滿足敵對條件的信號。
AutoCAD 軟件輸出的數據為聯鎖表數據及工程圖紙的圖標數據,生成DWG 格式的圖紙并保存[7]。聯鎖表進路數據由前期的操作生成,圖號、設計者、日期等使用者信息由人機交互界面輸入得到。CAD格式的聯鎖表輸出流程如圖8 所示。
根據進路的數據量計算表格所需行數,并與預設的欄寬長度比較,適當增加或減少欄寬,根據得到的欄寬進行計算,確定該圖紙的長度、圖紙內表格的起點坐標,繪制圖紙邊框,并繪制空的列車進路聯鎖表表格。判斷是否有相應聯鎖表數據,根據計算機聯鎖車站聯鎖表編制原則[8],分別繪制出列車進路聯鎖表、調車進路聯鎖表、延續進路聯鎖表、組合列車進路聯鎖表,以及非調車進路聯鎖表。

圖8 CAD 格式的聯鎖表輸出流程
聯鎖表自動生成軟件在導入站場平面圖數據后啟動站場數據讀取和連接模塊,通過各模塊間的調用,讀入站場平面圖的數據,轉換為信號設備圖元并連接,還原站場,完成設備咽喉區編號等屬性的設置。調用站場形數據結構生成模塊,生成站場拓撲結構,調用聯鎖數據生成模塊,以信號機為始端,按照站場拓撲結構搜索進路。可在用戶界面調用變更進路控制模塊和非進路調車控制模塊進行進路控制。生成進路信息后,調用聯鎖表輸出模塊,輸出CAD 格式聯鎖表。本設計使用廣州局集團有限公司石龍站站場平面圖,對軟件的可靠性進行驗證。
通過ActiveX 技術,遵循COM 規范,將聯鎖表自動生成軟件與已經安裝好的AutoCAD 軟件連接[9],使用C++語言調用CAD 的函數,進行多段線繪制、文字插入及塊等操作。
制作ARX 插件并將其放置在AutoCAD 軟件的安裝路徑中,聯鎖表自動生成軟件與AutoCAD 軟件連接后,采用函數調用的方式完成加載插件及輸入命令的操作。
聯鎖表自動生成軟件在搜索進路時,以信號機為始端,按照拓撲結構進行搜索,在遍歷過程中記錄并存儲信號機節點、道岔節點、軌道區段節點、絕緣節節點等數據,通過每一個數據節點的數據屬性判斷,生成各類進路信息所需要的數據,通過函數調用等方式在各模塊之間進行傳輸。
用戶界面設計簡單,布局清晰,能直觀體現各菜單的功能,并且菜單按照操作的流程順序布置,更易于操作。圖9 為導入石龍站站場平面圖后自動生成的數據平面效果圖,通過該界面能夠直觀校核平面圖的準確性,并對數據進行補充和完善。使用C++進行編程,在界面上使用MFC 所提供的可視化組件[10]。通過用戶界面能夠實現文件的存儲和讀取、CAD 站場圖數據的讀取、站場形數據結構生成、聯鎖數據生成、普速鐵路與高速鐵路的切換、進路控制變更、非進路調車控制、聯鎖表輸出等功能。

圖9 石龍站數據平面效果
運行控制按照各模塊間函數調用關系來實現。生成數據平面圖后,設置站場屬性和咽喉區編號,對數據平面圖進行后續操作。在生成聯鎖數據和非進路調車進路之前,生成站場形數據結構。變更進路的操作需要在有進路信息的前提下才能進行,變更進路搜索控制界面如圖10 所示,通過輸入進路的始、終端按鈕查找符合條件的所有進路,并選擇基本進路。
根據基礎輸入或基礎圖紙調整后,生成CAD 格式的聯鎖表,聯鎖表左下角包含生成軟件的版本、時間及使用者信息。可生成5 種聯鎖表:列車進路聯鎖表,調車進路聯鎖表,延續進路聯鎖表,組合進路聯鎖表,非調車進路聯鎖表。根據石龍站站場平面圖生成的列車進路聯鎖表,如圖11所示。

圖10 變更進路搜索控制界面

圖11 列車進路聯鎖表效果示意
聯鎖表自動生成軟件通過將AutoCAD 軟件繪制的站場平面圖重繪,轉換為可調整的數據平面圖,運用圖形算法處理規則,讀取站場平面圖中的數據,并添加無法直接通過站場平面圖獲取的站場數據,搜索進路信息,根據聯鎖表編制原則處理進路數據,并利用AutoCAD 軟件生成圖紙,實現列車進路聯鎖表、調車進路聯鎖表、延續進路聯鎖表、組合列車進路聯鎖表、非調車進路聯鎖表的自動生成。
該軟件已應用于現場,應用結果表明,運用該軟件編制聯鎖表,可以提高編制效率,減少人工校核所需時間,通過程序進行聯鎖邏輯判斷,提高聯鎖表的完整性和準確性。由于該軟件重繪站場圖,這也為修改站場圖基本數據提供了便利。