电力电缆沟道监测系统管理软件的设计

2012-06-23 06:42孙万蓉冯战鹏李京京
电子科技 2012年5期
关键词:页面测点服务器

杨 波,孙万蓉,冯战鹏,李京京,薛 丹

(西安电子科技大学电子工程学院,陕西 西安 710071)

电力工业管理包括变电管理、调度管理、线路管理等诸多方面,其中,变电站管理是电力管理工作中的重要环节。其涉及内容广泛、工作量大,特别是对工作的准确性要求较高。经过长期运营实践,变电站管理工作逐步形成了一套成熟的手工管理作业体系。然而,随着国民经济的不断发展,城市对供电量的需求逐步增大,以及城市规划的复杂化,电网结构越来越复杂,需要实时传送地信息量也越来越大,这使得长期的手工管理模式在实施过程中出现了越来越多的问题:需要提供的数据量大、不能形成良好快速的数据存取方式、不能进行实时可靠地数据监测、经常出现漏记漏报的现象、没有实现工控自动化、不能灵活的读取想要的数据、同时保密性差,不利于变电站长期的运营与维护[1]。为弥补传统管理模式的不足,本文旨在研究一套以防火、防盗为主,基于B/S模式的电力电缆沟道监测系统管理软件。

1 系统管理软件

电力电缆沟道监测系统管理软件系统结构如图1所示。

在监测系统管理软件中,用户可以通过数据传输模块的配置界面对工作站上位机进行控制,及时快速地得到所需的数据。同时,以Web方式把沟道的运行状态信息、传感器信息以及超限报警数据发布呈现给授权管理人员和供电局的领导。系统设计的管理界面层次清晰,可将整个沟道的实时信息完整地呈现在浏览器上。以全自动化的管理模式取代了传统的手工管理模式。

图1 管理软件系统结构图

由图1可知,实时通信模块首先将从工作站上位机处得到的沟道数据存入数据库服务器,当系统管理中心的工作人员通过浏览器请求所需页面信息时,便会请求Web服务器访问数据库服务器读取所需的信息,并将信息返回至管理中心浏览器的页面端。

2 数据传输模块设计

2.1 数据模块

数据传输模块主要功能:通过TCP/IP协议[2]与工作站中的上位机进行通信,得到不同沟道中的不同测点和传感器的实时数据,再将获得的实时数据存储至数据库服务器中,待前端系统使用。

2.2 通信实现

通信部分采用Java的Socket网络通信函数来实现。所谓Socket[3]通常也称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄。Socket有两种主要的操作方式:面向连接的和无连接的。系统模块采用面向连接的TCP传输方式。

在通信过程中,系统通过启动一次线程建立一次TCP连接,由于工作站上位机在建立一次TCP连接之后会按照系统的采集时间要求不断地向服务器传送数据,直到一次数据传输完后,便会立即断开原有的连接,之后会重新进行一次TCP通信连接,再传输沟道中全新的数据。一般情况下TCP通信连接方式默认为短连接方式,即一次连接,一收一发,一次断开的通信。所以,在实际的开发过程中,系统采用基于TCP的Socket长连接的方式实现多次连接功能。这样,服务器永远不用主动断开通信,仅由工作站上位机来决定是断开还是连接。

所谓长连接,就是客户端与服务器端先建立通信连接,服务器连接建立后不断开,然后再进行报文的发送与接收。

2.3 界面设计

为体现系统设计人性化的特点,数据传输模块不再只是进行单纯的、重复性的数据接收工作,而是根据管理人员工作需要得到的数据,更大程度上提高模块的传输性能。因此,根据实际工程的需要,设计了如图2所示的传输界面。

图2 系统传输界面

在通信过程中,模块作为服务器,需要制定服务器端程序的端口号以及填写本端的IP地址,以保证网络通信的正常进行。采集间隔用以控制工作站上位机每隔多长时间按要求向服务器发送一次沟道数据,单位s。ID号对应着监测的所有沟道的编号,测点选择则对应着可以选择每个沟道中的不同测点。通道选择分为双通道传输、模拟通道传输以及数字通道传输。双通道传输表示可以同时传送模拟通道数据和数字通道数据。在本监测系统中,要传输的温度值、液位值、烟雾浓度值、可燃气体浓度值、有毒气体浓度值、二氧化碳浓度值,这些都属于通过模拟通道上传的数据,而入侵监测则属于通过数字通道上传的数据。

图2是运行时的传输界面。每点击一次服务器按钮,建立一次TCP连接。设置本服务器端程序的端口号为5555,本机IP地址为192.186.0.1,连接IP地址为291.245.77.243的工作站上位机,得到2号沟道的3号测点、双向传输通道的数据,并且每次数据传输的间隔为3 s。最后将接收的数据存入数据库中,以便上层管理软件的使用。当工作站上位机完成一次传输任务后便会断开与主机的连接,直到再有新的数据产生,便会自动与服务器进行连接,重新进行数据的传输工作。

