基于.NET和AJAX的净水处理监控系统开发

2015-05-15 03:19王斌贺兴赵海
现代计算机 2015年7期
关键词:净水控件页面

王斌,贺兴,赵海

(1.中国人民解放军91413部队,秦皇岛 066001;2.东北大学秦皇岛分校计算机与通信工程学院,秦皇岛 066004;3.中国人民解放军65631部队60分队,锦州 121300;4.中国人民解放军65037部队,葫芦岛 125001; 5.东北大学信息科学与工程学院,沈阳 110819)

基于.NET和AJAX的净水处理监控系统开发

王斌1,2,贺兴3,赵海4,5

(1.中国人民解放军91413部队,秦皇岛 066001;2.东北大学秦皇岛分校计算机与通信工程学院,秦皇岛 066004;3.中国人民解放军65631部队60分队,锦州 121300;4.中国人民解放军65037部队,葫芦岛 125001; 5.东北大学信息科学与工程学院,沈阳 110819)

介绍一套基于B/S架构的净水处理监控系统的开发过程。该系统采用Microsoft.NET Framework 4.0框架,使用主流的C#语言进行编码,应用ASP.NETAJAX架构,使得页面可以无刷新定时更新数据,实现对净水监控系统状态的实时显示功能,用户体验良好。通过ADO.NET技术访问数据库,实现对净水监控系统的实时控制以及动态生成数据报表功能。

ASP.NET;AJAX;C#;净水处理监控系统

0 引言

近年来,已出现了多种自动化净水处理监控系统,但大多数是基于C/S架构开发。这种系统的缺点是用户界面不够友好、客户端需安装配置、数据冗余度大、升级维护困难。本文介绍的是基于B/S架构的同类系统开发。B/S架构具有分布性特点,可以随时随地进行查询、浏览等业务处理。维护简单方便,只需要改变网页,即可实现所有用户的同步更新。且开发简单,共享性强。

1 系统需求分析

1.1 功能需求

(1)用户管理:用户登录和注销、已登录用户修改登录密码;

(2)净水设备状态实时显示:可以实时查看到每套净水设备的状态;

(3)进入设备间查看所有设备状态:进入设备间页面后,系统会呈现一个模拟的设备间平面图,在该图上,所有设备的实时状态都被显示出来;

(4)根据水位自行调整阀门开闭:当系统处于设备间页面时,系统可以根据每套净水设备的水位,自行调节进水阀门和缓冲阀门的开闭状态;

(5)动态生成数据报表:系统可以根据数据库中的数据动态完成一张净化水流量的数据报表,其中数据是实时更新的。

1.2 数据库需求

系统主要数据库表及内容如下:

(1)管理员信息表:存储系统管理员的用户名、密码等信息;

(2)系统设置信息表:存储水位上限、下限阈值,系统自动刷新时间间隔等信息;

(3)水泵信息表:存储提升泵、反冲泵的压力等信息;

(4)净水设备信息表:存储每台净水设备(当前为4台)的参数,主要有包括设备状态是否正常、水位、水压、进水阀门和反冲阀门状态等。

2 系统概要和详细设计

2.1 开发调试环境

软件开发环境选择了Windows 7 Ultimate系统平台。为实现ASP.NET和AJAX的快速开发,集成环境使用Microsoft Visual Studio 2010,开发语言选用C#。

2.2 主要类和方法

(1)公共类

作为面向对象的C#语言,开发时最好将所需用到的资源等抽象为类。因此开发了以下公共类。

①WaterEquipment类,用于描述水处理设备,其中成员包括设备编号、状态、水位、水压、进水阀门和缓冲阀门状态等信息(表1);

表1 Water Equipment类描述

②TPump类,用于描述水泵状态,其中成员包括水泵号、名称、压力等信息(表2)。

表2 TPump类描述

(2)公共方法

这里的公共方法用来读取公共资源、设置格式等。

①LoadRefreshTime方法:用于读取自定义的刷新时间间隔,返回值为int型;

②LoadThresholdDwon方法:用来读取数据库中存放的水位下限阈值,返回值为double型;

③gdStyle方法:用于设置页面中出现的GridView控件的格式,无返回值。

以上公共方法,均封装在CommonClass类中,且方法均为静态方法,这样无须将CommonClass类实例化即可调用。

3 编码和实现

由于篇幅所限,这里只介绍系统核心功能模块的开发以及所应用的关键技术。

3.1 导航功能

为便于操作,功能页面实现为上+左右模式,其中上部显示公共信息,左侧显示导航功能按钮,右侧为具体功能实现。这里采用.NET的母版页技术,避免冗余代码出现。

图1 使用了母版页的导航窗口及功能页面

3.2 设备状态显示及阀门自动控制功能

通过设备间页面来实现。此页面可以动态显示所有设备的各项参数,通过此页面可以动态控制阀门状态。由于此页面功能比较复杂,需要显示的元素比较多,因此需要通过层次结构来实现各种图片、控件的布局,这里选择了CSS盒子模型进行页面布局。

