穆中華 李麗蘭
(鄭州鐵路職業技術學院,450052,鄭州∥第一作者,副教授)
計算機聯鎖是實現車站“運行指揮,安全防護”功能的控制系統,是我國車站信號設備的發展方向。計算機聯鎖課程是信號專業學生的必修課,理論性、實踐性都非常強。目前,國內計算機聯鎖設備生產廠家主要是鐵道部指定的四家,技術已較成熟,但是受產權限制,各廠家核心技術是保密的。若建設一個小型站場的計算機聯鎖實驗系統,價格昂貴,動輒100多萬元,作為教學和實驗設備一次性投入過大,性價比較低,也無法滿足學習動手操作的需要。另外,近幾年我國高速鐵路發展迅速,計算機聯鎖增加了很多新功能。因此,迫切需要開發計算機聯鎖仿真系統,用仿真的方法來實現信號、進路和道岔之間的聯鎖關系,以及在客運專線中的應用方式,以滿足教學需要。
(1)現有計算機仿真軟件多以功能仿真為主,未明確區分上位機和下位機,其結構與真實聯鎖不符。
(2)現有計算機仿真軟件大多不帶I/O(輸入/輸出)功能,即無法采集驅動信號設備;或者帶I/O功能的仿真軟件過度依賴信號設備,無法獨立設置條件運行。
(3)由于裝備的變化,信號設備功能劃分也有變化。如:改變運行方向(以下簡為“改方”)功能,在既有模式中由改方電路或計算機聯鎖來完成,而在客運專線標準中由列控中心來完成,且由計算機聯鎖來操作。
(4)計算機聯鎖存儲數據有變化。如:計算機聯鎖不但要獲取接近離去區段的狀態,還需要區間閉塞分區的狀態,用以送給RBC(無線閉塞中心)使用。
(5)由于標準的變化,計算機聯鎖的功能有所變化。如:計算機聯鎖增加了開燈/關燈模式,分別適用于列控C2和列控C3模式。
本計算機聯鎖系統以武廣客運專線技術為藍本,實現適用于客運專線的聯鎖系統。計算機聯鎖仿真軟件采用模塊化編程,由上位機軟件和下位機軟件構成。
上位機是聯鎖與操作人員的人機接口,主要完成人機對話功能。操作人員通過上位機操作下位機。上位機一方面接收來自控制臺車站值班員的操作命令,將其轉換成約定的格式發送給聯鎖機;另一方面接收聯鎖機提供的監控對象的各種表示信息,并轉換成顯示器能夠接收的格式。上位機軟件采用模塊化編程思想和面向對象技術,使用C++Builder 6開發環境,軟件結構清晰,功能完善。上位機軟件主要分為顯示模塊、操作模塊和通信模塊等。
2.1.1 顯示模塊
上位機軟件采用圖形化的顯示界面,其站場狀態必須與下位機保持一致,實時性要求較高。本軟件采用定時刷新方式(周期為250ms)動態更新站場狀態。雖然站場圖形不斷更新,但要求有一個穩定的顯示畫面,為此上位機軟件采用雙緩沖技術,保證了畫面重畫時不會出現閃爍現象。顯示模塊流程如圖1所示。
圖1 顯示模塊流程
2.1.2 操作模塊
上位機作為人機接口,完成人機交互的工作,接收操作人員指令。操作部分采用消息驅動機制,捕捉鼠標和鍵盤消息,驅動事件處理函數。操作模塊流程如圖2所示。
圖2 操作模塊流程
2.1.3 通信模塊
通信模塊負責上位機與下位機的數據收發,采用UDP通信協議。數據發送采用250ms定時發送方式;接收采用事件驅動方式,當通信端口接收到數據后驅動數據處理函數。模塊發送和接收流程如圖3所示。
下位機軟件是聯鎖軟件的核心,主要實現聯鎖邏輯的運算。本下位機集邏輯運算、站場操作、狀態記錄和回放、室外仿真等于一體。軟件采用模塊化編程思想和面向對象技術,使用Visual Studio開發環境,C++語言開發,結構清晰,功能完善。
圖3 發送和接收流程
下位機軟件主要分為邏輯運算、環境仿真、采集和驅動、顯示和操作、記錄和回放、通信等模塊。
2.2.1 邏輯運算模塊
邏輯運算模塊完成全站聯鎖關系的運算,采用聯鎖表的方式進行邏輯計算。即由聯鎖表生成配置文件,在運算過程中按照聯鎖關系采集和驅動相應設備,當設備狀態與聯鎖表狀態完全吻合后開放信號,進路辦理成功。
邏輯運算模塊流程包括辦理進路流程和進路檢查流程,如圖4、5所示。邏輯運算模塊與安全息息相關,所以采用了安全編程技術,對所有變量進行編碼;并向安全側賦初值,運算過程中實時進行數據校驗,保證其安全性。
圖4 辦理進路流程
圖5 進路檢查流程
2.2.2 環境仿真模塊
由于聯鎖軟件在執行過程中需要采集和驅動很多開關量,而軟件在單機上運行時不具備該條件,故在軟件中加入環境仿真模塊,以此來模擬該站繼電器的狀態,保證聯鎖軟件在任何環境下都可以運行。
環境仿真部分采用二級緩沖技術,即將該模塊作為聯鎖軟件的二級緩沖區。聯鎖軟件采集的開關量首先存于該模塊中,再由聯鎖邏輯運算模塊讀取;聯鎖輸出的開關量首先存于該模塊中,再由該模塊驅動繼電器(如圖6所示)。
圖6 環境仿真的二級緩沖技術
采用這種方式的優點是:①在無外部設備時,該模擬作為外部設備的仿真,可以操作和改變其狀態,滿足聯鎖軟件的運行條件,保證聯鎖軟件正常運行;②在有外部設備時,該模塊執行對外采集和驅動的處理,聯鎖軟件及其配置文件無需作任何變動,適應能力強;③環境仿真模塊中加入設備仿真功能,可用軟件模擬設備動作過程,如在道岔動作時加入延時來模擬道岔動作過程。
環境仿真模塊流程如圖7所示。
2.2.3 采集和驅動模塊
圖7 環境仿真模塊流程
采集和驅動模塊負責聯鎖邏輯運算模塊的輸入和輸出。由于聯鎖軟件所有對外要采集和驅動的狀態均由環境仿真模塊完成,因此采集和驅動模塊只需完成與環境仿真模塊的數據交換即可。采集和驅動模塊定時(周期為250ms)對仿真環境模塊執行采集和驅動操作,實時性較高。采集和驅動模塊流程如圖8所示。
圖8 采集和驅動流程
2.2.4 顯示和操作模塊
為更清晰地展示上位機與下位機的關系,下位機軟件除完成運算外,還可顯示站場狀態,并可對站場進行狀態設置、設備單操、辦理進路等操作,完全復示上位機的顯示和操作。
站場狀態采用列表的方式進行顯示,每個列表中對不同類型的數據以不同的底色區分,清晰明了;站場數據的顯示以周期250ms實時更新。
對站場設備的操作使用了消息驅動機制,采用鼠標單擊、雙擊、鼠標右鍵菜單等方式,操作簡便。
2.2.5 記錄和回放模塊
下位機軟件集維修機的功能于一體,可實現狀態的記錄和回放。狀態記錄采用增量保存的方式對記錄的數據進行存儲,既保證信息的完整性,又確保了存儲的數據量最小。站場上任何設備狀態的變化和任何操作事件都會被記錄和回放模塊捕捉,并記錄變化部分狀態,以此實現存儲量的最小化。回放功能與記錄過程相反:該模塊根據用戶選擇的時間,將記錄文件中該時間之前的記錄逐條計算,得出該時間的實際狀態,并由顯示和操作模塊進行顯示。記錄和回放模塊流程如圖9所示。
圖9 記錄和回放模塊流程
2.2.6 通信模塊
通信模塊完成聯鎖軟件與上位機、CTC(分散自律調度集中)、列控中心和RBC的通信,采用UDP通信協議。數據發送采用250ms定時發送方式;數據接收采用事件驅動方式,當通信端口接收到數據后驅動數據處理函數。發送數據流程和接收數據流程如圖10、11所示。
圖10 發送數據流程
客運專線的聯鎖系統不僅要與CTC通信,還要與列控中心、RBC等列控設備通信。本聯鎖軟件預留了這部分接口,適合在任何線路上使用。
圖11 接收數據流程
(1)開放信號功能:可使用鼠標在上位機上直接按壓始終端按鈕選擇進路,也可使用下位機輸入進路始終端按鈕,辦理列車進路、調車進路和長調車進路,符合聯鎖條件后信號開放。信號因故關閉,但開放條件仍然滿足,可以重復開放信號。在下位機選中相應防護信號機,點擊右鍵菜單中“開放引導信號”,可開放引導信號。
(2)進路解鎖功能:進路建立后,可使用“總取消”、“總人解”解鎖進路;可用下位機模擬列車正常占用、出清,進路解鎖;軌道電路光帶保留,可使用“故障解鎖”方式解鎖進路。
(3)道岔的單操單鎖功能:在人機界面上,使用鼠標右鍵,選擇“總定(或總反)”,可以單扳道岔;需要對道岔進行單獨鎖閉時,使用鼠標右鍵,選擇“道岔區段鎖閉”即可。
(4)改變運行方向功能:根據列車運行情況,可采用正常改方和輔助改方兩種方法改變運行方向。正常改方時,發車站直接辦理發車進路即可;輔助改方時,發車站按壓“總輔助”+“發車輔助”按鈕,接車站按壓“總輔助”+“接車輔助”按鈕,即可改變運行方向。
(1)信息自動提示功能。上位機設有信息自動提示框,當有操作時,提示當前操作,自動顯示上位機和下位機通信狀態,如“通信正常”或“通信中斷”。
(2)記錄保存功能。該軟件可實現記錄自動保存和手動保存:系統在每天的00:00自動保存當天記錄;單擊界面 “保存記錄”按鈕,當前內存中的記錄即可存到文件中。
(3)回放再現功能。該軟件可查看當前記錄和歷史記錄。查看當前記錄:系統默認當前記錄,即內存中的記錄,拖動時間軸上的滑塊,在主界面各表中顯示當前時間的記錄。查看歷史記錄:通過下拉式列表框選擇記錄文件,列表框列出當前存在的記錄文件,選擇一個文件后,即可拖動時間軸的滑塊查看記錄。
(4)系統設置功能。為使軟件適用于既有線路和客專線路,可以對軟件中的參數進行設置,包括接近離去區段的個數、股道延時解鎖的時間、進路延時解鎖的時間和聯鎖信號開燈模式等。
(1)圖形化界面,清晰明了。
(2)站場圖形和配置數據采用配置文件,使該軟件具有通用性,可用于任何車站。
(3)充分利用鼠標功能,用右鍵菜單代替部分按鈕,使操作簡便,符合日常使用習慣。
(1)使用文件的方式配置數據,使軟件具有通用性,通過更換配置文件,可方便地生成其他站聯鎖軟件。
(2)具備現場環境仿真功能,可不依賴于室外設備而獨立運行,并可仿真室外設備。
(3)采用二級緩沖技術,實現了真實室外環境和仿真環境自適應功能,無需任何更改即可自動切換。
(4)具備顯示和操作功能,上位機的所有操作和顯示在下位機上均可實現,可在無上位機或上位機故障的情況下繼續使用。
(5)集維修機的功能于一體,可實現記錄及再現站場狀態和操作,用一個軟件實現了整個聯鎖系統的功能。
(6)具備與列控中心、RBC等列控設備通信的功能,適合在任何等級的線路上使用。
(7)按照客運專線標準,聯鎖增加了開/關燈模式,在列控C3模式時聯鎖處于關燈模式,在列控C2模式時處于開燈模式。
(8)軟件開發過程中秉承故障導向安全的思想,結合安全編程技術,使軟件具有較高的安全性。
(9)采用消息機制和多線程技術,保證了軟件的實時性。
計算機聯鎖仿真系統采用仿真的方法實現信號機、進路和道岔之間的聯鎖關系,人機界面貼近真實的聯鎖設備,可滿足鐵路院校和電務職工培訓基地的教學需要。另外,該軟件采用二級緩沖技術,具備真實室外環境和仿真環境的自適應能力,當室外設備條件具備時,無需做任何更改即可直接驅動采集室外設備,建成真實的計算機聯鎖站。
[1]趙志熙.微機聯鎖系統技術[M].北京:中國鐵道出版社,1995.
[2]王選.軟件設計方法[M].北京:清華大學出版社,1992.
[3]吳芳美.鐵路安全軟件測試評估[M].北京:中國鐵道出版社,2001.
[4]TB/T 3027—2002 計算機聯鎖技術條件[S].
[5]TB/T 2307—1992 電氣集中各種結合電路技術條件[S].
[6]何梅芳,段武,開祥寶,等.TYJLⅡ計算機聯鎖控制系統研究報告[R].北京:鐵道科學研究院,1997.
[7]王曉東.數據結構與算法設計[M].北京:電子工業出版社,2002.
[8]李鐵民,楊靜,張素華.軟件設計技法[M].北京:中國林業出版社,2000.