3 上层管理软件设计

3.1 开发模型设计

设计一套Web前端软件,不仅需要其提供静态网页访问功能,还应具有良好的交互能力、后台数据库访问能力、提供实时更新数据的能力,以及强大的管理能力、动态网页服务功能。

系统的上层管理软件部分采用JSP Model2的设计架构[4],即 JSP+JavaBean+DataBase。如图 3 所示。JavaBean负责对数据库的读写操作,Servlet则用于控制各种事务的分派,JSP负责最终页面的显示。

图3 JSP Model2结构图

使用JSP Model2架构的交互过程为:用户首先通过浏览器向Web应用中的Servlet发送请求,Servlet收到请求后调用JavaBean对象的方法,JavaBean对象返回对数据库的操作结果,Servlet调用合适的JSP,并将从数据库中取得的数据写入JSP页面中,最后通过响应消息回送至浏览器端,最终将Web页面呈现在用户面前。其中,Servlet和JSP组成了整个Web应用。

这样,整个管理软件被分为3层,即展示层、业务逻辑层以及数据库访问层。展示层,即JSP层,主要是与用户进行智能交互,将整个管理软件系统页面展示在用户面前。业务逻辑层,即JavaBean层,主要用于对部分业务逻辑进行封装,以及对数据库读取操作的封装。数据库访问层,即DataBase层,主要用于直接对数据库进行操作,辅助JavaBean层完成对数据库的读取操作。

JSP Model2架构在Web开发中的使用,提高了系统的模块化程度,适用于大型系统的开发,使开发的软件系统更容易管理与维护。但是,随着模块化程度的提高,对开发人员技术的挑战也变得越来越大。

3.2 系统总体规划

整个电缆沟道监测系统由3部分组成:信息采集编码层、数据打包通信层和传输管理层。信息采集层由沟道中监测信息的传感器组成,主要负责采集沟道中各节点传感器的原始数据以及对数据的编码并通过ModBus协议[5]传送至数据打包通信层,采集的数据包括:温度值、液位值、是否有入侵、烟雾浓度、可燃气体浓度、有毒气体浓度和二氧化碳浓度。数据打包传输层在接收到采集层的编码数据后,会按既定的规则对编码数据进行打包,并按照TCP/IP网络通信协议传送至系统管理层的数据库服务器中,以供上层管理软件统一管理与展示。整个电缆沟道监测系统的工作流程图如图4所示。

图4 整个电缆沟道监测系统流程图

3.3 上层管理软件主要功能

上层管理软件主要任务是:从数据库读取通过数据传输模块存入的数据,并进行实时数据显示、历史数据显示、按时间查询以及数据报表的导出、历史数据曲线的绘制、系统登录权限的管理、系统设备的统一管理。

(1)实时数据显示模块。对沟道内部的各种数据进行实时监测,包括:温度、液位、入侵、烟雾、可燃气体、有毒气体、二氧化碳等,根据不同时间间隔的要求刷新Web页面,读取最新最准确的及时数据。同时对超限数据进行特殊标定,提醒管理人员何时、何地出现了异常,便于及时排查处理。

(2)历史数据查询模块。显示沟道传感器上传的所有历史数据,并且提供按日期查询的功能,以便管理人员对特定日期内沟道数据的查询。

(3)历史数据曲线绘制模块。将特定日期内某个时间段的采集数据进行曲线绘制,方便管理人员了解特定时间段内沟道内部某项指标的走势情况。

(4)系统权限管理模块。为维护系统的安全性,只有授权注册的用户才能登录此系统,否则,其他人员一律视为非法用户,无权登录系统。

(5)系统设备管理模块。对沟道内部的各种不同型号的、不同功能的传感器进行管理。方便管理人员对设备的统一管理与维护。

4 上层管理软件的具体实现

上层管理软件采用B/S的开发模式,客户端操作系统采用Windows XP系统,浏览器推荐使用IE8.0。Web服务器采用Apache Tomcat5.5。数据库服务器采用MySQL5.0数据库系统。

4.1 系统登录页面

该模块是为了提高系统的安全性能而设计的。提供了系统管理人员的登录功能。只有授权登录系统的用户才能进入该管理系统,查看系统信息。系统在设计、使用之初,会首先设定一个管理员,自动默认拥有该管理系统的登录权限,即自动设定用户名和密码,此时只有管理员才有权限登录系统,如图5所示。

图5 系统登录页面

本登录模块采用了连接池技术[6],使用数据库连接类 DbUtil.java完成数据库的连接,用 UserManager.java封装了关于数据库用户管理表的操作。若非法用户登录,便会显示错误信息重新定向至登录页面,若管理人员登录,则将用户登录信息存放至Session对象中,用于多页面会话状态的维持。

4.2 测点历史数据显示页面

