李 勝
(中鐵工程設計咨詢集團有限公司,北京 100071)
計算機聯(lián)鎖系統(tǒng)是以技術手段實現(xiàn)進路控制,保障站內行車安全的重要系統(tǒng)。較繼電聯(lián)鎖系統(tǒng)而言,將許多由繼電邏輯電路完成的工作改由軟件進行邏輯處理完成,極大的簡化了現(xiàn)場繼電電路[1]。同時,考慮到安全性,國內目前的聯(lián)鎖控制電路結構仍然采用原繼電電路方式,這部分繼電電路以及其所控制的室外設備(如信號機、轉轍機),往往是現(xiàn)場易發(fā)生故障的地方。當現(xiàn)場設備發(fā)生故障時,主要依靠技術人員人工運行電路邏輯以及經(jīng)驗來分析查找故障。因此,現(xiàn)場技術人員水平的高低直接影響到處理故障的好壞。隨著鐵路行業(yè)對運輸效率的要求越來越高,當設備發(fā)生故障時,留給現(xiàn)場維護人員解決故障的時間極為短暫,如何減輕現(xiàn)場維護人員的工作強度及壓力,確保行車作業(yè)的高效運行,已成為當前研究的重點。
根據(jù)計算機聯(lián)鎖系統(tǒng)和室外設備工作的特點及原理,考慮從聯(lián)鎖維修機及集中監(jiān)測系統(tǒng)中獲取其相關電路元器件的狀態(tài)及電氣參數(shù)信息,利用計算機技術來實現(xiàn)控制電路的動態(tài)仿真。該系統(tǒng)將控制電路的動作情況直觀展示在可顯示的終端上,便于現(xiàn)場人員掌握設備工作情況。當設備故障時,起到輔助現(xiàn)場維護人員對設備進行維護維修的作用。
系統(tǒng)采用客戶機及服務器結構,利用C#語言進行軟件開發(fā)設計,SQL Server 2008數(shù)據(jù)庫系統(tǒng)管理所有圖形數(shù)據(jù)表格,系統(tǒng)基本構成如圖1所示。

圖1 系統(tǒng)結構圖
圖1中靜態(tài)電路圖數(shù)據(jù)主要存儲圖形靜態(tài)數(shù)據(jù),即電路處于常態(tài)時,按照制定的數(shù)據(jù)格式統(tǒng)計出電路基礎數(shù)據(jù),一張電路圖對應一張數(shù)據(jù)表格。動態(tài)數(shù)據(jù)則通過集中監(jiān)測系統(tǒng)及聯(lián)鎖維修機實時獲取。操作顯示終端提供用戶操作界面,向服務器發(fā)送請求;服務器響應用戶請求,提取相關電路圖靜態(tài)數(shù)據(jù),結合動態(tài)數(shù)據(jù)進行邏輯處理,將處理結果返回終端,以圖形顯性數(shù)據(jù)進行展示。
考慮到不同聯(lián)鎖廠家的控制電路存在一定差異,為保證程序的通用性,參考信號設計相關書籍及圖紙,對常見的電氣元件符號進行歸納總結,形成圖形庫[2]。各廠家的控制電路均是由圖形庫中不同類型的電氣元件組裝而成,提前約定好這些元件符號的數(shù)據(jù)格式,編制某電路圖的基礎數(shù)據(jù)時,根據(jù)制定好的數(shù)據(jù)格式進行統(tǒng)計,最終形成一張電路數(shù)據(jù)表。表中每行數(shù)據(jù)包含電路圖中某個圖形符號的基本信息,整張表則包含程序繪制該靜態(tài)電路圖所需的完整數(shù)據(jù),程序根據(jù)讀取到的表格數(shù)據(jù)按行進行解析,最終還原出該電路圖。當電路修改時,只需改動數(shù)據(jù)表格內容,無需修改程序,保證程序的通用性。
控制電路圖形庫中主要有各類型繼電器、熔斷器、配線接點、電容、電阻、變壓器及電源等圖形符號,按不同類型電氣元件圖形的特點分別建類,類屬性中不僅包含程序繪制圖形所需的基本數(shù)據(jù)(基點位置坐標,元件名稱等),還包括該電路元件的特殊電氣指標或狀態(tài)屬性等,以某圖元數(shù)據(jù)格式舉例,如表1所示。

