一种新型电站实时画面组态系统

时间:2022-09-04 11:52:48

一种新型电站实时画面组态系统

摘要:在分析火电站信息系统数据Web需求和传统工控组态软件不足的基础上,通过对Web Services、AJAX、SharePoint等技术的研究,给出了一种基于AJAX的电站实时画面组态系统,并对其中的关键技术进行了阐述。实际应用表明,此系统功能完善、性能优良,具有较好的实用价值。

关键词:厂级监控信息系统;实时画面;AJAX;Web服务

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2009)32-9062-02

A New Type of Real-time Image Configuration System for Power Plant

CUI Yan-feng, BI Xiao-long

(Energy and Power Engineering Institute, Nanjing Institute of Technology, Nanjing 211167, China)

Abstract: The needs of web publish of power plant's information were investigated. The disadvantages of traditional industrial configuration software were analyzed also. Consequentlya new power plant real time configuration systembased on AJAX was presented on studying the technology of Web Services、AJAX and SharePoint. The key technologies were addressed. Perfect practical application showed that this Perfect practical application showed that this system can be used for practice.

Key words: sis; real time display; ajax; web services

近年来,随着计算机技术、自动化技术等的飞速发展,我国电站信息化工作已经进入快速发展期,信息系统的集成度不断提高,以厂级监控信息系统(SIS)为例,其中集成了集散控制系统(DCS)、水、煤、灰控制系统、汽机故障诊断装置(TDM)、电气网控计算机网络等多个下层控制系统的数据,基于这些数据,SIS系统进一步提供了大量下层控制系统中的运行监视画面以实现对机组运行的全方位监视,这些画面的集成与是SIS系统亟需解决的问题之一。

传统的工业流程画面一般由专业的工控组态软件(如iFix、InTouch、组态王等)制作并以C/S的方式呈现的,但随着B/S/S三层模式在电厂信息应用软件中的不断推广和广泛应用,SIS系统中各种信息的表现越来越多地依赖于Web方式的,同时,如果采用传统的工控组态软件进行Web,则会出现诸如ActiveX控件下载安装困难以及由于网络协议不透明造成的网络故障等问题[1]。某发电厂在设计研发一期SIS过程中,实时画面主要由实时数据库附带的传统组态软件完成,实时画面不能Web化,仅可通过本地安装客户端的方式进行浏览,并且客户端需要进行较多的配置,针对此类问题,在二期工程中,结合实时画面数量多、传统工控软件Web困难等问题,研制开发了基于AJAX的电站实时画面组态系统。本系统由Visual Basic基于微软SharePoint的COM接口开发,以动态链接库的形式依附于SharePoint运行,从而形成一套新型的画面组态系统,该系统直接可以组态生成反映现场生产过程的静态HTML页面,此静态页面通过AJAX技术调用后台与生产数据库相结合的Web Services从而实现动态化,避免了工控组态软件的使用,解决了生产实时画面在B/S或B/S/S类系统中的实现问题,并可避免因增加防火墙或隔离网闸等安全装置所带来的复杂配置问题。

1 系统概述

本系统基于Web服务,在环境下运行,可以实现对于模拟量显示、开关量显示、数据的棒图分析、数据的饼图分析、数据实时和历史趋势查看、数据表格方式查看等实时画面功能的组态,同时利用脚本技术,实时地为这些Web元素提供描述和说明。

本系统主要由组态期和运行期两个部分组成。其中,组态期由SharePoint、Web Services、DHTML模型等方面组成,运行期由以AJAX为基础的网页脚本和Web Services组成。如图1所示。

2 系统架构

电站实时画面组态系统是一个以Web Services为基础,以AJAX为核心、以脚本模型为依托的Web页面生成和运行系统。

2.1 基于Web Services的数据基础

Web Service 是一种新的网络应用程序分支,他们是自包含、自描述、模块化的应用,可以、定位、并通过Web进行调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他应用程序可以发现并调用Web Services部署的服务。 Web Service使用标准的互联网协议,如超文本传输协议(HTTP)、XML(表现为SOAP,简单对象传输协议),将功能纲领性地体现在互联网或企业内部网上。可将Web服务视作Web上的组件编程,利用这些组件,可以为系统中的应用提供基础[2]。

在本系统中,通过Web Services来提供数据检索和数据信息服务。主要提供的方法有SerachTag和GetTagInfo,其中SearchTag在组态期使用,用户可以通过提供对于数据点的点名、点描述的模糊信息,得到需要绑定到Web元素的数据库中的点;GetTagInfo在运行期使用,脚本自动调用本服务,以获取数据点的具体信息,如实时值、指定时间段的历史值或统计值、数据点的报警信息等。

2.2 基于AJAX的脚本模型

AJAX(Asynchronous JavaScript + XML,异步JavaScript 与XML)是将多种网络开发技术打破界限并加以组合和创新的一种新型网络开发手段。它包括如下几个方面的内容:

1) 基于XHTML和CSS标准的表示;

2) 使用Document Object Model进行动态显示和交互;

