APP下载

基于C#的雨水情监控系统的设计与实现

2014-03-08杨慧杰

自动化与仪表 2014年7期
关键词:通信协议降雨量水泵

杨慧杰

(天津市西青区水务局,天津 300380)

洪涝灾害众所周知,建立以防汛为目的的雨水情监控自动化,可以优化相关人员的工作方式,有效避免不必要的人力、物力的损失,提高工作效率,为科学、及时地进行防洪调度提供坚实基础。采用雨水情监控系统,可以实时掌握排水站的工作情况、降雨量和河道水位,分析处理采集到的数据并自动生成相关报表;通过和历年数据信息比较,为下一步的防汛工作给予决策支持,为工程和相关地区提供安全保障,为管理部门多层次信息管理和决策提供科学依据,为防汛工作发挥出更大的作用。目前该系统已在天津市西青区运行使用,反应良好。

1 系统结构

雨水情监控系统集成多种自动化仪表设备用于实现排水站水泵运行状况、降雨量以及河道水位等数据信息的实时监控、采集和存储,对数据库中基础数据进行统计分析输出相应报表,实时发布在Web页面上。分布式组织作为该系统的架构,各个部分以独立或组合形态存在。雨水情监控系统分为遥测设备,无线通信模块,雨水情监控系统终端和服务器4个部分。雨水情监控系统示意图如图1所示。

图1 雨水情监控系统示意图Fig.1 Hydrology development and rainfall monitoring of system detection

遥测设备负责监控地域内数据采集和水情状况实时监测的工作。此外,遥测设备中的RTU还负责信息数据的处理和上传。

雨水情监控系统中无线通信模块采用自定义通信协议实现数据的接收和发送功能。GPRS模块收集RTU的串口数据;视频无线传输模块负责将视频上传到监控终端,响应监控终端的控制请求来控制摄像机的拍摄角度。

采用Ajax技术的监控终端负责雨、水信息数据的可视化查询、发送设备远程控制指令、存储传感器数据到服务器。用户可以通过普通电脑访问监控终端网页,查询监控系统采集到的数据,生成和打印相关统计报表,远程控制摄像机的拍摄角度。

服务器分为数据服务器和视频服务器。数据服务器以SQL Server 2008[1]作为数据库平台,存储监控地域内站点信息和传感器数据,使分析统计报表和历史数据查询成为可能。视频服务器即硬盘录像机存储站点摄像机拍摄的照片和录像,满足用户对历史水文状况影像的需求。

2 系统设计

2.1 Ajax技术应用

Ajax[2]是采用客户端脚本与Web服务器进行数据交换的一组技术,全称是AsynchronousJavaScript+XML。主要包括XHTML和CSS:文档对象模型作为动态显示和交互;XML和XSLT作为数据交互和操作MLHttpRequest进行异步数据接收;JavaScript进行绑定。

Ajax提供了与服务器进行异步通信的能力,可以使用户跳出请求/响应的循环。即在浏览页面内与服务器通信,对数据库进行查询或更新,不必整体刷新页面,减少数据传输量,提高Web应用的响应速度,这样就可以单独间隔5 s刷新显示雨、水情实时状况的页面,避免不必要页面的刷新,降低系统对硬件设施的资源占有率,保证系统的实时性。

由于可以在页面内与服务器进行通信,智能化的客户端控件(例如数据表格)的构建成为可能,因此雨水情统计报表的生成、flash曲线展示可以轻松实现,为用户提供图形化界面,方便用户的操作。

另外,由于智能化的客户端控件具有自己的属性、方法和事件,藉此可以创建直观可用、丰富动态的Web用户接口界面,在满足用户需求的条件下可以编辑出更加直接、美观的页面。

2.2 通信协议

观测站点的遥测设备通过无线通讯模块和中心站的监控系统终端交互数据。为了满足不同用户的数据需求,因此设计合理的通信协议[3]成为必要。由于该监控系统重点涉及到排水站水泵运行信息和实时降雨量信息的传输,同时基于建设成本的考虑,只对这两种数据的传输通信协议作了设计。

水泵运行信息数据传输通信协议如表1所示。

表1 水泵运行信息数据传输通信协议Tab.1 Transmission communication protocol of pump operating information data

实时降雨量信息数据传输通信协议如表2所示。

表2 实时降雨量信息数据传输通信协议Tab.2 Transmission communication protocol of realtime rainfall information data

雨水情监控系统采用自己定义的协议来传输数据,这样既可以满足不同用户的需求,量身打造用户自己的系统,使系统变得多样化,适应性和可移植性更强;又可以避免不必要数据的传输,节约传输资源,降低系统的建设成本。同时自定义传输数据的通信协议还可以使雨水情监控系统的安全性得到增强,防止国家水文信息的泄漏。