表1 數(shù)據(jù)格式
常見控制電路主要包括信號機點燈電路、道岔控制電路等,它們均是各類圖形符號按一定的方式連接而成,且這些電路通常為定型電路。因此,針對不同聯(lián)鎖廠家的控制電路統(tǒng)計出相應的數(shù)據(jù)模板,以表格形式存入SQL Server數(shù)據(jù)庫中。以某聯(lián)鎖系統(tǒng)出站信號機點燈控制電路為例,描述系統(tǒng)的實現(xiàn)過程,該系統(tǒng)一方向出站信號機點燈電路如圖2所示。

圖2 某出站信號機點燈電路
該電路展示了平時所處的一個常態(tài),其室內電路主要包括信號機點燈電源、熔斷器(RD)、燈絲繼電器(DJ)及其他繼電器接點等,室外部分主要包括點燈單元及信號燈泡等。根據(jù)電路圖中的圖形符號,依次按制定好的圖元數(shù)據(jù)模板,人工統(tǒng)計出整張電路圖的基礎數(shù)據(jù),存入本地數(shù)據(jù)庫,供電路仿真系統(tǒng)調用。
電路圖的繪制及顯示過程主要經(jīng)歷如圖3所示幾個步驟,在用戶提出調看某電路圖時,系統(tǒng)從電路數(shù)據(jù)表中讀取對應的數(shù)據(jù)表格,對表中每一行數(shù)據(jù)進行解析(解析的過程即是類對象實例化的過程)。[3]程序調用GDI函數(shù)進行繪圖,繪圖數(shù)據(jù)存入雙緩沖圖形區(qū),待整張表格數(shù)據(jù)全部轉換為圖形數(shù)據(jù)后,一次性輸出到顯示終端進行顯示。[4]

圖3 靜態(tài)電路圖繪制過程
為實現(xiàn)動態(tài)電路圖的繪制,除電路處于常態(tài)的基礎數(shù)據(jù)外,需明確電路中部分元件的狀態(tài)及電氣參數(shù)等。如圖2中不同信號燈點燈,取決于控制電路中電源及相關繼電器接點的狀態(tài),即信號控制電路本身存在一定的邏輯關系,表2為該出站信號機正常點燈情況對應表。

表2 點燈對應表
為反映電路實時的動作情況,系統(tǒng)需獲知部分電氣元件的實際狀態(tài)。如圖2中,需明確LXJ、DXJ的吸起落下狀態(tài),流經(jīng)DJ的電流值等。同樣,對于道岔控制電路,需明確DCJ、FCJ、SJ等相關繼電器的狀態(tài)。由于道岔控制設備(轉轍機)處于動態(tài)時具有一定的時間特性,程序結合集中監(jiān)測系統(tǒng)提供的1DQJ開關量信息,獲知道岔動作的起始時間,精確反映其動作過程。當?shù)啦砜刂圃O備處于靜態(tài)時,程序根據(jù)DBJ、FBJ的狀態(tài)值以及其電壓值,確保表示電路的正確反映。[5]
這些動態(tài)信息主要來自聯(lián)鎖維修機及集中監(jiān)測系統(tǒng),聯(lián)鎖維修機提供其從聯(lián)鎖機獲取的繼電器碼位信息,[6]。仿真系統(tǒng)根據(jù)集中監(jiān)測系統(tǒng)、聯(lián)鎖維修機提供的數(shù)據(jù)信息,并在電路靜態(tài)數(shù)據(jù)的基礎上進行處理,展示出控制電路的動態(tài)情況。
計算機聯(lián)鎖控制電路圖中的每單個圖形符號視為一個節(jié)點,各圖形符號之間的連接組成了一張由節(jié)點連接形成的網(wǎng)絡圖,圖4為將圖3轉換為節(jié)點的網(wǎng)絡圖。在圖4中的每一個節(jié)點給予一個唯一的ID值,該節(jié)點的數(shù)據(jù)屬性值中儲存了與之相鄰的節(jié)點 ID 值[7]。

