摘 要: 由于在教學中不能到控制臺上進行演練,,學生缺乏實踐經(jīng)驗,,因此設計了一個符合鐵道部相關技術標準的單線接發(fā)列車仿真系統(tǒng)。主要介紹了該系統(tǒng)的體系結構,、基于組件實現(xiàn)的關鍵技術以及仿真系統(tǒng)故障模擬的要點,。通過該系統(tǒng),教師可以設置實際運行中所發(fā)生的故障,,培養(yǎng)學生處理故障的能力,。
關鍵詞: 組件;故障,;仿真
0 引言
現(xiàn)如今對于鐵路仿真系統(tǒng)的進路排列,、聯(lián)鎖和進路解鎖算法的研究已有很多并已很完善,但是在此基礎上,,對于鐵路故障的仿真卻十分少見,。為了讓學生在校期間能充分了解鐵路列車系統(tǒng)設備組成,提高處理故障的能力,,保證鐵路運輸過程中的安全,本文設計了列車運行的故障仿真,。通過單線接發(fā)列車仿真系統(tǒng),,有助于學生體驗車務人員的日常工作流程,教師也可以通過教師機對學員機進行故障的設置,,提高學員隨機應對,、處理特殊情況的應急能力。
1 系統(tǒng)的體系結構
系統(tǒng)中每個實驗室各有沙盤一套(含3個車站),、沙盤接口系統(tǒng)一套,,圖1為單線鐵路仿真系統(tǒng)。系統(tǒng)由大屏幕顯示部分,、教師機(管理服務器),、學員機(操作機)、沙盤模型,、調度電話等部分組成,。單線接發(fā)列車仿真系統(tǒng)沙盤設A、B,、C三個站,,B站接大屏顯示。教師機可以對A,、B,、C三個站及區(qū)間設置故障。
教練機起著模擬站場設備狀態(tài)的作用,,如:設置信號故障,、道岔故障,、區(qū)段故障和模擬列車運行等,并可把這些狀態(tài)信息發(fā)送至學員機,。同時在學員機的對應設備上顯示其狀態(tài)信息,,來作為學員模擬站場故障的處理,以達到提高學員處理故障問題的能力,。教師機可以同時連接多臺學員機,,學員機與教師機之間的通信是雙向的,只有當學員機連上了教師機才可以進行全部操作,。教師機的主要界面如圖2所示,。
學員機起著仿真模擬現(xiàn)場計算機聯(lián)鎖系統(tǒng)(操作臺)的作用。學員機具有以下功能:接收教練機發(fā)送來的信號設備狀態(tài)信息(區(qū)段狀態(tài),、道岔狀態(tài)和信號機狀態(tài)等),,實現(xiàn)信號設備的聯(lián)鎖邏輯處理功能,完成進路確選,、鎖閉,、發(fā)出開放信號和動作道岔的控制命令。學員可以在學員機上學習正常和非正常時的處理方法,,培養(yǎng)解決故障的能力,。
2 仿真系統(tǒng)故障模擬的功能結構
根據(jù)列車在實際運行途中故障處理的標準操作流程,可以將單線接發(fā)列車仿真系統(tǒng)故障模擬分為故障的設置,、故障的處理,、故障的監(jiān)視、模擬列車的運行等步驟,。所以將單線接發(fā)列車仿真系統(tǒng)故障模擬分為5個模塊:聯(lián)鎖功能模塊,、聯(lián)鎖信息數(shù)據(jù)庫管理模塊、故障顯示模塊,、故障設置模塊和故障處理模塊,,各個模塊相輔相成。將意義相近的步驟整合到同一個模塊中,,各模塊之間相互獨立,,每個模塊完成自己的功能。這種分布的體系結構及模塊間的獨立性,,保證了系統(tǒng)具有良好的可擴展性[1-2],。圖3為故障模擬的功能模塊結構圖。
2.1 聯(lián)鎖功能模塊
該仿真培訓系統(tǒng)以聯(lián)鎖軟件模塊為基礎,,聯(lián)鎖軟件模塊通過數(shù)據(jù)庫模塊讀取數(shù)據(jù)庫的數(shù)據(jù),,進行相應的計算。同時聯(lián)鎖模塊通過計算故障顯示模塊傳來的操作信息,得到更新的顯示信息,,再更新數(shù)據(jù)庫中相對應的信息,。
2.2 聯(lián)鎖信息數(shù)據(jù)庫管理模塊
數(shù)據(jù)服務器用于存儲和維護系統(tǒng)所有的信息,是其他模塊的數(shù)據(jù)后臺,,可以為其他模塊提供數(shù)據(jù)提取和存儲服務,。在該仿真系統(tǒng)中,數(shù)據(jù)庫需要的數(shù)據(jù)分為靜態(tài)和動態(tài)兩種,。在程序運行前,,被手動輸入的數(shù)據(jù)就是靜態(tài)數(shù)據(jù),這些數(shù)據(jù)用來進行系統(tǒng)的初始化,,在程序運行的過程中不會發(fā)生變化,。關于區(qū)段、信號機,、道岔的位置之類的都是靜態(tài)數(shù)據(jù),。在運行了系統(tǒng)后,根據(jù)人員的操作,,不斷變化的列車信息,、信號機的狀態(tài)等都是動態(tài)的數(shù)據(jù)。
2.3 故障顯示模塊
故障顯示模塊提供了一個人機交互的界面,,使得該仿真培訓系統(tǒng)能夠靈活地適應不同的場景,。根據(jù)鐵路的現(xiàn)場情況,按照標準繪制站場圖,,使模擬環(huán)境和真實環(huán)境基本一致,包括信號機,、區(qū)段,、道岔的位置等。故障顯示模塊可以實時地提供列車運行的狀態(tài)信息以及故障信息的顯示,。
2.4 故障設置模塊
系統(tǒng)分為教師機和學生機兩大部分,,故障設置模塊是教師機的重要組成部分。在教師機上教師可以模擬故障設置,,設置的故障主要包括信號機故障,、區(qū)段故障、道岔故障等,。在這個模塊中還設計了與數(shù)據(jù)庫信息的邏輯操作,、教師機與學生機之間的通信以及故障設置的顯示。
2.5 故障處理模塊
故障處理模塊是學員機的核心部分,,它提供了故障處理的平臺,。學生機接收到教師機設置的故障后,根據(jù)每個故障的不同情況進行相對應的處理,,同時教師機上也可以看到學生的處理結果,。
3 關鍵技術的實現(xiàn)
3.1 組件的設計
站場圖是該仿真系統(tǒng)的主視圖,,繪制站場圖是開發(fā)該仿真系統(tǒng)的第一步。通過對實際站場圖的分析,,將整個站場圖劃分為幾個相對獨立的組件,,并將組件的不同顯示狀態(tài)封裝為組件不同屬性的設定或方法調用。這些組件統(tǒng)稱為站場圖組件[3],。
3.1.1 組件的劃分
站場圖組件是微機聯(lián)鎖仿真系統(tǒng)中可視組件的一部分,,它們分別對應于站場圖中的圖形元素。這些圖形元素可以通過改變顏色或者形狀來表達不同的含義,。通過對實際站場的分析,,提取出通用的站場組件,包括區(qū)段組件,、道岔組件,、信號組件等。
3.1.2 組件屬性的設計
組件的屬性分為以下兩類:靜態(tài)屬性和動態(tài)屬性,。靜態(tài)屬性是指使用組件進行站場圖設計或者界面設計時可以修改的一類組件屬性,,如道岔的朝向、區(qū)段的長短,、信號機的種類等,。動態(tài)屬性是指在繪制站場圖時無需設置的屬性或者設置默認的屬性,但在程序運行的過程中可以不斷更改的屬性,。組件的動態(tài)屬性主要包括區(qū)段占用,、故障、道岔的定反,、信號機的斷絲等,。這些動態(tài)屬性在故障仿真中起著重要作用。因為在仿真系統(tǒng)運行時由教師進行故障設置,,故障的表示用到了組件的動態(tài)屬性,。
3.1.3組件的實現(xiàn)
在該仿真系統(tǒng)中,將邏輯相對獨立,、使用頻率較高的模塊封裝成為ActiveX組件,。微軟的ActiveX技術遵循了COM組件定義的規(guī)范,ActiveX對象將只對外部提供嚴格規(guī)范的調用接口,。使用ActiveX組件技術來開發(fā)通用組件,,縮短了仿真培訓系統(tǒng)的開發(fā)周期,并使得軟件質量得到了可靠的保證,。在系統(tǒng)中利用VB開發(fā)了ActiveX組件,。因為在VB中,可以很好地解決透明問題,這樣在拼站場圖時就不存在組件之間的遮擋問題,。圖4為進站信號機,,方向是從左到右,名稱為X1,。信號機的名稱,、信號機的朝向等都是靜態(tài)屬性。信號機的故障類型等在仿真模擬時才會用到的屬性則是信號機的動態(tài)屬性,。
在編寫組件時,,第一步是按照現(xiàn)場的信號機樣子進行模擬,用程序把它畫出來,。信號機是用有顏色的圈圈和一個水平的“|—”組合表示的,。接著就是編寫信號機的各種屬性以及各種屬性所對應的各種信號機的狀態(tài)。以信號機的名字屬性作為例子來說明,。
?。?)通過ReadProperties來讀取ID屬性的值。
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_ID=PropBag.ReadProperty("ID",,def_ID)
End Sub
?。?)通過WriteProperties來保存ID屬性的值。
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("ID",, m_ID,, def_ID)
End Sub
(3)通過Get函數(shù)獲取信號機當前的ID,,再通過Let函數(shù)設置信號機新的ID名稱,。
Public Property Get ID() As String
ID=m_ID
End Property
Public Property Let ID(ByVal vNewValue As String)
Dim ss As String
ss=m_ID
m_ID=vNewValue
PropertyChanged "ID"
RaiseEvent CaptionChanged(ss, vNewValue)
UserControl.Refresh
End Property
編寫完組建后,,生成.ocx文件就可以在仿真系統(tǒng)中運用了,。圖5所示是編寫完成的信號機組件的一部分屬性。
3.2 聯(lián)鎖表的編制
聯(lián)鎖表反映了車站內的道岔,、進路和信號機之間的聯(lián)鎖關系。根據(jù)站場圖,,按照信號機排列順序列出本站可辦理的所有進路,,按照這種進路的排列順序完成聯(lián)鎖表的編制。每條進路中聯(lián)鎖內容包括進路的始端信號機,、終端信號機,、道岔鎖閉、區(qū)段鎖閉,、敵對條件等,。
采用Accesss數(shù)據(jù)庫進行數(shù)據(jù)的存儲。在數(shù)據(jù)庫中主要存儲了關于信號機、道岔,、區(qū)段的信息,。以信號機為例,在數(shù)據(jù)庫中保存了信號機的Index(站場圖上的編號),、ID(站場圖上的名稱),、Type(0-進站、1-出站,、2-調車,、3-區(qū)間)、Direct(信號機的方向),、FirstQD(信號機朝向所對應的區(qū)段或者道岔),、JJQD(靠近信號機的區(qū)段或者道岔)、Difference(差置信號),、Apposition(并置信號)以及YH(所在咽喉)這些信息,。
3.3 故障仿真
3.3.1 故障的分類
在該模塊中故障主要有區(qū)段故障、信號機故障,、道岔故障,。其中區(qū)段故障有區(qū)段占用、區(qū)段故障,、區(qū)段壓不死等,;信號機故障有設置紅燈燈絲斷、設置黃燈燈絲斷,、設置白燈燈絲斷等,;道岔故障有道岔定反無表示、道岔定位無表示,、道岔反位無表示等[4],。
3.3.2 故障仿真的實現(xiàn)
故障仿真通過教師設置故障類型、故障的地點,,在站場視圖上模擬出故障,。當仿真軟件運行到故障發(fā)生時刻時,站場視圖上的相應設備組件會被設置成故障狀態(tài),,站場視圖上的其他設備也會做出相應狀態(tài)改變,。如信號機斷絲表示此處列車無法通過。要做到逼真的故障仿真,,就要保證其發(fā)生時,,站場視圖上的各設備狀態(tài)與故障現(xiàn)場一致。
在該仿真系統(tǒng)中道岔,、信號,、區(qū)段的操作和故障設置在對應設備的下拉菜單中,,圖6是信號機的下拉菜單。
以信號機的斷絲故障為例,,當顯示設置紅燈燈絲斷時,,先去找到相對應的斷絲故障的bit位,并對該位置進行設置,。
Public Sub SetXHErr(ByVal Index As Integer,, ByVal DW As Integer, blnFlag As Boolean)
Dim oldXHErr As Boolean
oldXHErr=frmMain.XH(Index).Error Or frmMain.XH(Index).Fault
If blnFlag Then
Select Case DW
Case 1 ′紅
frmMain.XH(Index).ErrDW1 = True
If Not FindBit(Index,, 0) Then
SetBit Index,, 1, False
SetBit Index,, 2,, False
End If
SetBit Index, 7,, True
………………………….
ShowSpecialErrInfo XHInfo(Index).YH
End Sub
ShowSpecialErrInfo函數(shù)實現(xiàn)了對故障的顯示,,并且把發(fā)現(xiàn)故障的信號機加入到故障信息列表里,以便于后面的查看,。
4 結論
單線接發(fā)列車仿真系統(tǒng)為學生提供了一個逼真的實訓環(huán)境,。該系統(tǒng)的故障模擬有助于學生體驗車務人員的日常工作流程,教師也可以對學生進行故障的設置,,提高學員隨機應對,、處理特殊情況的應急能力。
參考文獻
[1] 趙根苗,,陳永生.ATS仿真培訓系統(tǒng)的設計與實現(xiàn)[J].城市軌道交通研究,,2004,7(1):55-57.
[2] 魯也傳,,陳永生,,郭玉臣.基于通信的列車自動監(jiān)控系統(tǒng)平臺設計與實現(xiàn)[J].計算機應用,2009,,29(S2):152-15.
[3] 王野,,郭秀清.基于組件技術的列車自動監(jiān)控仿真系統(tǒng)開發(fā)平臺[J].計算機應用,2007,,27(z2):286-288.
[4] 張耀方.CRH3型動車組故障仿真訓練系統(tǒng)的研究[D].北京:北京交通大學,,2012.