测点历史数据显示页面显示了某一沟道中某个测点的所有传感器监测到的数据信息,所有超过设定阈值的数据都将被视为非法数据,使用红色进行报警标记。如图6所示。此外,该页面还提供了按时间查询数据的功能,管理人员可以根据需要选择查看不同时间段的数据信息。同时考虑到数据信息的可移动性,系统还提供了关于数据的Excel表格导出的功能,这样,便可将数据拷贝至任何需要的地方。

图6 历史数据显示页面

此页面主要完成对数据库中测点数据表的读取操作,将对数据库的操作代码封装在Data_infoManager.java中,将历史数据全部显示并产生分页效果的sql语句为:

其中,data为数据库中数据表的名称;pageNo为当前显示的页码号;pageSize为每一页显示的数据个数。

4.3 测点历史数据曲线图模块

此模块主要是将某一个时间段内的监测数据按照不同的类型绘制出相应的曲线图。首先选择沟道编号,再在具体的沟道编号下选择具体的测点,在确定好具体的沟道与测点之后,便可进入如图7所示的页面。由于监测的数据信息当中,除了入侵数据是由数字通道传入的以外,其他监测数据都是由模拟通道输入的,所以,本管理软件只绘制模拟曲线,页面中曲线类型的选择不包括入侵数据的选项。

图7 曲线图显示页面

此模块主要使用jfreechart组件进行曲线图的绘制[7],完全使用JSP页面中的Java语言编写。在JSP页面通过Java语言直接访问JavaBean组件读取数据库,得到历史数据,最后绘制数据曲线。同时,需要将绘制曲线的相关jar包引入平台。本系统开发使用的包为:jfreechart-1.0.11.jar,jcommon -1.0.14.jar。

测点实时数据显示模块主要体现了此管理系统的实时性。此模块将沟道中测点的实时数据信息进行显示,系统设定每隔5 s进行一次页面的刷新,即访问一次数据库服务器,得到最新的数据信息,显示在管理页面上,使沟道管理人员能够随时得到准确的沟道信息,把沟道的安全隐患消灭在萌芽期。如图8所示。此页面中,若测得数据在安全阈值范围之内,则数据显示绿色表示指标正常,若显示红色则表示出现异常,需要进一步的排查处理。

图8 实时数据显示页面

为了符合系统监测实时性能的要求,需要对数据库中新增的测点数据进行同步的显示,即展示Web页面的动态功能。为此,本模块采用jQuery框架来完成[8]。JSP页面通过jQuery框架辅助的js文件按照特定的时间间隔访问读取数据库的servlet,进行JSP页面显示数据的更新,形成动态的页面效果。

同时,为体现系统实时性这一特点,需要协调好数据传输层接收数据的时间间隔与js文件访问servlet的时间间隔,以便使最新更新的数据及时显示在页面中。

4.4 系统权限管理模块

此模块主要是用于统一管理拥有此系统登录权限的人员。所有需要登录进入此系统的人员都需要在此注册信息,才能拥有登录权限。如图9所示。此页面为已经注册的用户显示页面。可以通过页面中的添加、删除以及修改按钮对注册人员的信息进行必要的修改,保证整个管理系统的安全性。

图9 用户管理页面

4.5 设备管理模块

此模块主要是对沟道中所有测点的传感器进行统一的管理。包括传感器的设备编号、设备型号、所属的测点编码、功能名称、传感器所在位置的IP编号、传感器的输出端口、备注说明以及采集间隔。如图10所示。

图10 设备管理页面

5 结束语

本软件系统采用Java技术及JSP技术实现了基于Web的电力电缆沟道监测系统的管理模块。该系统模块不仅实现了沟道管理的工控自动化,而且能更快、更及时得到沟道内部的实时数据与报警数据,改进了传统的管理模式,提高了管理效率。

[1]徐晓晨.变电运行管理系统研发[D].郑州:郑州大学,2003.

[2]特南鲍姆.计算机网络[M].潘爱民,译.北京:清华大学出版社,2004.

[3]李芝兴.Java程序设计之网络编程[M].北京:清华大学出版社,2006.

[4]贾素玲,王强,张龙.JSP应用开发技术[M].北京:清华大学出版社,2007.

[5]周立功.ARM嵌入式系统软件开发实例[M].北京:北京航空航天大学出版社,2006.

[6]王晓路,卢建军,马莉.基于JAVA的连接池优化Web数据库连接[J].西安电子科技大学学报,2005,32(2):228 -231.

[7]朱贺新,穆荣,卢建军.JFreeChart的应用开发与改进[J].西安电子科技大学学报,2008,35(4):789-792.

[8]比伯奥特,卡茨.jQuery实战[M].陈宁,译.北京:人民邮电出版社,2009.

猜你喜欢
页面测点服务器
液压支架整机静强度试验及等效应力分析
刷新生活的页面
基于CATIA的汽车测点批量开发的研究与应用
通信控制服务器(CCS)维护终端的设计与实现
某废钢渣车间落锤冲击振动特性研究
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
Web安全问答(3)
网站结构在SEO中的研究与应用