OPC技术在风电场监控系统中的设计与实现
2016-07-23刘涛董华莉廖宏
刘涛,董华莉,廖宏
(东方电气自动控制工程有限公司,四川德阳,618000)
OPC技术在风电场监控系统中的设计与实现
刘涛,董华莉,廖宏
(东方电气自动控制工程有限公司,四川德阳,618000)
摘要:文章利用OPC技术设计了风电场监控系统集成方案,此方案可以将风机与其他控制设备互连,形成开放、可靠、安全的网络系统。根据OPC的通信模式及标准,开发了基于OPC动态链接库的服务器驱动程序及客户端接口。
关键词:OPC,监控系统,客户端
0 引言
目前,风电场自动化水平不断提高,监控系统综合应用也越来越多,但存在多系统、多协议并存的局面。由于风机厂商保密的原因,一般使用专有通信协议,造成风机监控系统成为风电场监控乃至远端的信息孤岛,严重影响整个风电场监控系统的安全可靠性。因此,设计一个符合行业标准的开放型互联网络成为了亟待解决的问题。
本文以过程控制对象链接与嵌入(OPC)技术为基础,简要阐述了如何构建风电场内的数据采集与监控(SCADA)系统集成方案,重点讨论了OPC客户端的软件开发过程。
1 风电场监控系统
1.1风电场连接及监控中心
风电场监控系统可分为风电场连接和监控中心2个部分。风电场连接实现的是SCADA系统的数据采集工作,每台风机的数据信息来源于主控制器,通过光纤、交换机等设备传递给监控中心。监控中心通过安装于计算机上的风电场监控软件为风电场操作人员提供了解风电场各种信息的接口、画面以及对风机进行运行操作。对于一个大型的风电场来说,按照风机的地理位置布局,可以组成多个环网,每个环网内风机数量大约在2~10台,采用自愈型光纤以太环网结构,风电场环网结构图如图1所示。
图1 风电场环网结构图
风电场监控中心布置在风电场中控室内。工作人员能够根据画面的切换随时了解风电场风力发电机的运行情况和进行控制操作。风电场监控中心通过风电场光纤以太网环路与就地控制室的系统进行通讯。
监控中心设立了1对互为热备的实时数据库服务器,采集和保存所有的现场数据,同时作为报警服务器和事件服务器;根据需要设立一定数目的客户端节点,作为操作员站;设立1台工程师站作为组态和维护。监控中心作为1个风电场所有风机核心的管理中心,将风电场管理型交换机组建的光纤环网汇聚至中控室的中心交换机,中心交换机再将采集的数据传递给工程师站和操作员站。另外,通过软件授权,还可以使用VPN技术连入异地监控计算机。
1.2基于OPC的集成方案
风电场所属的风机主控制器、有功无功控制系统、监控系统、预测及管理系统等因设备厂家不同而造成协议各种各样,需要有协议转换的软硬件,完成不同的通信协议之间的转换,使现场总线控制系统成为可靠、开放的数据通信网络。
OPC技术提供的标准接口符合风电场本地监控系统通信标准IEC61400-25,可以简单高效地实现以上不同系统的无缝连接。进行具体系统集成时,除了要满足用户的实际功能需求外,更重要的是还要保证电力系统的安全可靠性要求。因此,可以用OPC实现风电场监控系统的互连。图2示意了基于OPC监控中心的网络拓扑图。
图2 监控中心数据交换拓扑图
本文提出利用OPC技术的集成方案。首先将风机控制系统映射成1个远程终端装置(RTU),集成到监控系统数据采集平台中,由驱动程序采集具有专用协议通信的风机主控制器数据,与监控系统无缝互连,利用以太网实现风电场中现场总线系统到监控系统之间的数据传输。风电场监控主机集成OPC服务器,电气控制系统通过标准DCOM与监控主机相连,比如有功及无功控制系统等,同时还可为电厂生产管理系统、风功率预测系统提供数据。
本系统方案在不变动现有设备及协议的情况下,使所有系统通过OPC标准接口互通互连。OPC技术在自动化领域是非常成熟的技术,借用OPC快速开发工具实现软件系统设计,工具采用动态链接库(DLL),系统开发人员只要按照DLL提供的标准应用程序接口(API)就可以进行相关的集成开发。
2 OPC技术应用
OPC标准是一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。OPC主要包括2个构件:OPC服务器和OPC客户端。1个OPC客户端可以与多个OPC服务器通信,只要它们遵循统一的规范;同样,1个OPC服务器也可以为多个OPC客户端提供服务。
OPC服务器作为软件主板和数据总线,集成了不同的现场设备,统一完成数据的访问和协议转换;符合OPC接口规范的各种监控、管理应用模块作为客户端获取OPC服务器数据,实现风电场数据的全互连。
2.1数据访问方式
OPC的数据访问方式分别有同步访问、异步访问和订阅式数据采集方式3种,针对风电场这种大数据量的传输,采用了订阅式。采用订阅式数据采集方式的服务器按一定的更新周期更新数据缓冲器的数值时,如果发现数据有变化时,就会以数据变化事件通知OPC应用程序。客户端编程使用异步通信,OPC客户程序对服务器进行读写操作时,OPC客户程序操作后立刻返回,不用等待OPC服务器的操作,可以进行其他操作,当0PC服务器完成操作后再通知OPC客户程序。因此,相对于同步通信和异步通信的效率更高,适用于风电场多客户访问同一OPC服务器和大量数据的场合。这使得编程模式能有效减少网络数据包,降低服务器的访问压力。
2.2服务器与客户端框架
OPC标准采用C/S模式,OPC服务器负责向OPC客户端不断地提供数据。OPC服务器包括3类对象(Object):服务器对象(Server)、组对象(Group)和项对象(Item)。3类对象都包括一系列接口,关系如图3所示。
图3 OPC接口关系示意图
利用OPC技术,可以对现场设备及其驱动程序进行封装,形成OPC服务器。OPC服务器向下对风机数据进行采集,向上与OPC客户应用程序通信完成数据交换。OPC服务器具备数据提供方的驱动程序,客户端开发人员编写符合OPC接口规范的程序,而不必再去关心上层的驱动程序,就可以与OPC服务器进行数据交换。这样,在工业过程控制系统中,过程或设备监控程序,通过以太网,可以方便地与现场设备的OPC服务器进行数据交互,获得所需的现场数据。
本文重点设计客户端程序。从技术上来讲,OPC客户端是一个应用程序所使用的软件模块,其目的在于使此应用程序能够与它在网络上能够发现的、任何符合OPC通信标准的服务器通讯。典型地来讲,OPC客户端被嵌入于HMI、趋势分析工具、历史数据库和报告生成工具之类的应用程序中,目的在于使这些应用程序自然地支持OPC接口。这些应用在风电场监控软件中都是必需的。
3 OPC客户端程序设计
本文使用DA3.0版本,软件方面需要Windows操作系统,然后在此系统上配置DCOM服务器,OPC服务器软件需要根据具体的风机主控制器的数据源协议编写相应的驱动程序。
客户端软件设计使用OPC服务器开发工具包(DLL),以提高代码的重用性。具体程序的设计方法如下:
(1)安装OPC自动化接口服务。在.NET环境下,点击“项目”子菜单下“添加引用”,在弹出的对话框COM中选中“OPCDAAuoto.dll”项,点击“确定”按钮,这样才能使用自动化接口服务。
(2)连接OPC服务器。本文中使用的OPC服务器名为“KEPware.KEPServerEx.V4”,这样才能触发事件(DataChange)来获取实时数据。连接不同的OPC服务器只要改变其服务器名称和OPC服务器所在的计算机名称即可。
(3)添加组、项,关键语句如下:
//添加OPC组
iOpcServer.AddGroup(opcGroup.GroupName,opc Group.IsActive,opcGroup.RequestedUpdateRate,opcG roup.ClientGroupHandle,opcGroup.TimeBias.AddrOfP innedObject(),opcGroup.PercendDeadBand.AddrOfPin nedObject(),opcGroup.LCID,out.opcGroup.ServerGrou pHandle,outopcGroup.RevisedUpdateRate,refopcGrou p.Riid,out opcGroup.Group);
//添加OPC项组
((IOPCItemMgt)opcGroup.Group).AddItems(opc-Group.OpcDataCustomItems.Length,itemDefyArray,out p Results,out pErrors);
//激活订阅回调事件
ActiveDataChanged(IOPCGroupStateMgt);
(4)OPC数据的读和写。对OPC服务器中的数据项读取可以通过group组的DataChange事件触发来读取。该事件有多个参数:其中:NumItems是指数据项的个数;ltemValues为数据项的数据;Qualities为数据项的品质;TimeStamps为数据项的更改时间;ClientHandles是数据项的标签索引,其所指的OPC标签的值在ItemValues中,只有数据发生变化时才会触发该事件,也只会传输发生了变化的数据,没有变化的数据不会出现在本事件ItemValues中。使用C#事件处理机制,将DataChange注册到事件,一旦服务器端数据有变化,自动触发此过程:
(5)断开OPC服务器。OPC客户端连接后占用服务器的资源,所以长时间不需要使用OPC读写数据,而应及时断开OPC连接以释放资源。
4 结语
基于OPC技术构建的风电场监控系统在现场已获得实际应用。通过OPC技术集成构建的系统是开放、分布式系统,OPC技术规范能够支持TCP/IP等网络通信协议以及远程调用方式,便于利用网络节点来集成子系统,从而使应用程序的分布与系统硬件的分布无关。同时,OPC接口支持任何不同厂家系统之间的互连。安全性、可靠性高,风电场的网络体系结构构建了多层次、多方位的安全控制体系,方案中各个现场控制系统独立运行,相互关联性小,保证了系统方案中传输的实时数据是可靠的,这符合电力系统安全性的要求。
OPC规范的应用简化了OPC客户/服务器的开发过程,统一了数据存取的接口标准,将风电场各类型系统与应用软件开发者分离,使得软件开发者无需了解硬件的实质和操作过程,只要遵循OPC标准进行开发,大大简化了过去传输数据的复杂过程。在此介绍了在Visual C#环境下,遵循OPC标准使用动态链接库设计驱动程序及客户端接口代码,以快速、高效地进行底层数据采集,安全、灵活地数据转发,具有较大的应用价值。
参考文献
[1]黄帅.OPC技术在风电场有功功率控制系统中的应用[J].变频器世界,2012,(1):62-65.
[2]陆会明.控制装置标准化通信OPC服务器开发与应用[M].北京:机械工业出版社,2010.
[3]朱立军,安娜,陈末如,等.基于Visual C#的OPC客户端实现[J].现代电子技术,2009,32(2):171-173.
Design and Implementation of OPC in Wind Power Plant SCADA
Liu Tao,Dong Huali,Liao Hong
(Dongfang Electric Auto-control Engineering Co.,Ltd.,Deyang Sichuan,618000)
Abstract:Based on OPC technology,this paper provides integration scheme for wind power plant SCADA.Under this scheme,the wind turbine can be interconnected with other control devices so that the open,reliable and secure network system can be formed. Moreover,according to the OPC communication mode and standard,this paper develops the server drive program and the client inter⁃face on the basis of the OPC dynamic link library.
Key words:OPC,SCADA,client
中图分类号:TP29
文献标识码:A
文章编号:1674-9987(2016)02-0044-04
DOI:10.13808/j.cnki.issn1674-9987.2016.02.011
作者简介:刘涛(1979-),男,工学硕士,2008年毕业于西南交通大学自动控制专业。现从事风电及光伏研发设计工作。