实现实时显示和自动控制功能,用到了.NET的AJAX技术。实现方法是首先插入UpdatePanel以及Timer控件。根据布局需求,需要6个UpdatePanel控件,两个Timer控件分别控制泵状态和净水设备状态。这里需要将每个UpdatePanel的Triggers属性均正确设置,才能保证Timer控件的Ticks事件能够正确控制刷新。

程序流程及关键代码如下:

(1)首先读取数据库中的水位上限和下限,建立两个数组,分别对应4套净水设备和其要显示的参数控件。然后初始化数据库连接。

(2)通过循环控制各设备的状态。由于定义了两组数组,其显示是通过数组下标关联的。循环体中核心代码如下:

(3)通过读取的水位信息来设置和显示阀门开关。核心代码如下:

(4)最后将存储在实例化类中的信息存入数据库并关闭数据库连接。核心代码如下:

该页面的最终状态如图2所示。

3.3 参数报表自动生成功能

参数报表功能实现使用了ASP.NET 2.0中新增的GridView控件。为实现定时刷新,仍需要使用UpdatePanel以及Timer控件。此处完全使用前台模式开发,无需在后台输入代码。数据库连接使用Access-DataSource控件。

(1)首先在页面中插入ScriptManager控件,然后依次插入两个UpdatePanel、一个Timer、两个AccessData-Source控件、两个GridView控件。设置AccessData-Source控件的属性如表3所示。

图2 设备状态页面

表3 Access Data Source控件属性

(2)然后将两个GridView数据源分别设置为两个AccessDataSource控件,其属性如表4所示:

表4 Grid View控件属性

最终的参数报表页面见图3。

4 系统部署和测试

4.1 部署

系统最终部署在Windows Server 2008上,采用IIS 7.0作为Web服务器,具体过程不再赘述。

图3 数据参数表页面

4.2 测试

对本系统来说,需要对照需求分析中所列出的功能需求逐一检查系统功能是否正确实现。为了验证刷新功能实现的正确性,特地开发了配套测试程序,用于定时向数据库中写入随机数据,模拟水处理设备状态的变化。如图4所示。

经功能测试、人机交互界面测试、性能测试,系统的功能、性能等符合软件需求规定。

5 结语

本系统开发过程中所采用的关键技术和技术优势包括:

①使用微软成熟的.NET和AJAX整合架构,使得开发过程大大简化,后期维护、修改变得容易;

②使用CSS盒子模型进行页面布局,将显示层和数据层分离,使得较复杂的设备间页面布局层次清晰;

③充分利用了C#语言的优势,将各设备抽象为类进行管理,真正做到了面向对象开发;

④使用ADO.NET访问数据库,引用成熟的类库,访问效率和安全性较传统技术有进一步的提升。

图4 配套测试程序界面

当然,系统开发中还存在着一些不足之处。例如网络安全方面考虑不充分、系统配置还不够灵活、系统安装部署略显繁琐等,期望在后续的开发实践中加以解决。

[1] 朱志伟.小型水厂智能化水处理监控系统的应用[J].中国给水排水,2013,16(29):87~89

[2] 周锐.红兴隆污水处理监控系统设计[D].哈尔滨:哈尔滨工业大学,2013

[3] 黄桂金,宋强.ASP.NET AJAX网站开发从入门到精通[M].北京:清华大学出版社,2008

[4] Christian Wenz著.ASP.NETAJAX编程指南[M].唐学韬等译.北京:机械工业出版社,2008

[5] 钟大利,黄宗正.三层架构下ADO.NET数据库访问技术的应用探究[J].电脑知识与技术.2013,9(5):961~962

Development of Water Treatment Monitoring System Based on.NET and AJAX

WANG Bin1,2,HE Xing3,ZHAO Hai4,5
(1.No.91413 Troops of PLA,Qinhuangdao 066001; 2.School of Computer and Communication Engineering,Northeastern University at Qinhuangdao,Qinhuangdao 066004; 3.Unit60,No.65631 Troops of PLA,Jinzhou 121300;4.No.65037 Troops of PLA,Huludao 125100;5.College of Information and Engineering,Northeastern University,Shenyang 110819)

Describes the development process on a set of water treatmentmonitoring system based B/S structure.The system is using Micros of t.NET Framework 4.0 framework,using C#languagemainstream encodes,applying ASP.NET AJAX framework,making pages can be updated regularly without refreshing the data,to achieve real-time watermonitoring system status display function,and user experience is good. Access to the database through ADO.NET technology,water purification dynamically generated data reporting capabilities.

ASP.NET;AJAX;C#;Water TreatmentMonitoring System

1007-1423(2015)07-0073-05

10.3969/j.issn.1007-1423.2015.07.020

王斌(1981-),男,河北昌黎人,在读硕士研究生,工程师,研究方向为军用软件测评

贺兴(1984-),男,河北衡水人,本科,研究方向为通信对抗

2015-01-13

2015-02-10

猜你喜欢
净水控件页面
刷新生活的页面
净水样板的力量
化学净水
答案
基于.net的用户定义验证控件的应用分析
关于.net控件数组的探讨
外国女子发明“可以喝”的书能为6亿人处理净水
数据在线
Web安全问答(3)
基于嵌入式MINIGUI控件子类化技术的深入研究与应用