基于AJAX技术的电力监控系统的开发与应用

2016-10-14 15:20黄磊明王黎明
船电技术 2016年4期
关键词:下位模拟量浏览器

黄磊明,王黎明



基于AJAX技术的电力监控系统的开发与应用

黄磊明,王黎明

(海军工程大学 电气工程学院,武汉 430033)

目前,电力系统的监控在电能质量管理中具有重要的地位和作用。传统的监控平台采用的仍然是主从模式,这种模式要求在上位机安装一个单独的监控软件,在开发、部署、维护、更新等方面相对繁琐。基于AJAX技术的电力监控系统突破了这种传统的监控数据的显示方式,采用的B/S改进模式使得用户仅需要一个通用浏览器即可实现数据的监控,方便快捷,成本低廉。同时,监控也不再受地理位置的限制,可实现系统及设备的远程诊断和分析。

电力监控 AJAX 浏览器

0 引言

电力作为国家的基础行业之一,不断推动着国民经济的快速发展。随着用电需求的逐步扩大,电能质量越来越受到人们的重视。用户需要更加有效的电力监控管理解决方案来应对上述变化带来的挑战,以实现电力系统持续、可靠、稳定的运行。传统的平台监控采用的仍然是C/S模式[1],即电压、电流、开关状态等信号量从底层的下位机采集以后,通过数据传输接口送到集控台进行处理,这种模式就要求在集控台开发一个单独的应用程序,才能对终端设备进行监测和控制。由于需要将可执行文件安装到集控台,程序的部署及其更新的复杂性一直是困扰用户和开发人员的问题。AJAX技术则可突破这种传统的显示方式,用户仅需要一个通用浏览器即可实现数据的监控,方便快捷,大大地降低了部署维护成本。而且,监控也不再受地理位置的限制,可实现系统及设备的远程诊断和分析。

1 AJAX模型的工作机制

传统的Web应用模型采用的是同步交互的方式[2]。当下位机在处理请求的时候,用户多数时间只能处于等待状态,监控页面中显示的内容也只是一片空白。而且由于下位机需要进行复杂的数据处理并返回一个完整的HTML页面至集控台,所以用户可能需要较长时间的等待。

电力监控系统引入AJAX引擎后,用户操作与下位机响应便可实现异步化。与传统的Web应用不同,在电力数据开始传输时,浏览器不是首先将整个监控页面装入,而是先加载AJAX引擎。AJAX引擎显示用户界面并代理用户与下位机沟通。用户发送请求后不必等待下位机的响应,用户可以继续使用浏览器完成其它操作,比如下一个指令的填写。下位机接到AJAX引擎发送来的请求后做出处理,返回结果,并改变HTTP就绪状态。AJAX引擎监听到HTTP的就绪状态发生改变,则调用对应的函数来接收处理结果并以此更新页面的指定部分[3]。浏览器并不需要刷新整个监控页面,只是更新页面的部分内容,整个过程不必打断用户与应用的交互,减少了网络延迟带给用户体验的不便。

图1 传统Web应用模型和AJAX模型

2 AJAX技术在电力监控中的典型应用

电力系统需要监控的参数有很多,主要包括电流、电压、功率等模拟量,断路器、隔离开关、闸刀等设备的开关状态以及环境温度、湿度、酸碱度等指标。当电力系统发生短路、断路、失火等故障时,监控系统应能够进行实时报警和遥测遥控。AJAX技术由来已久,其中为大众所熟知的应用是Google Maps,引入电力监控尚属首次。基于AJAX技术的电力监控系统结合了众多的编程技术,例如XMLHttpRequest实现异步交互、DOM实现局部刷新、JavaScript承上启下以及CSS丰富页面效果,突破了传统的监控方式,人机交互更加智能化[4]。

2.1开关量输入输出

开关量传感器发出的信号是接点信号,有断开和闭合两种状态,用以指示刀开关、断路器、接触器、继电器等设备的运行状态。尤其是当电力系统发生跳闸故障时,可以起到很好的警示作用。以指示灯的状态响应为例:

if(led1.responseText == "ON")

