李福先,杨亮亮
(1.武汉数字工程研究所,湖北 武汉 430074;2.浙江理工大学,浙江 杭州 310018)
在一个现代化的大型风电场中,有效地监视和控制各风力发电机组的状态,保证整个风电场安全、可靠、经济地运行至关重要。近年来在风电行业得到广泛应用的监控与数据采集(SCADA)系统为解决大规模风电场的发电机组的系统监控提供了基本的技术途径,但传统的SCADA系统既存在与不同厂商的硬件设备之间通讯接口协议不一致的难题,又存在跨平台和提升网络通信能力的瓶颈,给系统设计、优化、扩展带来不便。而OPC接口既能通过网络把风机控制设备的原始数据提供给人机接口、历史数据库等应用程序,也适用于应用程序和物理设备的直接连接,具有接口标准的高度柔软性,有效地解决了硬件厂商和软件开发商之间通讯接口标准兼容的问题。本文提出了一种基于OPC-XML-DA规范、在Internet环境下以Web服务层为监控系统中间层的B/S(浏览器/服务器)模式的风力发电机组远程监控系统方案,既解决了风机控制硬件设备通讯接口协议兼容的问题,又增强了风电远程监控系统跨平台、网络通信的能力,并在1MW风力发电机组远程监控系统中成功应用。
OPC是一个用于访问过程数据的标准化接口,它基于微软的COM/DCOM,并在自动化领域访问数据时根据需求将其扩展。OPC技术采用C/S模式,用于客户程序和服务器之间的数据通信,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。它具有语言无关性、代码重用性、易于集成性等优点[1,2]。随着网络技术的发展和风电行业管理系统对风电机组监控要求的提高,基于COM技术的OPC标准开始无法满足要求。为此,OPC基金会正式发布了OPC XML-DA规范1.0版[3]。OPC XML-DA规范建立在OPC DA基础上,重点定义在数据访问规范上,用于将OPC数据向Internet上的应用程序开放。OPC XML-DA既兼容了原有OPC DA提供的不用开发专门通信软件就可以访问设备的优势,又能轻松实现远程和跨平台数据的交换。该规范基于XML的Web Senrice技术。Web Service主要提供通过网络直接获取各种服务的接口,并通过标准的网络协议提供给网络用户,在Intemet任何节点、任何平台上的应用程序只要符合Web Service的标准都可以从它的公共接口获取服务,便于不同的应用程序在Internet上共享和交换数据[4]。
本文提出的基于OPC-XML-DA规范、以Web服务层为监控系统中间层的B/S模式的风力发电机组远程监控系统框图如图1所示。该方案实现了浏览器或客户端应用程序通过Intemet对OPC服务器的访问,可实时地读取机组的数据、发布机组控制指令。
图1 基于OPC-XML-DA的B/S模式风力发电机组远程监控系统
系统采用三层B/S架构。应用层的OPC DA客户为基于COM/DCOM的客户端应用程序,OPC XML-DA客户为IE浏览器,操作者通过HTTP向Web服务器发送XML文件请求,Web服务器接收到该请求后,将XML文件传送给客户浏览器,浏览器阅读页面并显示出来。
业务逻辑层的Web服务器主要用来接受客户端的响应,从实时数据库中读取风机实时状态数据,发布到浏览器上供监控操作者查看,将收到的客户端的控制信息存入实时数据库,供OPC应用服务器提取;OPC应用服务器主要功能是通过OPC标准接口从OPC服务器采集数据,根据用户需要对数据进行处理,既能通过ODBC把数据送人实时数据库中,又可以通过ODBC从实时数据库中读取来自远程浏览器端的控制信息,并对这些控制信息进行判断,然后通过OPC标准接口将修改的参数值等控制信息递交到OPC服务器中,OPC服务器再将控制信息传递给风机控制器;OPC服务器既执行整个系统的控制策略、协调管理数据服务层,又处理风机控制器向OPC应用服务器的各种请求。
数据服务层用于实现风电机组数据源查询更新,事务管理,高速缓存,安全及多用户存取控制等,并以统一的格式向OPC应用服务器提供订阅风电机组的实时数据和历史数据。
该B/S模式的架构便于远程监控客户端用Web浏览器,向Web服务器发送各种请求,接收所需的网页,不需要与后台数据库连接,而远程监控中心建立的后台数据库可专门用来存储、统计、查询发电机组历史数据,拟合风电参数历史曲线、描绘风电系统要求反应的图形和历史趋势。这样,远程监控系统各层内部的参数修改、完善不会影响监控中心整个系统的使用,提高了系统的可靠性、灵活性和可维护性。
B/S架构中数据服务层的OPC服务器主要用来读取/写入数据从风电机组控制器PLC/到OPC应用服务器,通过它浏览器客户端或客户端应用程序实现对机组控制器操作指令的下达和缓存区数据的读取分析。针对风电机组远程监控系统的特点,实现的1 MW风电机组B/S模式远程监控系统的OPC服务器架构如图2所示。
图2 1MWB/S模式风电机组远程监控系统OPC服务器架构
风电机组的控制程序被下载到PLC控制器时,会生成一个符号文件,该文件被存入OPC网关服务器。符号文件包含条目信息,一个条目严格对应一个风机参数变量,利用这些条目可调用控制器中的风机参数变量值。OPC服务器从网关服务器中请求符号文件的内容后生成一个条目列表,条目列表会在控制器定义的时间间隔内被更新。读取和写入风机参数变量值的使用取决于被设为“激活的”条目的数量。OPC服务器支持数据分组,分为由OPC服务器分配的“公共组”和由一个客户端组成的“私有组”。如果在配置中激活相应的选项,OPC服务器将条目分组成智能块,每个块生成一个“公共组”,在客户端中可按需求将独立的条目组合成“私有组”,“私有组”可根据它们是否被访问这一命令去激活或取消激活特定的变量组,OPC服务器可同时读取所有变量。OPC服务器不是一个被动的子程序库,而是一个在客户端与服务器之间建立连接时被启动的可执行程序[5]。当启动客户端浏览器或客户端软件并建立通讯时,OPC服务器自动启动,从条目列表中选择相应的风机参数变量。设计客户端软件时须优化通讯,将条目分到独立的组中,这些组以一种方式定义,且只包含必须同时被更新的条目,这些组只在需要时被激活。浏览器客户端或客户端应用程序根据监测和控制风机状态参数的需要来指定条目,通过Web服务器、OPC应用服务器和OPC服务器来操作发电机组控制器,实现对机组的数据监测和指令控制。
图3 客户端应用程序与OPC服务器的部分通讯数据
实现的1 MW风电机组远程监控系统与机组控制器通讯成功后,客户端应用程序与OPC服务器的部分通讯数据如图3所示。该远程监控系统综合实现了风电机组的数据采集、记录备份,数据的组织、数据关系的建立,机组的控制,故障报警指示与分类查询,报表图形曲线、系统安全、分布式网络管理等功能。
基于OPC-XML-DA规范、以Web服务层为监控系统中间层的B/S模式的风力发电机组远程监控系统解决了风机控制设备硬件之间通讯接口协议不一致的问题,完成了分散在风电场的机组控制系统间的数据共享、各子控制系统控制指令的协调,实现了跨平台地对风电机组的远程监测控制、数据采集、参数调节以及事故报警等功能,为风电场的管理者和运营商提供了系统、完整的风电场信息,帮助快速诊断系统故障,提高了生产效率,代表了风电能源监控的发展趋势。
[1] 唐置玲,汪小澄.基于OPC技术实现INFI—90系统实时数据开放[J].电力系统自动化,2004,28(6):88-90.
[2] 陈坤,冷杉,刘哲.基于OPC的虚拟DCS对象调试软件开发[J].电力自动化设备,2004,24(10):39-44.
[3] OPC Foundation.OPC XML-DA 1.0 Specification[DB/OL].[2003-7-12].http://www.opcfoundation.org.
[4] 徐进学,胡红武,刘玉梅.基于OPC技术的远程监控系统方案设计[J].沈阳工业大学学报,2007,29(5):574-577.
[5] 潘爱明.COM原理和应用[M].北京:清华大学出版社,2006:34-45.