王大衛(wèi),白廣爭
(西南交通大學信息科學與技術(shù)學院, 成都610031)
鐵路防災系統(tǒng)是對危及列車運行安全的自然災害(風、雨、地震、異物侵限等)進行實時監(jiān)測;對各種監(jiān)測信息進行分析、處理、匯總,判定設(shè)備安全隱患、災害及故障的類型、性質(zhì)和級別;實時顯示經(jīng)處理后的信息及災害預警、限速、停運、恢復運營等處理建議,為運營調(diào)度中心調(diào)整運行計劃,下達行車管制、搶險救援、維修等指令提供依據(jù)。風、雨災害是鐵路防災系統(tǒng)中最常見的自然災害,對此數(shù)據(jù)信息的分析判斷是鐵路防災系統(tǒng)中數(shù)據(jù)處理的重要部分。
所謂報警閾值,就是達到某一個報警級別時的數(shù)值。報警閾值設(shè)定是否合理,直接關(guān)系到報警判斷的質(zhì)量。
在借鑒國外報警標準的基礎(chǔ)上,目前暫時按照《京津城際鐵路技術(shù)管理暫行辦法》(鐵科技〔2008〕99號)第170條規(guī)定進行報警閾值判斷:列車在環(huán)境風速(以下同)不大于15 m/s時,發(fā)出正常信息;風速不大于20 m/s時,發(fā)出四級風速報警;風速不大于25 m/s時,發(fā)出三級風速報警;風速不大于30 m/s時,發(fā)送二級風速報警;風速大于30 m/s時,發(fā)出一級風速報警。
雨對列車運行的危害有著不同于風的特點。一般而言,雨持續(xù)時間長,對列車運行造成危害的是積累的雨量,而不是瞬時的雨量。所以對雨量閾值的設(shè)定需要根據(jù)雨的這個特點,設(shè)定出合理的閾值。
根據(jù)《京津城際鐵路技術(shù)管理暫行辦法》標準,采取小時降雨量+24 h降雨量監(jiān)測報警:小時降雨量大于30 mm、24 h降雨量小于150 mm時為三級報警,小時降雨量小于30 mm、24 h降雨量大于150 mm時為二級報警,小時降雨量大于30 mm且24 h降雨量大于150 mm時為一級報警。
現(xiàn)實中的風很多是瞬時的,風速也多是波動的,我們采集到的風速可能是某一時間的瞬時值。當風速在報警閥值附近短暫或頻繁波動時,如何濾掉瞬時風速報警,避免誤報,是需要研究的問題。本文的解決方案是當風速達到報警臨界值時,并不立刻報警,而是經(jīng)過一定判斷后再進行報警。這種判斷的核心思路是:判定瞬時風速后還要結(jié)合前幾秒的風速數(shù)據(jù)共同來判定是否進行報警,結(jié)合前幾分鐘的數(shù)據(jù)來判定是否解除報警及是否降低報警,即要看此時風速的趨勢,而并不針對該瞬時風速值作為單一的報警條件。
風速報警判斷流程圖如圖1,圖中報警等級LV分為0、1、2、3、4,分別對應無報警、四級報警、三級報警、二級報警、一級報警。
圖1 風速報警判斷流程圖
雨量報警相對而言要簡單一些,因為雨量和風速不同,短時間的大雨只要積累的雨量足夠大,也足以形成報警,不需要也不能過濾掉,所以報警可以完全按照采集到的雨量數(shù)據(jù)進行雨量報警。因為積累的雨量不會在短時間內(nèi)消失,所以解除雨量報警的時機應該多延遲一段時間,該時間在文中設(shè)定為小時降雨量與24 h降雨量均低于報警值時解除報警。
雨量報警采用24 h降雨量加小時降雨量監(jiān)測報警,所以雨量報警等級和報警判斷要綜合考慮24 h降雨量和小時降雨量,其報警判定流程圖如圖2。
圖2 雨量報警判斷流程圖
本文以VS2008為開發(fā)平臺,采用C#語言開面向?qū)ο笳Z言,代碼規(guī)范,使用方便,開發(fā)效率高高。
由于不具備采集實際風雨數(shù)據(jù)的條件,本軟件采取人工輸入數(shù)據(jù)的方式來提供數(shù)據(jù)。為了更接近自然風的數(shù)據(jù),本軟件的風速數(shù)據(jù)輸入采用范圍值,即通過輸入風速上限和下限來提供風速上下限之間的隨機風速值。實際情況中雨量數(shù)據(jù)的采集需要很長的時間,本軟件為便于實現(xiàn)與驗證,故采取輸入小時降雨量的方法提供雨量數(shù)據(jù)??紤]到實際采集到的雨量值都是積累值,即一定時間的降雨量,所以此方法具有很高的實用性。按照一般報警顏色的設(shè)定,本軟件將4個風速報警等級的顏色依次設(shè)定為藍、黃、橙、紅,危險等級依次遞增,綠色表示無報警。3個雨量報警等級分別用天氣預報中的小雨、中雨、大雨圖標表示,危險等級依次遞增,無報警為晴天圖標。軟件界面設(shè)計如圖3。
由于風速信息涉及到時間,所以將風速信息封裝成一個類WindData,此類包含風速信息和收到風速信息的時間信息。為了方便處理數(shù)據(jù),建立了以下List列表:
List
圖3 風雨報警判斷初始界面
List
List
List
List
List
List
每次接收到瞬時風速數(shù)據(jù)時,首先建立一個WindData類的實例:
WindData wd = new WindData();
然后給此實例的風速信息和時間信息賦值,風速信息即為收到的瞬時風速數(shù)據(jù),時間信息即為當前時間。然后將此實例添加到WList中:WList.Add(wd),再根據(jù)此實例的風速大小將此實例添加到WList0~WList4中的其中之一中。
當進行風速報警判斷需要統(tǒng)計某段時間內(nèi)不同報警等級的風速次數(shù)時,用foreach語句檢索各個List中的成員,當此成員的時間在之前某段時間內(nèi)時,統(tǒng)計量加1。最后通過統(tǒng)計量按照判斷流程得出風速報警等級。
每次接收到小時降雨量rain時,將其添加到RList中:RList.Add(rain),當進行雨量報警判斷時,首先判斷當前小時降雨量,再判斷RList的前24 h降雨量之和(即24 h降雨量),最后結(jié)合2次的判斷得到降雨量報警等級。
風速范圍設(shè)定為24 m/s~31 m/s,這個范圍的風為12.5%的三級報警風、12.5%的一級報警風和75%的二級報警風,濾除少量瞬時的三級報警風和一級報警風,風速報警應為二級。連續(xù)輸入5次31 mm的小時降雨量后,24 h降雨量為155 mm,此時雨量報警等級應為一級。判斷界面如圖4。
圖4 風雨報警界面
本文參考《京津城際鐵路技術(shù)管理暫行辦法》,提出了一個鐵路防災系統(tǒng)中風雨報警判斷的算法,并用計算機語言實現(xiàn)了這個算法,具有較好的實用性。為驗證實現(xiàn)的正確性,設(shè)計了一個簡單的界面來顯示判斷結(jié)果。由于采集實際數(shù)據(jù)的代價高,耗時長,本設(shè)計的數(shù)據(jù)采用人工仿真輸入方法。
[1] 張學兵,樊艷,張繼峰. 鐵路防災安全監(jiān)控系統(tǒng)在京津城際鐵路中的應用[J] . 中國鐵路,2009(11):18-20.
[2] 鐵道部. 京津城際鐵路技術(shù)管理暫行辦法[S] . 2008 .
[3] 劉麗霞,李俊民,等. C#范例開發(fā)大全[M] . 北京:清華大學出版社,2010.