基于S7-1500 Software Controller CPU的风电场功率控制系统

王迥波

(西门子工厂自动化工程有限公司 北京)

Wind park control system based on CPU S7-1500 software controller

[摘要] 本文首先介绍了风力发电场功率控制系统的特点,然后提出了以西门子CPU S7-1507s Software Controller实时控制器和Linux嵌入式系统结合的系统方案。风电场功率控制系统与风机之间采用PROFINET实时通信,保障了系统的实时响应。接着采用ODK 1500s和Target 1500s工具开发了风场控制器的系统功能,为风力发电场功率控制提供了一套安全可靠的系统方案。

[关键词] 风能、风力发电场、场群控制、Software Controller CPU

[Abstract] This paper introduces the characteristics of wind park controller firstly.Then the wind park controller system base on CPU s7-1500 software controller and LINUX embedded system has been proposed.In order to ensure the real-time response of the system,PROFINET has been use for communication between wind turbines and wind park controller.With the help of ODK 1500s and target 1500s,the functions of wind park controller has been developed.A safe and reliable system solution for the wind farm power has been designed.

[Key Words] wind power、wind park、wind park controller、software controller CPU

一、项目简介

随着全球气候变化加剧,风力发电技术逐步进入人们的视野。近些年来,我国风电装机容量不断增加,电力系统中风力发电所占比重不断扩大,以风力发电场为单位的功率控制系统也越来越受到重视[1]

新疆金风科技股份有限公司(以下简称金风科技)是从事大型风力发电机组研究、开发与生产制造的企业,公司总部位于乌鲁木齐。公司成立于1998年,1999年成功地完成600 kW风力发电机的研制工作,通过科技部和自治区科技厅组织的联合验收鉴定。2017年,中国风电统计有新增装机的整机制造企业共22家,新增装机容量1966万kW。其中,金风科技新增装机容量达到523万kW,市场份额达到26.6%,位居装机容量排行榜首位,图1为金风科技某风力发电场。

图1 金风科技某风力发电场

风力发电场功率控制系统根据上一级电网调度指令,控制风场内各风力发电机的有功功率输出以减少风力发电场的电网冲击,最终达到智能电网对风电场有功功率控制能力的要求。风力发电场的控制和单台风力发电机的控制有着本质的区别,风力发电场控制系统的输出是风场内所有风力发电机组输出的有功功率总和。由于风能具有间歇性和随机性等特点,使得风力发电场的有功功率控制变得更为复杂[2]。由于电网的特殊性,电网安全也越来越受到社会各界的重视,非Windows嵌入式系统将成为风电场控制器的基本要求。

根据系统要求,本系统主要器件清单见表1。

表1 风力发电场控制系统配置清单

二、控制系统构成

S7-1500 Software Controller CPU 是西门子公司开发的基于PC的新一代软 PLC。S7-1500 Software Controller CPU采用革新的虚拟化技术Hypervisor,将使得Windows系统与Software Controller完全独立。当Windows系统重启时,Software Controller仍可继续运行,执行控制任务。在虚拟化Hypervisor的基础上,也可以将Windows系统禁止启动运行,在工业PC上单独运行Software Controller。它的出现极大地完善了PLC产品系类。它将PLC 控制、数据处理、通信、可视化、工艺集成于一台PC上,除此之外,它还集成了motion控制功能。S7-1500 Software Controller CPU 相比西门子上一代软PLC WinAC RTX 功能更加完善,它将成为基于 PC 自动化解决方案的理想平台。S7-1500 Software Controller CPU具有以下特点:

1)支持多种通信,包括PROFINET、PROFINET IRT、PROFIBUS、PROFIenergy、I-device、OPC UA、Open User Communication等。

2) 具有S7-1500 ODK,支持高级语言编程功能,使复杂的控制算法得以轻易实现。

3) 具有Target 1500s工具,轻松实现MATLAB高级语言程序集成。

4) 支持Web SERVER功能。