3) 使用XMLHttpRequest与服务器进行异步通信;

4) 使用JavaScript绑定各类元素。

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术,XmlHttpRequest使应用程序可以使用JavaScript向服务器提出请求并处理响应,而不用阻塞用户[3]。

AJAX与传统网络开发的最大不同在于采用了远程脚本调用技术。远程调用技术允许用户方的JavaScript语言向服务器发送数据请求,而不用刷新网 页。这一任务是通过JavaScript语言与XMLHttpRequest对象来实现的。远程脚本调用将一部分处理过程转移到客户(浏览器),这大大减少了向网络服务器的呼求数目[4]。

传统的网络应用软件首先向HTTP服务器触发一个用户行为或请求的呼求。反过来,服务器执行某些任务,再向发出请求的用户返回一个HTML页面。这是一种不连贯的用户体验,服务器在处理请求的时候,用户多数时间处于等待的状态。AJAX则不同。它通过在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的“处理与等待”缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。

在发电企业信息系统中,通过XML Web Services可以完成实时历史数据库、关系数据库等数据源的应用开发接口封装,在此基础上,结合异步的JavaScript技术,利用HttpXML发送SOAP串(使用XML作为表现形式的简单对象传输协议串)到Web服务,在服务返回信息后,再采用JavaScript解释此信息,从而将信息传达给用户。此过程基本描述如图2所示。

2.3 组态的实现

在上述原理的指导下,可以良好的解决显示问题,但是,针对发电企业,反映现场情况的实时画面存在着画面数量多、单幅画面数据量多等特点,所以必须解决画面的组态问题。

通常的组态系统是采用交互式CAD绘图或组件开发的方式来进行的,因为类似的系统都是自定义的组态描述文件[5],但对于可以在网络上通过浏览器作为显示容器的B/S系统,组态描述文件必须符合HTML标准,同时,由于HTML标准本身具有极大的开放性和扩展性,非常灵活,单纯的字符串解析与转换的方式并不能完成工作,因此这种方式在B/S模式下的系统并不适合。本课题组采用DHTML组件作为组态底板,采用mshtml基础类作为解析方式,通过对页面对象模型的解析完成了组态系统的开发。由于系统起点较高,在满足基本需要的同时,具有极大的可扩展性,通过对客户端脚本的丰富,可以将传统组态软件中的大部分功能进行移植。该系统的运行过程为图3。

2.4 基于SharePoint开发

同常见的Word、EXCEL等Office软件类似,SharePoint中不仅提供宏扩展,还提供 COM 加载项扩展,可以使用外部开发工具为 SharePoint 开发组件嵌入运行。SharePoint中提供的主要COM接口如下[6]:

OnConnection事件:在插件被加载时发生,是第一个发生的事件。OnConnection 有Application(指向于宿主程序的 Application 对象)、 ConnectMode (加载的方法)、 AddInInst (将 COM 加载项加入到宿主程序的 COM 加载项的集合中的标志位)、Custom(可以让用户自定义的数组等参数。

OnDisconnection事件:在插件被从内存中吊销前发生,OnDisconnection 有 RemoveMode(被吊销的方式)、 Custom(可以让用户自定义的数组)等参数。

OnAddInsUpdate事件:当插件的相关信息发生改变时发生。

OnStartupComplete事件和OnBeginShutdown事件:前者发生在宿主程序被完全启动后,后者发生在宿主程序即将关闭前。

利用这些接口,在Visual Basic中建立嵌入式外接程序并将此程序与SharePoint关联,可以利用SharePoint提供的网页对象模型与对正在组态的网页进行解析以完成组态。

3 结束语

本系统在某电厂SIS二期中投用(并对一期工程中的相关功能进行了改造),共完成了6台机组的集散控制系统和其它小型控制系统画面的组态,总画面为200幅左右,采用本组态系统比采用传统方式提高了数倍的开发效率。当画面刷新率为1秒,20用户同时浏览画面时,用户页面流畅,Web服务器瞬态CPU占用低于40%,常态CPU占用低于15%。

现场实际运行表明,本组态系统功能完备、使用便捷、性能高效、稳定性好,完全满足电站对实时数据在Web和对各控制系统运行监视的需求,可以为电站信息系统高效的提供实时画面,具有良好的推广价值。

参考文献:

[1] 石红梅,季周荣.工业监控W EB 组态平台的开发[J].中国科技信息,2007(12),134-135.

[2] 岳昆等,Web服务核心支撑技术研究综述[J].软件学报,2004.15(03):428-442.

[3] 游丽贞等,Ajax引擎的原理和应用[J]. 微计算机信息,2006.06.

[4] 杨振华,杨社堂,杨升山.Ajax 及其性能分析[J]. 电脑开发与应用,2009(3),59-61.

[5] 孙业明.基于ActiveX技术的矿用监控组态软件设计[J].矿业研究与开发,2007(2),63-65.

[6] 朱强,等.托管Office COM加载项的设计与实现[J].计算机时代,2006.04.

上一篇:大学信息技术教学研究与实践 下一篇:网络环境下数据监测系统的研究