APP下载

小流域水情测报系统雨水情监控及预警程序的开发与应用

2022-08-10蒲博文

西北水电 2022年3期
关键词:水情测报雨水

蒲博文,赵 毅

(1.中国电建集团西北勘测设计研究院有限公司,西安 710065;2.陕西镇安抽水蓄能有限公司,西安 710000)

0 前 言

当前水情测报系统在中国水利水电工程的建设过程中有着广泛的应用,在工程防洪度汛过程中发挥着重要作用。服务于小流域的水情测报系统大都结构较为简单且规模较小,遥测站网规模大多在几个到十几个不等,配置的作业软件功能单一,虽然实现了雨水情数据自动采集、传输和处理,但中心站仍然主要靠人工查询来获取数据,获取数据后,还需进行手动处理,才能对外发布,这种模式下遇到暴雨洪水极端天气很难做出快速反应。

近年来极端天频繁发生,短历时和局部强降雨出现的次数也逐渐增多,这个现象在小流域上表现的更为突出。由于小流域面积小,汇流时间短,强降雨形成的洪水大多峰高量大且预见期短,严重影响工程汛期建设安全,甚至危及人民生命财产安全。因此,在防汛值班过程中,工作人员需要在机房24 h连续值守监控雨水情数据,工作量大、效率低、极大的浪费人力物力。

为此已有不少水文工作者提出了很多解决方案[1-9],比如通过短信、电话进行预警信息推送[1,2,5],这两种方式虽在一定程度上提高了工作效率,但是在遥测站较多时,纯文字和语音方式不够直观,在汛期高密度的雨水情数据和预警信息推送下,发送短信和电话通知的成本也将大大增加。

为了更好的解决这个问题,本文以位于陕南的在建镇安抽水蓄能电站为例,依托电站已有水情测报系统数据库,采用C/S架构开发了一款基于VB.NET编程语言的windows桌面应用程序[11],通过程序界面对雨水情数据直观展示和实时更新,通过设定雨量、水位(流量)预警阈值进行自动声音、文字报警[6-9],实现预警信息快速发布。

1 程序结构模式

程序的运行主要依靠水情数据库的支持,当业务模块给程序下达指令后,程序通过服务器与数据库连接并获取数据,之后程序通过自动计算、预警阈值分析对比得到结果,最后将结果显示在前端UI界面。程序为用户提供直观的人机交互平台,启动后完全自动化运行,有效减少了工作人员的频繁操作,降低了工作强度,增加防汛过程中的反应时间,大幅提升工作效率。程序结构模式见图1。

图1 程序结构模式

2 程序功能模块

程序在满足数据监控和预警的基础上,结合电站施工期的防汛要求和系统日常运维要求,还增加了数据查询、水情日、周报和通信监控等模块,程序主界面见图2。

图2 程序主界面

2.1 登录和程序配置模块

登录模块通过验证用户账号、密码和类型,来决定是否能进入程序主界面,同时针对不同类型的用户,在主界面所拥有的权限也有所区别。

程序配置模块主要包括数据库配置和参数配置两部分,数据库配置方便了程序在水情测报系统局域网和外网的使用,在外网端口开放的情况下,外网PC也可以安装程序进行远程监控,方便调度指挥中心和施工单位的防汛值班人员获取信息。

2.2 数据监控模块

程序主界面即数据监控模块,在数据库已配置且验证连接成功后,按下启动按钮开启实时监控。启动后会显示包括雨情、水情以及气象数据在内的所有实时数据,并且对雨情、水情数据二次加工以显示不同时段降雨和水位变化趋势。在程序参数设置中工作人员可自定义设置自动获取数据频率,最高可设置为每1 min获取一次数据。

2.3 数据查询模块

支持查询遥测站任意时段的历史数据,并有图表显示,同时支持查询到的数据导出到Excel表格。模块界面见图3。

图3 数据查询模块

2.4 实时过程线模块

能自动查询系统内遥测站最近24 h数据,通过图表展示,并每5 min进行一次更新。模块界面见图4。

图4 数据查询模块

2.5 通信监控模块