5) 支持Trace功能,对系统运行过程中的数据监视提供了极大的便利。

6) 集成系统诊断功能和Know-How保护功能。

7) 借助于虚拟化Hypervisor技术,然后提出了以西门子CPU S7-1507s Software Controller与Windows系统相互独立,在一些安全等级比较高的场合,可以禁用后门比较多的Windows系统,以达到系统安全运行的目的。

为了满足风力发电场控制系统对风机实时控制以及强大数据分析功能的需求,风电场功率控制系统从硬件上分为两个部分,即嵌入式设备和实时控制器。风电场功率控制系统接口框图如图2所示。

图2 风电场功率控制系统框图

实时控制器采用SIMATIC 机架式 PC即IPC647D,搭载西门子S7-1507s Software Controller CPU[3]。为满足风力发电场安全运行的需要,禁用了后门较多的Windows系统。实时控制器主要完成风场内各台风机的协同控制功能。它通过PROFINET与风场内各台风力发电机主控系统中的倍福CX5020 控制器进行实时通信,获取风机运行数据并给风机下发控制指令。

嵌入式设备采用西门子IPC647D 工控机。安装Linux操作系统,在对风场内各风机历史运行数据存储的同时对风场内各台风机的历史数据进行分析,获取各台风机实际的风功率曲线与设计风功率曲线的差异以及风场内各台风力发电机之间的相互影响关系,进而优化风电场的功率控制。此外,它为风力发电场控制器提供丰富的外部数据以太网接口,包括与工业云的通信以及与电网调度系统之间的通信。

三、控制系统完成的功能

嵌入式设备中采用大数据分析的方法获取风场内各台风机的个体差异,以对各机组的风功率曲线进行修正,属于数据分析处理的范畴。本文将重点讨论实时控制器中的风场功率控制。

在实时控制器中软件采用模块化设计方式,主要包括风机通信模块,风功率预测模块,优化模块,功率分配模块,嵌入式系统通信模块。系统功能框图如图3所示。

图3 系统功能框图

风机通信模块完成风场控制系统与风场内各台风力发电机之间的通信。风场内各台风机的主控系统中采用倍福嵌入式控制器CX5020对风机进行控制。倍福原有的PLC通过安装软协议站实现PROFINET的主从通信。本方案中IPC647D搭载的Software Controller作为主站,基于PROFINET通信连接倍福的嵌入式控制器。在西门子的TIA Portal环境中导入倍福嵌入式控制器的设备描述文件,在设置完从站的IP地址、站点名称以及IO通信发送时钟后,即可实现Software Controller与倍福控制器的通信。风场功率控制系统通信网络如图4所示。

图4 风场功率控制系统通信网络

风功率预测模块根据各台风机处的风速以及风机的风功率曲线预测风机输出功率最大值。风功率预测模块开发过程如下:

1)通过S7-1500 Software Controller CPU的Web server 将风场内各台风力发电机组的理论风功率曲线以.CSV文件的方式存储在S7-1500 Software Controller CPU中。

2)在系统运行时,通过读取.CSV文件获取各台风机的风功率曲线。

3)结合各台风机的风速以及风功率曲线对风机输出最大功率能力进行预测。

优化模块根据嵌入式系统中历史数据的分析结果对各台风力发电机组理论风功率曲线进行修正。优化模块中算法复杂,采用C++以风力发电机组为对象开发更为方便。西门子强大的ODK 1500s开发包为S7-1500 Software Controller CPU的C/C++高级语言开发提供了有力支持。采用ODK 1500s开发包开发优化模块包含以下3个步骤,

1)首先在Eclipse工程环境用使用C++语言开发优化算法生成.SO程序文件。

2)通过Web Server将.SO程序文件下载到PLC中。

3)在PLC中激活并调用此.SO程序文件即可。