圖4 出站信號機網(wǎng)絡圖
本設計是利用程序模擬人的思維來跑電路,搜索出電路連通的路徑。即從正電源端開始,采用深度優(yōu)先搜索(DFS)算法,依次向縱深方向搜索與之相連的節(jié)點,每搜索一個節(jié)點,則根據(jù)該節(jié)點所對應的元件電氣特點進行分析,利用程序來控制搜索的方向及結束條件的判斷。
程序采用遞歸的方法并結合控制電路的特點來實現(xiàn)路徑搜索,遞歸實現(xiàn)深度搜索的基本過程如下[8]:
1)訪問頂點V;
2)獲取頂點V的第一個鄰接點A;
3)While(鄰接點A存在)
If(A未訪問過)
從A點出發(fā)遞歸執(zhí)行該過程;
A=頂點V的下一個鄰接點;
在計算機聯(lián)鎖控制電路中,可將電源正極看成起始頂點,依次處理從各正電源開始與該頂點相連的鄰接點并保存該頂點ID值。
搜索的核心方法void test(int pid, List
程序在搜索過程中通過調用自身實現(xiàn)節(jié)點的遍歷,而搜索過程中對每一個ID的處理,則是根據(jù)電路元件特點有不同的處理方法(這部分處理方式已寫入程序中),程序根據(jù)該ID值以及來自聯(lián)鎖維修機的動態(tài)信息對該頂點的連通關系進行處理。下面以繼電器接點為例說明程序處理過程,如圖5所示。

圖5 繼電器接點示意圖
繼電器共有3個端子(中接點、前接點及后接點)與其他電路元件相連(前、后接點其中一個可為空),程序根據(jù)該繼電器接點的ID值與聯(lián)鎖維修機傳遞的狀態(tài)值進行對應,可知該接點當前所處的狀態(tài),如該繼電器接點處于落下狀態(tài),則代表后接點閉合。因此,程序讀取與該繼電器后接點相連的元件ID值。反之,則讀取與前接點相連的元件ID值,限于篇幅,其余類型圖符處理方法不再介紹。
程序依次搜索并將搜索過程中的元件ID值存入數(shù)組中保存。當路徑搜索到邊界時,比如搜索到可配對的電源負極,則表示該電路接通,此時將該徑路中搜索過的ID值作為一條選通路徑進行保存。若是搜索到某條支路的盡頭仍不能形成回路,則表示該路徑不能選通,搜索點跳回到上一級未被訪問的節(jié)點處繼續(xù)向下搜索,每搜索出一條連通的徑路,則將其保存,直到所有相連的接點訪問完為止。路徑搜索完成后,程序根據(jù)搜索出來的路徑,將電路圖進行重繪,對選通的路徑進行特殊標記,本設計采用不同顏色進行區(qū)分,如圖6所示。

圖6 電路選通示意圖
聯(lián)鎖維修機只提供聯(lián)鎖系統(tǒng)自身驅動及采集的繼電器狀態(tài)信息,其余繼電器的狀態(tài)應根據(jù)每選通一條路徑時,對這條路徑中的繼電器狀態(tài)進行記錄。系統(tǒng)定時根據(jù)聯(lián)鎖維修機及集中監(jiān)測系統(tǒng)的數(shù)據(jù)進行新的導通路徑搜索工作,實現(xiàn)電路圖的動態(tài)顯示。
本系統(tǒng)實現(xiàn)計算機聯(lián)鎖監(jiān)控層控制電路實際工作情況的動態(tài)展示,有助于現(xiàn)場維護人員直觀了解控制電路的工作過程,以用于分析故障,具備較強的實用價值。同時,為充分發(fā)揮本系統(tǒng)在輔助故障分析方面的作用,下一步將在該系統(tǒng)基礎上繼續(xù)深入設計,實現(xiàn)自動判斷故障范圍或位置的功能。
[1]趙志熙.計算機聯(lián)鎖系統(tǒng)技術[M].北京:中國鐵道出版社,1999.
[2]王秉文.6502電氣集中工程設計[M].北京:中國鐵道出版社, 1997.
[3]江凌,楊平利,楊梅,等.基于ADO.NET技術訪問SQL Server數(shù)據(jù)庫的編程實現(xiàn)[J].現(xiàn)代電子技術,2014(8):95-98.
[4]江建國,溫少營,張瑞楠.基于雙緩沖技術的GDI+無閃爍繪圖[J].計算機應用,2012,32(S2):136-139.
[5]徐奕.基于繼電特性的繼電器電路設計與分析[J].電子世界,2012(6):48-49.
[6]李萍.鐵路信號集中監(jiān)測系統(tǒng)[M].北京:中國鐵道出版社,2012.
[7]王躍華,楊成建,楊揚. 鐵路信號繼電電路的計算機輔助設計及仿真的研究[J].鐵路計算機應用,2012, 21(8):41-43.
[8]湯亞玲.遞歸算法設計及其非遞歸化研究[J].計算機技術與發(fā)展,2009,19(11):85-88.
[9]孫寧,邱兆陽,計算機聯(lián)鎖系統(tǒng)中人機會話層安全分析[J].鐵路通信信號工程技術,2016,13(4):19-22.