用于监控遥测站传送到中心站的数据量和实时电压等状态数据,通过设定好的数据缺失和电压阈值等参数来判断遥测站运行情况,模块界面通过流域模型图显示各遥测站位置、实时数据和风险处置建议,该模块有助于运维管理人员快速查看并掌握系统运行状态,当发生故障时能及早发现并处置,进而保证系统在暴雨期间的运行可靠性。模块界面见图5。

图5 通信监控模块

2.6 水情日、周报模块

这两个模块打开后默认显示经过程序计算加工过的过去1 d、1周的雨水情信息,同时通过日期选择功能可以查询过去任意1 d、1周的信息。模块界面见图6。

图6 水情日报模块

3 程序功能的实现

3.1 开发软件选用

程序开发采用微软公司的Visual Studio2019开发软件,利用VB.NET设计语言在Framework4.5框架基础上完成开发,VB.NET是完全面向对象的编程语言,其中包含了大量windows控件模块,使得程序设计较为简单,且具有强大的数据库访问功能,非常适合该程序开发。

3.2 遥测数据获取

程序实现数据监控和预警等一系列功能的关键点在于数据获取,只有在获取准确的数据后才能进行其它功能的开发和实现。所以连接并访问水情数据库对整个程序来说是最重要的一步,该电站水情测报系统数据库采用微软公司SQL Server2012数据库来存储和管理各类型数据。ADO.NET[12]是一组包含在.NET框架中的类库,用于.NET应用程序各种数据存储之间的通信。以下简单展示VB.NET编程语言结合ADO.NET类库实现连接数据库并执行查询的代码:

Imports System.Data.SqlClient '申明名称空间(实现对SQL Sever7.0及以上版本数据库程序访问)Dim cn As SqlConnection '定义连接对象Dim da As SqlDataAdapter '定义DataAdapterDim ds As DataSet '定义DataSetDim cnStr As String ="Data Source=" & 数据源 & ";Initial Catalog=" & 数据库 & ";Integrated Security=False;User ID=" & 用户名 & ";Password=" & 密码 & ";" '定义连接数据库的字符串cn = New SqlConnection(cnStr) '实例化数据库连接对象cn.Open() '打开连接报文查询 = "select count(PointID) from dbo.RealAppData where PointID=" & Point-ID(i) & " and DataTime between '" &DateAdd("h", -24, 当前时间) & "' and '" & 当前时间 & "'" '数据库查询条件da = New SqlDataAdapter(报文查询, cn) '新的数据适配实例ds = New DataSet() '新的数据集da.Fill(ds, "RealAppData") '将数据适配器查询到的数据写入数据集cn.Close() '关闭连接

数据库连接成功后就可以按需查询数据,也可根据入库数据量来判断是否缺失数据,还可根据入库的遥测站状态参数来判断遥测是否故障。获取数据后再将数据按照需要的格式进行计算加工,让其显示在程序界面上,最后增加定时查询功能即可实现数据自动化更新。

3.3 预警指标确定

预警指标[10]确定是实现预警的重要环节,指标过高或过低都会影响预警功能的发挥,因此指标的合理性对预警功能是否发挥作用有很大影响。预警指标主要有雨量指标和水位指标,一般按照两项指标相结合来设置,结合水情测报系统历史的实测水位资料设定水位指标,结合国家暴雨应急响应标准和工程设计暴雨标准设定雨量指标。

为了使预警更人性化,程序设置3个选项,分别为开始降雨报警、水位超阈报警和达到响应报警,选中选项才会报警,报警会通过语音播报和底部状态栏同步展示,这么做的目的是实现按需报警。比如某次降雨很大,起初3个选项全部勾选,当开始降雨后通过报警消息值班人员已经进入值班状态,就没必要再报警提醒开始降雨了,可以关闭此选项,同理当水位已经超阈值或降雨量已经到达启动防汛应急响应的指标,触发报警后也可以关闭选项,使得报警不那么频繁。

3.4 雨水情及预警信息发布