有功功率分配模块根据电网调度设定的风力发电场有功功率、风场内各风力发电机的运行状态,并结合各台风力发电机的个体特征差异控制风场内各台风力发电机组的输出功率。有功功率分配算法是风电场功率控制系统的核心,既要对风力发电机组进行优化控制,满足电网调度需求,又要满足机组经济运行。本文的有功功率分配算法模块采用MathWorks 公司推出的数学计算软件SIMULINK进行开发。首先在SIMULINK对风场进行建模,然后在SIMULINK中开发有功功率控制算法并进行仿真,仿真完成后借助西门子的Target 1500s 工具对SIMULINK中的程序自动生成到S7-1500 Software Controller CPU中可运行的.SO文件以及SCL连接程序。有功功率模块使用SIMULINK开发,并借助于西门子Target 1500s工具,大大缩短了有功功率模块的开发了仿真时间,提高了效率。西门子的Target 1500s是SIMULINK仿真软件上的插件[4],软件开发过程如下,

1)在SIMULINK中建立风场模型。

2)配置模型参数,并在Code Generation中选择Target 1500s作为系统目标文件。

3)调整仿真参数进行仿真,仿真完成后,通过生产按钮即可在SIMULINK中自动生产算法的.SO执行文件以及西门子TIA Portal中的.SO程序调用文件.SCL。

4)通过Web Server 将功率分配算法的.SO程序文件下载到Software Controller的ODK 1500S 文件夹下。

5)将生产的.SCL文件以外部源文件的形式导入到TIA Portal中,并生产程序块。

6)在TIA Portal程序中调用第5步中生产的程序块,并下载程序。

四、项目运行

本项目开始于2017年5月,历时6个月开发完成。2018年2月完成车间调试。由于西门子CPU S7-1507s Software Controller自身的功能特点满足了客户的需求,得到了客户的好评。

五、应用体会

本项目为西门子 CPU S7-1507s Software Controller控制器在风力发电场功率控制技术中的首次应用项目之一。主要有以下几点心得,

1) 由于电网的特殊性,电网安全越来越受到社会各界的重视。自2016年开始,非Windows嵌入式系统成为风电场控制器的基本要求。本项目提出的基于西门子CPU S7-1507s Software Controller的双IPC结构,填补了国内非Windows系统风场控制器的空白。不同于其他传统的基于Windows系统的嵌入式PLC品牌,它借助于SIEMENS Hypervisor,在场群控制器中移除了Windows系统,使CPU 1507s Software Controller单独运行于IPC中,既满足了风场控制器非Windows系统的安全要求,又满足了风场控制器对风场内所有风机历史数据分析的要求。

2) 风场功率控制系统与风场内各台风机之间采用PROFINET进行实时通信,相比目前行业里主流的MODBUS TCP,OPC等通信方式,具有更好的实时性,保障了风机的实时响应。

3) 采用西门子ODK 1500s工具,用户将原有的C++高级编程语言开发复杂风功率预测功能生产了运行于实时核中的.SO文件。不需要采用PLC的编程语言重新编写控制程序,减少了移植过程中可能出现的问题,加速了项目的开发进度。

4) 由于西门子Target 1500s的存在,使PLC编程与强大的数学工程软件SIMULINK联合开发成为可能,本项目中采用SIMULINK开发功率分配模块功能,大大缩短了开发周期。

5) 西门子CPU S7-1507s Software Controller 的 Trace 功能,用于监视系统运行时的过程数据,为系统调试提供了极大便利。

参考文献

[1] 石一辉,张毅威,闭勇,等.并网运行风电场有功功率控制研究综述[J].中国电力,2010,43(6):11-14.

[2] 行舟,陈永华,陈振寰,等.大型集群风电有功智能控制系统控制策略:风电场之间的协调控制[J].电力系统自动化,2011,35(20):20-23.

[3] S7-1500 Software Controller CPU 1505SP (F),CPU 1507S (F) Version 2[OL].

[4] STEP 7 (TIA Portal) options Target 1500STM for Simulink® V1.0 [OL].