2.3 数据库

SQL Server 2008是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQL Server 2008数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

雨水情监控系统创建了名为DBTempretrue的数据库,其中包括以下表:用户信息表DB_User、站点信息表DB_Device、水泵信息表DB_SB、水泵运行记录表 DB_list_sb、降雨量记录表DB_list_yl、水位观测点信息表DB_YW、水位记录表DB_WaterLevel。系统E-R图如图2所示。

图2 系统E-R图Fig.2 System E-R diagram

由于雨水情监控系统在汛期的操作频繁,工作人员需要及时掌握雨、水情状况以此下达防汛指挥命令,这就要求该系统尽可能要缩短查询雨、水记录时间,快速显示。为此在数据库中创建了索引[4]站点编号,把站点信息表、水泵信息表、水位观测点信息表和水泵运行记录表、降雨量记录表、水位记录表关联起来,查询操作发生时先检索对应站点编号,再检索该站点的雨水情信息,从而缩短查询时间,达到快速显示的目的。

3 系统功能

基于C#的雨水情监控系统的目标就是为用户提供一个水泵开停状态、降雨量和河道水位实时监控、运行信息采集分析统计处理的平台。用户登录系统后可以查看水泵运行的实时状况、实时降雨量和河道水位,查询、打印水泵运行记录、排水量、降雨量和水位等。

3.1 系统流程分析

系统基本的流程是:用户登陆->主界面->选择子功能->退出系统。系统流程如图3所示。

图3 系统流程图Fig.3 System flow chart

3.2 系统功能模块

3.2.1 用户管理模块

用户信息的增加、修改和删除。只对拥有管理员权限的用户开放。

3.2.2 实时监控模块

监控目标地域内水泵的实时运行状态和实时降雨量有两种显示方式:一是分布式站点监控,分别显示各个站点的水泵实时运行状态;二是地图监控,显示所有站点内的水泵实时运行状态和实时降雨量。

地图监控如图4所示。

图4 地图监控Fig.4 Map monitoring

3.2.3 水泵运行状态报表模块

水泵运行检测报表:记录遥测设备是否正常工作。遥测设备异常时监控系统发出报警。

水泵运行统计表:以日、月和年3种方式统计每台水泵的开停记录、累计运行时长和各个站点水泵累计运行总时长。

3.2.4 排水量报表模块

排水量统计表:以日、月和年3种方式统计每台水泵的开停记录、累计流量和各个站点水泵累计总流量。

3.2.5 降雨量报表模块

图形展示:曲线图或者柱状图方式显示某一雨量观测点一天、一月或一年的降雨量。

全局报表:统计所有雨量站点一天、一月或一年的降雨量和在查询时间内的最大降雨量和最大降雨时间段。

雨量查询:统计雨量观测点任意时段的降雨量和在查询时间内的最大降雨量和最大降雨时间段以及该查询时间段的最大降雨站点。

3.2.6 水位模块

水位录入:录入任意时间点任意水位观测点的水位;设置最高/最低水位、正常水位、警戒水位、汛限水位。

水位监测:图形或报表方式显示某一水位观测点一天或一月的水位。

水位统计总表:统计所有水位观测点一月的水位。

4 结语

通过在天津市西青区的应用证明,相比于以前的系统,采用C#设计的雨水情监控系统的实时性和可靠性都得到极大的提高,合理准确的报表为防汛工作提供了极大的帮助。雨水情监控系统具有实时性和可移植性强、维护成本低等优点,可为防汛调度决策提供及时、准确的科学依据。今后,随着城市建设的不断完善,雨水情监控系统将增强水利部门对所辖防区水情的监控能力,为防汛工作发挥出更大的作用。

[1] 徐安东,谭浩强.Visual C#程序设计基础[M].北京:清华大学出版社,2012.

[2] Alessandro Gallo,David Barkol,Rama Krishna Vavilala.ASP.Net Ajax in Action[M].Manning Publications,2010.

[3] Christian Nagel,Bill Evjen,Jay Glynn.C# 高级编程[M].7 版.北京:清华大学出版社,2010.

[4] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.■

猜你喜欢

通信协议降雨量水泵
某型水泵旋转系统故障分析
来安县水旱灾害分析与防灾措施探讨
凝结水泵全系列优化改进
德州市多年降雨特征分析
降雨量与面积的关系
水泵节能改造在昆钢的应用实践
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
车载网络通信协议标准化问题研究
电动汽车充电接口及通信协议新国标发布
商用车全可变机械式冷却水泵