铁路防灾系统中风雨报警判断的算法实现

2012-08-06 09:38王大卫白广争
铁路计算机应用 2012年8期
关键词:雨量降雨量防灾

王大卫,白广争

(西南交通大学信息科学与技术学院, 成都610031)

铁路防灾系统是对危及列车运行安全的自然灾害(风、雨、地震、异物侵限等)进行实时监测;对各种监测信息进行分析、处理、汇总,判定设备安全隐患、灾害及故障的类型、性质和级别;实时显示经处理后的信息及灾害预警、限速、停运、恢复运营等处理建议,为运营调度中心调整运行计划,下达行车管制、抢险救援、维修等指令提供依据。风、雨灾害是铁路防灾系统中最常见的自然灾害,对此数据信息的分析判断是铁路防灾系统中数据处理的重要部分。

1 报警阈值的设定

所谓报警阈值,就是达到某一个报警级别时的数值。报警阈值设定是否合理,直接关系到报警判断的质量。

1.1 风速报警阈值的设定

在借鉴国外报警标准的基础上,目前暂时按照《京津城际铁路技术管理暂行办法》(铁科技〔2008〕99号)第170条规定进行报警阈值判断:列车在环境风速(以下同)不大于15 m/s时,发出正常信息;风速不大于20 m/s时,发出四级风速报警;风速不大于25 m/s时,发出三级风速报警;风速不大于30 m/s时,发送二级风速报警;风速大于30 m/s时,发出一级风速报警。

1.2 雨量报警阈值的设定

雨对列车运行的危害有着不同于风的特点。一般而言,雨持续时间长,对列车运行造成危害的是积累的雨量,而不是瞬时的雨量。所以对雨量阈值的设定需要根据雨的这个特点,设定出合理的阈值。

根据《京津城际铁路技术管理暂行办法》标准,采取小时降雨量+24 h降雨量监测报警:小时降雨量大于30 mm、24 h降雨量小于150 mm时为三级报警,小时降雨量小于30 mm、24 h降雨量大于150 mm时为二级报警,小时降雨量大于30 mm且24 h降雨量大于150 mm时为一级报警。

2 报警判断

2.1 风速报警判断

现实中的风很多是瞬时的,风速也多是波动的,我们采集到的风速可能是某一时间的瞬时值。当风速在报警阀值附近短暂或频繁波动时,如何滤掉瞬时风速报警,避免误报,是需要研究的问题。本文的解决方案是当风速达到报警临界值时,并不立刻报警,而是经过一定判断后再进行报警。这种判断的核心思路是:判定瞬时风速后还要结合前几秒的风速数据共同来判定是否进行报警,结合前几分钟的数据来判定是否解除报警及是否降低报警,即要看此时风速的趋势,而并不针对该瞬时风速值作为单一的报警条件。

风速报警判断流程图如图1,图中报警等级LV分为0、1、2、3、4,分别对应无报警、四级报警、三级报警、二级报警、一级报警。

图1 风速报警判断流程图

2.2 雨量报警判断

雨量报警相对而言要简单一些,因为雨量和风速不同,短时间的大雨只要积累的雨量足够大,也足以形成报警,不需要也不能过滤掉,所以报警可以完全按照采集到的雨量数据进行雨量报警。因为积累的雨量不会在短时间内消失,所以解除雨量报警的时机应该多延迟一段时间,该时间在文中设定为小时降雨量与24 h降雨量均低于报警值时解除报警。

雨量报警采用24 h降雨量加小时降雨量监测报警,所以雨量报警等级和报警判断要综合考虑24 h降雨量和小时降雨量,其报警判定流程图如图2。

图2 雨量报警判断流程图

3 报警判断的软件实现

本文以VS2008为开发平台,采用C#语言开面向对象语言,代码规范,使用方便,开发效率高高。

3.1 设计方案

