目前国内从事风电机组整机开发和研制的企业估计约40多家,大型风电场中的风电机组和监控系统一般由多个厂商提供,各厂商的监控系统互不兼容,对风电场中不同类型风电机组的统一监控与管理则缺乏有效研究,难以进行统一维护与管理。针对当前风电场中风机控制系统及电力监控系统多系统并存的情况,将OPC技术引入其中,以实现风电场中风机控制系统和电气控制系统的无缝连接,解决了风电场多系统互联问题。
1. OPC的关键技术
OPC(OLE for Process Control)是对象链接和嵌入技术在过程控制方面的应用,为工业自动化软件的开发提供了统一的标准。OPC技术的目的就是为现场设备或数据库中的大量数据源之间的通信提供统一的传输标准,使得系统集成更加方便。OPC技术也是微软公司为了把Windows应用于控制系统而和控制界共同推出的一项技术。它以微软公司的组件对象模型/分布式组件对象模型(COM/DCOM)技术为基础,为工业控制软件定义了一套标准的对象、接口和属性,通过这些对象接口,实现了应用程序之间数据交换的标准化,从而大大提高自动化设备之间的开放性和互操作性。
A.COM与DCOM技术
随着软件技术的迅速发展,传统的程序升级已经不能满足技术发展的需要,解决这个问题的方法就是将应用程序分割成一些小的应用或组件,然后将这些组件在运行时组装起来形成应用程序。在组件技术规范方面主要有两个标准,其中一个是由微软推出的组件对象模型(Component Object Model,COM)技术。该技术提供了各个软件部件以标准模式在一起工作的框架和技术规范,此规范为了保证能够互操作、客户和组件应遵循的一些二进制和网络标准,任意的两个组件之间可以在不同的操作环境下进行通讯,甚至使用不同的开发语言开发的组件也能实现。COM是一种软件组件间相互数据交换的有效方法。
COM接口的COM规范中最重要的部分,COM规范的核心内容就是对接口的定义,COM都是以接口的形式出现。组件与组件之间、组件与客户程序之间都要通过接口进行交互。接口成员函数将负责为客户过其他组件提供服务。对于COM来说,接口是一个包含一个函数指针数组的内存结构。对于客户来说,一个组件就是一个接口集,任何一个具备相同接口的组件都可对组件都可以对此进行相对于其他组件透明的替换。
B.基于OPC的客户机/服务器数据交换模型
COM技术的出现为控制设备和控制管理系统之间的数据交换简单化提供了技术基础。但是如果不提供各异标准的化COM接口,各个控制设备厂家的COM组件之间的相互连接仍然是不可能的。
随着基于OPC标准的控制组件的推广和普及,不仅使控制系统功能的增减和组件的置换更加简单,而且使过程数据的访问也变得容易。比如,符合OPC规范的过程控制程序可以直接和数据分析软件包或电子表格应用程序连接。
2.OPC数据采集系统设计
在传统的数据采集系统中,监控与数据采集系统(SCADA)、人机接口(HMI)、组态软件等应用程序都是通过驱动程序与现场设备进行通信的,但驱动程序有着它自身的局限性,如同一设备为适应不同的客户端应用程序需要开发不同的驱动程序,造成劳动重复。一旦硬件设备升级,先前开发的驱动程序也应做相应的修改。驱动程序一般采用动态链接库(DLL)的形式,动态数据交换(DDE)是其进行数据交换的主要方式,但这种方式不允许多个应用程序同时访问一个设备。
A.风电场前置机数据采集系统设计
由于OPC定义了一套基于Microsoft OLE/COM或DCOM的接口访问方式,符合或支持OPC协议的应用程序只要基于TCP/IP协议可以互相访问,就可以通过OPC协议交换数据。风场前置接口机上安装多块网卡,需要和风机生产厂家提供的监控系统的工程师站相连,其IP地址设置成与工程师站在同一网段即可。
由于目前各风机生产厂商开放程度的不同,丹麦的Vestas风机开发了OPC接口,用于第三方厂商的接入,西班牙歌美萨风机是提供了其数据库的接口软件(DLL),东汽、华锐等国产风机是与风机控制器进行轮询,转发为MODBUS通讯协议,提供给第三方,由第三方完成。
B. 风电场OPCSever接口软件设计
本文以华锐风机1500为例,介绍风电场OPCSever接口软件的设计方案。
华锐风机是提供与风机控制器的进行通讯的MODBUS数据通讯服务器软件,其软件实现与现场风机进行实时数据交互,我们设计将MODBUS/TCP包装成OPCSever.在使用MODBUS/TCP协议规范时,采用面向连接的方法,在通信时要经过建立连接、传输数据、释放连接三个步骤。
a. MODBUS/TCP的报文解析
(1)MODBUS/TCP请求报文:00 00 00 00 00 06 01 03 00 01 00 78 16 31
前七位为MBAP头,分别为事物处理标识符高位(1位),事物处理标识符低位(1位),协议标识符(2位),长度标识符(2位),单元标识符(1位)。后七位为MODBUS请求报文,03为功能码,为读取保持寄存器的内容,00 01为起始地址,00 78为寄存器数量,16 31为校验码,校验方式为CRC循环冗余校验。
(2)MODBUS/TCP接收报文:00 00 00 00 00 F3 01 03 F0 00 00 40 E0…
从第十位开始,采用单浮点型float,每两位报文为一个寄存器响应数据,其中高字节在前,低字节在后。
b. OPCSever数据访问的实现
OPC数据存取服务器的主要功能是完成数的存取,OPCSever有4种数据访问方法:同步数据访问,异步数据访问,刷新访问,订阅方式访问。在本设计方案中,采用订阅方式进行访问,访问的数据在状态发生改变时主动的通知客户程序刷新数据。
报文解析Sockect通讯模块实现与MODBUS/TCP服务器进行读写操作,解析收到的报文。
OPC接口模块是主要完成OPCSever、OPCGroup和OPCItem的定义、连接、添加和删除等。其定义了订阅方式进行数据访问,OPC基金会提供了标准的接口函数客户以统一的方式去访问。
程序管理模块主要是现场数据的监视,测点信息的管理和从OPC接口模块中接收的项信息,包括时间戳和数据质量。
3. 结论
本文首先介绍了OPC的关键技术——COM和DCOM技术,然后对基于OPC技术的客户机/服务器数据交换模型进行了描述,最后详细介绍了OPC技术在风电场监控系统中的应用——OPC数据采集系统的设计。将OPC技术应用与风电场监控系统中,从根本上解决了不同型号风机设备之间的通讯问题,使风电场的集群管理更加方便。进而,完善了风电企业生产信息化管理平台,提高信息化水平。
1. OPC的关键技术
OPC(OLE for Process Control)是对象链接和嵌入技术在过程控制方面的应用,为工业自动化软件的开发提供了统一的标准。OPC技术的目的就是为现场设备或数据库中的大量数据源之间的通信提供统一的传输标准,使得系统集成更加方便。OPC技术也是微软公司为了把Windows应用于控制系统而和控制界共同推出的一项技术。它以微软公司的组件对象模型/分布式组件对象模型(COM/DCOM)技术为基础,为工业控制软件定义了一套标准的对象、接口和属性,通过这些对象接口,实现了应用程序之间数据交换的标准化,从而大大提高自动化设备之间的开放性和互操作性。
A.COM与DCOM技术
随着软件技术的迅速发展,传统的程序升级已经不能满足技术发展的需要,解决这个问题的方法就是将应用程序分割成一些小的应用或组件,然后将这些组件在运行时组装起来形成应用程序。在组件技术规范方面主要有两个标准,其中一个是由微软推出的组件对象模型(Component Object Model,COM)技术。该技术提供了各个软件部件以标准模式在一起工作的框架和技术规范,此规范为了保证能够互操作、客户和组件应遵循的一些二进制和网络标准,任意的两个组件之间可以在不同的操作环境下进行通讯,甚至使用不同的开发语言开发的组件也能实现。COM是一种软件组件间相互数据交换的有效方法。
COM接口的COM规范中最重要的部分,COM规范的核心内容就是对接口的定义,COM都是以接口的形式出现。组件与组件之间、组件与客户程序之间都要通过接口进行交互。接口成员函数将负责为客户过其他组件提供服务。对于COM来说,接口是一个包含一个函数指针数组的内存结构。对于客户来说,一个组件就是一个接口集,任何一个具备相同接口的组件都可对组件都可以对此进行相对于其他组件透明的替换。
B.基于OPC的客户机/服务器数据交换模型
COM技术的出现为控制设备和控制管理系统之间的数据交换简单化提供了技术基础。但是如果不提供各异标准的化COM接口,各个控制设备厂家的COM组件之间的相互连接仍然是不可能的。
随着基于OPC标准的控制组件的推广和普及,不仅使控制系统功能的增减和组件的置换更加简单,而且使过程数据的访问也变得容易。比如,符合OPC规范的过程控制程序可以直接和数据分析软件包或电子表格应用程序连接。
2.OPC数据采集系统设计
在传统的数据采集系统中,监控与数据采集系统(SCADA)、人机接口(HMI)、组态软件等应用程序都是通过驱动程序与现场设备进行通信的,但驱动程序有着它自身的局限性,如同一设备为适应不同的客户端应用程序需要开发不同的驱动程序,造成劳动重复。一旦硬件设备升级,先前开发的驱动程序也应做相应的修改。驱动程序一般采用动态链接库(DLL)的形式,动态数据交换(DDE)是其进行数据交换的主要方式,但这种方式不允许多个应用程序同时访问一个设备。
A.风电场前置机数据采集系统设计
由于OPC定义了一套基于Microsoft OLE/COM或DCOM的接口访问方式,符合或支持OPC协议的应用程序只要基于TCP/IP协议可以互相访问,就可以通过OPC协议交换数据。风场前置接口机上安装多块网卡,需要和风机生产厂家提供的监控系统的工程师站相连,其IP地址设置成与工程师站在同一网段即可。
由于目前各风机生产厂商开放程度的不同,丹麦的Vestas风机开发了OPC接口,用于第三方厂商的接入,西班牙歌美萨风机是提供了其数据库的接口软件(DLL),东汽、华锐等国产风机是与风机控制器进行轮询,转发为MODBUS通讯协议,提供给第三方,由第三方完成。
B. 风电场OPCSever接口软件设计
本文以华锐风机1500为例,介绍风电场OPCSever接口软件的设计方案。
华锐风机是提供与风机控制器的进行通讯的MODBUS数据通讯服务器软件,其软件实现与现场风机进行实时数据交互,我们设计将MODBUS/TCP包装成OPCSever.在使用MODBUS/TCP协议规范时,采用面向连接的方法,在通信时要经过建立连接、传输数据、释放连接三个步骤。
a. MODBUS/TCP的报文解析
(1)MODBUS/TCP请求报文:00 00 00 00 00 06 01 03 00 01 00 78 16 31
前七位为MBAP头,分别为事物处理标识符高位(1位),事物处理标识符低位(1位),协议标识符(2位),长度标识符(2位),单元标识符(1位)。后七位为MODBUS请求报文,03为功能码,为读取保持寄存器的内容,00 01为起始地址,00 78为寄存器数量,16 31为校验码,校验方式为CRC循环冗余校验。
(2)MODBUS/TCP接收报文:00 00 00 00 00 F3 01 03 F0 00 00 40 E0…
从第十位开始,采用单浮点型float,每两位报文为一个寄存器响应数据,其中高字节在前,低字节在后。
b. OPCSever数据访问的实现
OPC数据存取服务器的主要功能是完成数的存取,OPCSever有4种数据访问方法:同步数据访问,异步数据访问,刷新访问,订阅方式访问。在本设计方案中,采用订阅方式进行访问,访问的数据在状态发生改变时主动的通知客户程序刷新数据。
报文解析Sockect通讯模块实现与MODBUS/TCP服务器进行读写操作,解析收到的报文。
OPC接口模块是主要完成OPCSever、OPCGroup和OPCItem的定义、连接、添加和删除等。其定义了订阅方式进行数据访问,OPC基金会提供了标准的接口函数客户以统一的方式去访问。
程序管理模块主要是现场数据的监视,测点信息的管理和从OPC接口模块中接收的项信息,包括时间戳和数据质量。
3. 结论
本文首先介绍了OPC的关键技术——COM和DCOM技术,然后对基于OPC技术的客户机/服务器数据交换模型进行了描述,最后详细介绍了OPC技术在风电场监控系统中的应用——OPC数据采集系统的设计。将OPC技术应用与风电场监控系统中,从根本上解决了不同型号风机设备之间的通讯问题,使风电场的集群管理更加方便。进而,完善了风电企业生产信息化管理平台,提高信息化水平。