{

obj1.style.backgroundColor='#0F0'

obj1.style.fontSize='25px';

alert("Now the state of the first switch : closed.");

}

else

{

obj1.innerHTML =

obj1.style.backgroundColor='#F00';

obj1.style.fontSize='25px';

alert("Now the state of the first switch : open.");

}

代码中涉及到XMLHttpRequest提供的responseText属性,实现了以字符串方式取得下位机回传的数据[5]。通过回传值led1.responseText与ON和OFF的比较,分别弹出不同的对话框内容,提示第一路的开关状态。这使得用户只同下位机进行电力数据层面的交换,而不用每次都刷新整个界面,并且数据处理的工作转移到了集控台,这样既减轻了下位机的负担又加快了响应速度、缩短了用户的等候时间。

图2 开关量输入输出页面

2.2模拟量输入

图3模拟量输入页面

位于电力系统底层的传感器把诸多过程参数如电流、电压、频率等模拟量信号经过前置放大、采样保持、模数转换后,通过接口电路以数字量信号送入集控台,从而完成对电参量的监测任务。图3即为电压采集页面,程序代码如下所示:

sString = s.responseText;

varmyString = new String(sString);

var mv1 = myString.substring(1,6);

通过例4进一步推导可知,若极限式中有幂指函数地f(x)g(x),常用换底公式eg(x)lnf(x)将其化为指数函数进行处理。

var ev1 = myString.substring(7,12);

var mv2 = myString.substring(13,18);

var ev2 = myString.substring(19,24);

……

通过利用JavaScript中的substring方法获取多个字符,可以实现局部刷新web页面显示可编程逻辑控制器上传的电压数据。JavaScript在这里起到了一个承上启下的作用:一方面,它通过其属性和方法操作DOM,将用户请求通过XMLHttpRequest对象实现与下位机的异步交互通信;另一方面,AJAX利用JavaScript的特性实现对用户行为的实时响应与处理[6]。

2.3模拟量输出

图4模拟量输出页面

模拟量输出的目的是把集控台发出的数字量信号转换成模拟量电压或电流信号,去驱动相应的执行器,从而达到控制的目的。脉冲宽度调制(PWM)便是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。本例中可实现的功能主要包括:

1.6个独立的输出通道,通过编程可控制其输出波形的频率(即周期)。

2.每一个PWM输出通道都能调制出占空比从0-100%变化的波形。

3.周期和脉宽可以被双缓冲。

4.具有遇到紧急情况可关闭相应输出通道。

这里用到了文档中一个非常重要的事件,那就是鼠标事件。在JavaScript中,使用onclick事件来表示鼠标单击事件,使用ondblclick事件来表示鼠标双击事件[7]。本例中,通过单击按钮“PWM1ON/OFF”,触发pwm_onoff1()函数,就可实现PWM1的开关转换,代码如下:

2.4其他测量

电力系统的环境温度、湿度、酸碱度等因素对其稳定运行有着至关重要的影响。以温度测量为例,传感器将采集的温度参数上传至下位机,集控台的浏览器打开后,即运行文档载入事件onLoad事件,加载测温函数gettemp(),并利用setTimeout()函数实现动态间隔500ms获取芯片温度。

图5测温页面

在动态显示温度时,还用到了DOM中的document 对象的getElementById()方法:document.getElementById("temp").innerHTML ="";其作用是将回传值gettemp.responseText返回到指定id—temp属性innerHTML中。这里的document对象代表了整个XML的文档,所有其它的节点,都以一定的顺序包含在document对象之内,排列成一个树形的结构,通过遍历这棵树可以来得到XML文档的所有的内容,然后再来执行后续的修改、添加、删除等操作。

2.5页面设计

CSS层叠样式表出现弥补了HTML超文本标记语言在格式修饰中的不足,同时能够实现页面格式的批量动态更新。通过使用脚本与CSS结合,动态控制页面元素的位置、色彩等属性,可进一步丰富页面的动态效果[8]。