通过以上功能已经实现了雨水情数据实时监控和预警,但还未涉及信息的发布,随着社会经济水平的日益进步,智能手机越来越普及,由此兴起的微信、QQ等即时通信软件使用越来越广泛,在镇安抽水蓄能电站应用过程中程序借助电站参建各方的微信防汛工作群,将实时数据和预警信息自动截图发布到微信群中,实现了雨水情数据和预警信息的快速发布和共享,程序截图数据相比短信和电话播报,具有简明直观,便于查看的特点,同时还省去以短信、电话为媒介传递信息的高昂费用。

4 程序的应用

镇安抽水蓄能电站工程所在的月河流域位于陕南暴雨中心,汛期经常发生短历时强降雨,坝址以上流域面积181 km2,由于陕南植被较好,土壤含水量较高易饱和,因此发生强降雨时雨水会快速顺着坡面、沟壑汇入主河槽,形成的洪水峰高量大且预见期短,给工程防洪度汛增加了很大难度。

该程序于2020年汛前初步完成开发,2020年汛期开始试用,从试用结果来看,基本实现了实时雨水情监控和预警的既定目标,自动化运行有效缓解了值班人员的工作压力,提升了工作效率,程序的通信情况监控功能也为运维人员检查系统运行工况提供了快速通道,数据查询、实时过程线和日报、周报模块也给值班人员查阅不同信息提供了便利。但也暴露了一些问题,由于最初设计时未引入多线程运行方式[13],在多界面同时打开时有概率出现运行重叠,造成程序卡顿报错。对暴露的问题,在汛后也及时完成升级消缺。

2021年汛期陕南雨水充沛,月河流域暴雨频发,平时流量在1~5 m3/s的月河多次发生洪峰超过100 m3/s洪水,其中以8月22日6时32分出现的320.3 m3/s的洪峰为最大,在这场洪水中该程序长时间以高强度运行,逐小时滚动发布实时雨水情信息,在数据触发预警阈值时自动报警并发布预警信息,电站综合调度指挥中心根据预警信息在8月22日凌晨3点启动防汛四级应急响应,安排施工单位撤离河道沿线人员机械,同时组织应急抢险队伍进入待命状态。得益于预警及时和调度指挥中心决策果断,整场洪水过程中除一些临时道路和防护设施被冲毁外,用于工程建设的机械设备和人员均无损伤。

2021年月河共发生16场洪水,对电站拦沙坝及挡水坝等施工产生了严重影响,在整个防汛过程中该程序均及时准确的提供了雨水情信息和预警信息,综合调度指挥中心多次根据预警信息调整施工计划,安排人员和机械设备撤离,使工程受洪水影响的损失降到最低,程序发挥的作用也得到参建各方认可。

5 结 论

(1) 程序通过设置监控频率和预警阈值,实现了雨水情信息自动监控和预警,达到了缓解值班人员工作压力、减轻工作量、提升工作效率的目的。

(2) 程序的通信监控模块为系统故障排查提供了快速通道,实现了系统运行状态一键掌握,提升了运维管理人员的工作效率。

(3) 程序的信息发布模块打破常规,创新性的与即时通讯软件相结合,在实现数据信息快速发布和共享的基础上省去了短信、电话发布信息的高昂费用,取得了显著的经济效益。

(4) 程序的数据查询、日报、周报等模块让程序功能更为全面,实现了一专多能,提高了程序满足不同场景下业务需求的能力。

(5) 程序开发过程中,以安装简便、占用内存小、运行时低CPU占用率、能在不同性能Windows设备上部署为目标,通过反复调试验证,在长时间运行下,程序持续保持稳定流畅、不卡顿,达到了适用性广、可靠性高的效果。

现在该程序已成为陕西省镇安抽水蓄能电站水情测报系统不可或缺的一部分,在电站防汛过程中发挥着重要作用。同时该程序也为其它小流域水情测报系统的自动化改造提供了新思路,并成功在其他电站推广使用,后续该程序还将结合工程实际继续探索优化,使之在水情测报系统中发挥更大的作用。

猜你喜欢

水情测报雨水
农事 雨水
如果雨水先唤醒清明
农事 雨水
曹新刚
曹新刚
影响地面测报工作质量的因素分析及质量控制
影响地面测报工作质量的因素分析及质量控制
影响地面测报工作质量的因素分析及质量控制
天祝县地面测报工作中存在的问题及应对措施
雨水