由于不具备采集实际风雨数据的条件,本软件采取人工输入数据的方式来提供数据。为了更接近自然风的数据,本软件的风速数据输入采用范围值,即通过输入风速上限和下限来提供风速上下限之间的随机风速值。实际情况中雨量数据的采集需要很长的时间,本软件为便于实现与验证,故采取输入小时降雨量的方法提供雨量数据。考虑到实际采集到的雨量值都是积累值,即一定时间的降雨量,所以此方法具有很高的实用性。按照一般报警颜色的设定,本软件将4个风速报警等级的颜色依次设定为蓝、黄、橙、红,危险等级依次递增,绿色表示无报警。3个雨量报警等级分别用天气预报中的小雨、中雨、大雨图标表示,危险等级依次递增,无报警为晴天图标。软件界面设计如图3。

3.2 软件实现

由于风速信息涉及到时间,所以将风速信息封装成一个类WindData,此类包含风速信息和收到风速信息的时间信息。为了方便处理数据,建立了以下List列表:

List Wlist = new List

图3 风雨报警判断初始界面

();

List Wlist0 = new List

();

List Wlist1 = new List

();

List Wlist2 = new List

();

List Wlist3 = new List

();

List Wlist4 = new List

();

List Rlist=new List();Wlist为所有收到的风速信息的List,Wlist0为收到的小于15 m/s的风速信息List,Wlist1为收到的小于20 m/s的风速信息List,Wlist2为收到的小于25 m/s的风速信息List,Wlist3为收到的小于30 m/s的风速信息List,Wlist4为收到的大于30 m/s的风速信息List,Rlist为收到的雨量数据List。

每次接收到瞬时风速数据时,首先建立一个WindData类的实例:

WindData wd = new WindData();

然后给此实例的风速信息和时间信息赋值,风速信息即为收到的瞬时风速数据,时间信息即为当前时间。然后将此实例添加到WList中:WList.Add(wd),再根据此实例的风速大小将此实例添加到WList0~WList4中的其中之一中。

当进行风速报警判断需要统计某段时间内不同报警等级的风速次数时,用foreach语句检索各个List中的成员,当此成员的时间在之前某段时间内时,统计量加1。最后通过统计量按照判断流程得出风速报警等级。

每次接收到小时降雨量rain时,将其添加到RList中:RList.Add(rain),当进行雨量报警判断时,首先判断当前小时降雨量,再判断RList的前24 h降雨量之和(即24 h降雨量),最后结合2次的判断得到降雨量报警等级。

3.3 实现验证

风速范围设定为24 m/s~31 m/s,这个范围的风为12.5%的三级报警风、12.5%的一级报警风和75%的二级报警风,滤除少量瞬时的三级报警风和一级报警风,风速报警应为二级。连续输入5次31 mm的小时降雨量后,24 h降雨量为155 mm,此时雨量报警等级应为一级。判断界面如图4。

图4 风雨报警界面

4 结束语

本文参考《京津城际铁路技术管理暂行办法》,提出了一个铁路防灾系统中风雨报警判断的算法,并用计算机语言实现了这个算法,具有较好的实用性。为验证实现的正确性,设计了一个简单的界面来显示判断结果。由于采集实际数据的代价高,耗时长,本设计的数据采用人工仿真输入方法。

[1] 张学兵,樊艳,张继峰. 铁路防灾安全监控系统在京津城际铁路中的应用[J] . 中国铁路,2009(11):18-20.

[2] 铁道部. 京津城际铁路技术管理暂行办法[S] . 2008 .

[3] 刘丽霞,李俊民,等. C#范例开发大全[M] . 北京:清华大学出版社,2010.

猜你喜欢
雨量降雨量防灾
宁夏红柳沟流域水沙变化及产沙分析
家庭防灾应该囤点啥?
地质灾害防灾避险小常识
资水流域及各分区面雨量及雨季特点分析
来安县水旱灾害分析与防灾措施探讨
防灾减灾 共迎丰收之季
故宫防灾的“超强铠甲”
德州市多年降雨特征分析
降雨量与面积的关系
降雨量