CSS定义的方式有很多种,包括嵌入方式、行内方式和外部链接方式等[9]。嵌入方式和行内方式定义后的CSS只对该网页起作用,这对于一个大型网站来说也是很麻烦的,而且大部分工作都是重复的。外部链接方式定义CSS就能很好地解决该问题。外部链接是通过将CSS定义成一个单独文件,当使用CSS时,就将其引入到相应的网页文件中。这样不但可以节省工作量,也更易于维护整个网站。例如:

其中01_same.css和01_index.css分别是定义成一个单独文件的CSS。

3 结束语

通过AJAX技术在电力监控系统中的应用,实现了局部刷新Web页面显示可编程逻辑控制器上传的电压、电流等数据,向用户提供电力系统底层受控点的实时运行状态信息,最大程度地减少了冗余请求,节约了网络带宽,减少了用户心理和实际的等待时间,提高了用户网络体验的质量。同时,通过集控台的Web页面远程控制PLC的模拟量、开关量输出,提高了处理效率,监控方式也更加智能化。随着电力网络的不断发展,作为监控系统智能化的重要支持的服务器也会越来越重要。如何设计更加友好的网页界面,建立一个高性能、安全、快速、兼容性好的服务器也是未来发展的趋势。

[1] 龚海燕. 基于C/S模式的网络远程监控系统[D]. 南京航空航天大学, 2003.

[2] 周东星, 李心科. 基于MVC和MAX的Web开发模型的设计与应用[J]. 合肥工业大学学报, 2008, 31(9): 1438.

[3] 徐红升, 张瑞玲. 基于SSH整合MVC分层的网上商城的设计与实现[J]. 洛阳师范学院学报, 2013, 32(2): 76.

[4] Andy Zaidman, Nick Matthijssen, Margaret-Anne Storey, Arie van Deursen. Understanding Ajax applications by connecting client and server-side execution traces [J]. Empirical Software Engineering, 2013, 18(2): 181-218.

[5] 曹衍龙, 叶达峰. Ajax编程技术与实例[M]. 北京: 人民邮电出版社, 2007.

[6] Alessandro Marchetto, Filippo Ricca, Paolo Tonella. A case study-based comparison of web testing techniques applied to AJAX web applications[J]. International Journal on Software Tools for Technology Transfer, 2008, 10(6): 477-492.

[7] 熊文, 熊淑华, 孙旭, 张朝阳. Ajax技术在Web2. 0网站设计中的应用研究[J]. 计算机技术与发展, 2012, 22(3), 147.

[8] B. Douglas Blansit. An Introduction to Cascading Style Sheets (CSS)[J]. Journal of Electronic Resources in Medical Libraries, 2008, 5(4): 395-409.

[9] David Powers. The Essential Guide to Dreamweaver CS4 with CSS, Ajax, and PHP[M]. Springer-Verlag New York Inc, 2009.


Development and Application of the Power Monitoring System Based on AJAX Technology

Huang Leiming, Wang Liming

(College of Electrical Engineering, Naval University of Engineering, Wuhan 430033)

At present, the power monitoring plays an important role in the power quality management. Traditional monitoring platform is still the master and slave mode, which requires installing a separate monitoring software on the upper computer, so that it is relatively complicated in development, deployment, maintenance, update and other aspects. The power monitoring system based on AJAX technology has broken through the traditional display mode. The modified B/S model makes it come true that the users only need a general browser to achieve data monitoring, which is convenient and budget. At the same time, the monitoring is no longer limited by geographical location, and the remote diagnosis and analysis of system and equipment becomes reality.

power monitoring; AJAX; browser

TP391.8

A

1003-4862(2016)04-0019-04

2015-11-10

黄磊明(1987-),男,硕士研究生。研究方向:检测技术与自动化装置、故障录波技术。

王黎明(1979-),男,副教授,硕士研究生导师。研究方向:电网自动化调度与管理技术、嵌入式系统设计与开发。

猜你喜欢
下位模拟量浏览器
反浏览器指纹追踪
发射机房监控系统之下位机
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
景洪电厂监控系统下位机数据传输网络改造
关于600MW火电机组模拟量控制系统设计和研究
围观党“下位”,吐槽帝“登基”
环球浏览器
CAN总线并发通信时下位机应用软件设计
模拟量输入式合并单元测试仪的研制
一种通用模拟量及开关量信号采集板卡的设计