2.华工电气公司,武汉430074)摘要:电力市场环境下,传统的SCADA系统不能满足信息交互的需要。一般的Web服务在进行实时信息的监控方面显得力不从心,XMLWeb服务提供服务描述发布与发现功能,并利用现有的Internet基础进行XML格式的消息传送,可以达到实时性的要求。本文介绍了一种基于组件对象模型(COM)开发,实现XMLWeb服务的SCADA系统。系统集成了Internet服务,并实现分布式的网络服务,支持即时信息查询和实时控制功能。系统已经在现场得到应用。
关键词:电力市场;数据采集与监视控制系统;因特网;扩展标记语言;扩展标记语言的网络服务;组件对象模型1引言
电力工业的发展,特别是电力市场的建立,对SCADA系统提出了新的挑战。传统的SCADA系统存在几个问题:系统扩展性较差,技术支持系统之间的平台兼容性较差,系统网络服务接口开放性较差等。随着计算机技术的发展,面向对象思想(OO)、通用信息模型(CIM)、分布式网络结构(DNA)等技术为电力系统自动化提供了解决方案。
组件对象模型(COM)是一种采用面向对象思想的模块化设计,实现了二进制代码级对象复用。组件具有良好的封装性与透明性,与开发平台和语言无关。采用COM技术开发的SCADA系统,可以向不同的服务商定制组件,并采用多层服务架构组建分布式网络,极大地增强了系统的扩展性。
XML(eXtensiblemarkuplanguage)提供了描述结构化数据的方法,具有数据自描述性和平台无关性,可以在电力系统中充当标准数据交换模型。目前,一种基于XML的CIM(通用信息模型)在电力系统中得到了应用。
Internet技术飞快发展,成为电力系统网络服务的基础。目前的分布式网络,更多的是提供企业内部的服务,采用的协议主要是DCOM(分布式组件对象模型)和CORBA(Commonobjectrequestbrokerarchitecture)。然而DCOM和CORBA在处理异构平台之间的互操作性上遇到了很大的困难。一种采用现有Internet基础构建的SOAP(Simpleobjectaccessprotocol)协议可以绕过防火墙的限制,通过Internet的基础协议HTTP实现基于XML格式的消息传递和远程过程调用(RPC)[4]。XMLWebServices为满足应用之间的数据通信和互操作性要求,提供了一种异构系统之间交互的方法。
电力市场的建立使得用户对信息交互要求提高。为适应新的变化,华工电气公司开发的HG2002SCADA系统采用COM技术进行系统构建,三层客户/服务逻辑结构分为客户层、服务层(商业逻辑)和数据源,实现了Internet服务功能处理即时信息查询和实时控制。本文主要介绍了HG2002SCADA系统基于Internet服务功能的实现,给出了完整的XMLWebServices解决方案。
2电力市场环境下的SCADA系统
SCADA系统是DMS和EMS的关键部分。SCADA系统收集电力系统实时数据,用于分布式应用程序的处理。操作电力系统的控制命令也可以通过SCADA系统实施。电力系统解除管制给SCADA/DMS/EMS系统带来了许多变化。其中一个变化要求EMS系统与变电站和电力市场经纪人等外部组织交互信息。一些信息有实时性要求,另外一些譬如历史数据则没有。然而,两者都需要快速访问和数据安全性。例如Internet、分布式计算等快速发展的IT技术支持任意时间、任意地点和任意类型的SCADA系统信息交换。
当前对SCADA系统的研究主要集中在电力市场对系统可靠性影响和系统通信功能增进等方面。然而,对信息访问方式的变化对SCADA影响的研究刚刚兴起,许多应用局限于基于现存的SCADA系统加上普通的Web服务功能,不能满足电力市场信息一体化的集成应用要求,主要有几个问题:不能满足信息需求的多样化,不支持实时刷新,客户端需要安装额外的控件,远方过程调用比较困难,扩展服务内容过于复杂,系统整合安全性没有统一标准等方面。
市场环境下,用户对信息的访问分为两种。一种是通过应用程序网络接口,譬如发电公司向运营中心获取历史数据和发布上网价格;另一种是用户通过Internet请求服务,通常使用Web浏览器进行交互,譬如用户上网查询电价和进行电力交易。不同用户对信息有不同的要求,需要服务提供用户订制功能。
普通的Web服务很难满足实时信息的刷新。普通的Web服务在客户提交一个请求后,服务器返回包含处理结果及相关额外的内容,需要整个页面的刷新,使得实时信息更新难以在Web服务中实现。常用的解决办法是开发ActiveX控件,处理内容的更新,一个这样的例子是股票价格查询。缺点是需要在客户端下载控件后才能实现服务功能,不满足“瘦”客户的要求。
为了实现系统自动化要求,需要实现远方过程调用(RPC)。一个典型的例子是在线电力市场事务交易,要求客户在查询实时电价后,选择适当的电力供应商,然后发出订单通知,Web服务器接到消息后应该能够根据请求进行处理。常见的RPC协议有DCOM和CORBA,然而他们在Internet上的应用遇到了极大的麻烦。
当服务内容需要重新发布时,服务端必须向所有的客户对象进行解释,然而这样需要维护一个比较大的用户列表,当用户信息发生变化后,会出现数据不一致。另外,如果动态保持与用户的连接,会耗用极大的系统资源。
网络服务的一个重要方面是安全性问题,必须考虑基础结构的安全性、连接的安全性、身份验证和授权等方面的内容。普通的Web服务没有一套统一的安全性解决方案,或者说难以形成整合的安全性能,不能满足电力系统的需要。因此,SCADA系统的Web服务不能简单的套用现存的Web解决方案。随着XML技术在IT中的应用日益广泛,基于XML技术的WebServices越来越受到人们的重视。
3基于XML的Web服务
3.1XML基础
“可扩展标记语言”(XML)提供一种描述结构化数据的方法。与主要用于控制数据的显示和外观的HTML标记不同,XML标记用于定义数据本身的结构和数据类型。
XML使用一组标记来描绘数据元素。每个元素封装可能十分简单也可能十分复杂的数据。您可以定义一组无限制的XML标记。由于XML标记在整个单位中以及跨单位采用,因此来自各种不同数据存储区的数据将更容易交换和操作。
XML是一种简单、与平台无关并被广泛采用的标准。XML相对于HTML的优点是它将用户界面与结构化数据分隔开来。这种数据与显示的分离使得集成来自不同源的数据成为可能。
XML文档具有下述几个特征:一是可扩展性,指的是用户能自由的定义他们自己的数据标签。二是结构化,即数据结构可以对任何复杂级别的事物进行建模。三是有效性,数据可以对其结构进行正确性检查。
3.2XMLWeb服务
XMLWeb服务(WebServices)是一种通过URI(Uniformresourceidentifier)定位的软件系统,其公共接口和绑定方法使用XML进行定义和描述。它的定义可以被其他软件系统发现。这些系统可以根据由WebServices提供的定义方法通过Internet协议传递XML格式消息与其进行连接。
Web服务基本结构包括了三个主要部分:消息交换、Web服务描述和Web服务描述的发布与发现。服务构架定义了一种软件代理之间的交互行为,即服务请求者与服务提供商之间的信息交互。这样的交互行为涉及服务发布、发现和绑定操作。首先服务提供商对提供的服务进行具体的描述,并发布到请求方或者服务发现代理。请求方行为分为两个阶段,一个是设计阶段,根据发现的接口和数据类型描述对应用进行设计;另一个阶段是运行阶段,发现并请求具体服务。实际的交互发生后,在服务端解析XML格式的请求,处理后将结果(XML格式)返回到请求端。
3.2.1消息交换协议
服务建立在一个消息传递机制基础之上,通常采用SOAP协议。SOAP(简单对象访问)协议建立于现有的Internet基础之上,采用HTTP协议发送XML格式的消息。包括三个部分:封套(envelope)相当于一个容器,定义了消息内容和处理的框架;一套编码规则用来表达定义数据类型的实例以及表达远程过程调用和响应的协定。
3.2.2Web服务描述
Web服务使用WSDL(Webservicesdefinitionlanguage)作为底层的服务描述。WSDL是一种XML文档格式,将Web服务作为一系列基于消息的终端操作进行描述,这些消息包含面向文档或者面向过程调用(RPC)的消息。通常包括服务接口定义和服务实现定义。
服务接口定义是一种抽象的可复用的服务定义,可以被不同的服务实现定义所实例化和引用。一般我们可以将服务接口视作一种IDL(Interfacedefinitionlanguage)、Java接口或者Web服务类型。服务实现定义描述了特定的服务接口如何被给定的服务提供商所实现。同时,也提供了服务定位,使得请求对象可以发现服务。
3.2.3服务描述的发布与发现
发布服务描述有两种方式,一种是直接发布,另一种是通过UDDI注册。直接发布是指服务提供商直接将服务描述发送到请求对象,可以通过Email、FTP或者光盘发布。统一描述、发现和集成协议(UDDI)计划为描述服务、发现商业实体和集成商业服务创建了一个平台独立的开放式架构,同时又是当前可操作的注册中心。
请求对象服务描述的发现分为两个阶段。在设计阶段,请求对象通过支持的接口类型搜索Web服务;在运行阶段则基于通信方式和服务的质量。
4实例分析
4.1HG2002SCADA系统概述
华工电气公司的HG2002系统是一套基于Internet的变电站综合自动化系统,采用了XMLWeb服务。用户通过Internet对实时信息进行访问,信息通过Internet使用VLSI的布局和路由技术自动产生一线图形的分层机理。用户也可以在服务端通过Internet控制变电站的操作。SCADA系统Web服务实现了零客户安装、按需求访问、平台独立性和事务管理等强大的在线功能。
[1][2]下一页