当前位置:首页 > 工业控制 > 《机电信息》
[导读]摘要:针对风力发电机组控制系统中的控制算法在更新过程中测试环境搭建复用度低、测试用例覆盖率低、对控制算法测试不充分等问题,提出了基于风场真实数据以及引用成熟的测试框架GoogleteSt对算法进行测试的方法,将传统的测试方法与新的测试方法相结合;并且提出了对算法测试结果的评测方法,形成了测试闭环,对保证风力发电机组控制算法的正确性和稳定性具有重要的实际意义,在风力发电机组更加安全、可靠运行等方面有良好的促进作用。

引言

风能是一种可再生的清洁能源,在当前全世界能源危机逐渐凸显的情况下,有必要采用合理的方式进行风能资源的利用。我国地理条件复杂,要想充分发挥风能的作用,需要借助先进的技术手段。随着机械学和力学等学科的不断发展,风力发电技术得到进一步的升级转化。作为新能源主力军之一,风电行业在2022年仍然保持着一路高歌的态势。国家能源局日前发布数据显示,我国风电并网装机容量突破3亿kw,较2016年底实现翻番,是2020年底欧盟风电总装机的1.4倍、美国的2.6倍,已连续12年稳居全球第一。

控制系统对于风力发电机组的安全、可靠运行甚至是整个风厂的正常运转都具有着十分重要的作用,但是随着风电技术应用的推广和机组功率的增大,出现了许多控制难题,如时变性、非线性、多干扰性、耦合性等。为此,现代科学家将智能控制方法引入了风电机组控制系统,不断优化风电机组控制系统的动态特性和控制效果。在控制技术逐渐走向成熟的过程中,对控制算法的测试是保证该过程稳步前进的基础。随着风力发电技术的发展,全面完善的控制算法测试与评测技术的重要性也日益凸显。

1风力发电控制算法

1.1风电机组模型

风电机组控制系统的设计和分析方法都涵盖在经典控制理论范围内,需要在控制系统设计前对风电机组动态模型进行线性化。线性化模型至少包含传动链的动态特性、塔架的前后振动、功率或转速响应、变奖执行机构的响应等,如图1所示。

控制算法主要对转矩和奖距进行控制。转矩控制和奖距控制的基本方法都是PI控制,但不同的是,转矩PI控制器的Kp和Ki是固定值,而变奖PI控制器的Kp则是随奖距角8变化的,其形式为:

式中:K为滤波器;增益G为奖距角8的非线性函数,在控制上一般采用查表法实现;S为转速;Ti为时间常数。

风力发电机组通过控制转矩来控制转速,通过控制奖距来控制功率。为了维持控制系统的稳定,在系统中加入了反馈校正系统。

一个完整的风电机组控制系统除了要保证高发电效率外,还应避免过多的变奖动作和发电机转矩调节,抑制传动链和塔架振动,避免轮毂、叶片以及塔架等的负载过大。因此,设计控制算法时必须考虑这些影响。

1.2常用的控制算法

1.2.1塔架振动控制

塔架前后振动控制用于增加塔架前后振动模态阻尼,减小塔架前后振动,从而减小塔架载荷。塔架前后振动控制的实现过程包括:塔架前后振动加速度测量值通过滤波、比例控制器后得到输出,输出值为变奖补偿量,施加到变奖控制的奖距角给定值。

塔架左右振动控制用于增加塔架左右振动模态阻尼,减小塔架左右振动,从而减小塔架载荷。塔架左右振动控制的实现过程包括:塔架左右振动加速度测量值经过积分、比例控制器后得到输出,输出的量为补偿量,施加到扭矩控制的输出值。

1.2.2暴风控制

暴风控制为风力发电机组软切出控制。截至目前,风电机型最常见的切出风速设计为18~.0m/S,根据不同类型的项目中实际的风资源情况进行统计,如果经评估确定该风速段的发电收益接近最大值(.0~.5m/S风速段),那么可进行软切出控制。软切出控制在原本停机的风速下保持正常发电运行,在大风况地区能明显增加发电量。

1.2.3雷达前馈控制

在机舱上方安装激光测风雷达,通过雷达光束测得前方来风的风速以及风向信息,经过前馈计算,提前进行变奖,极大地减小了极限载荷。激光雷达还可识别阵风,不仅避免了极端载荷,还可以保证机组安全。

1.2.4双模控制

低风速地区,不仅发电量受影响,还会频繁切出停机,针对这种情况,通过控制变流器运行模式,将脱网转速减小,延长发电曲线,在小风情况下能够启机发电,增加发电量。

2控制算法测试方法

大功率、长叶片技术的快速发展,给风力发电机组控制系统提出了新的要求和挑战,为了保证发电机组安全可靠运行,对控制算法的设计和测试尤为重要。本节对控制算法的测试方法进行详细说明,在实际运用中,采用传统测试方法结合新的测试方法,更能发现算法中潜在的问题。

2.1传统测试方法

现有的算法测试方法,基本都是依托Bladed仿真软件进行算法的仿真测试。半物理仿真测试中,采用真实的控制器,变流器和发电机部分采用虚拟环境代替,将控制算法封装成算法库,在控制器中周期调用。控制算法所需激励由三部分组成,如图2所示。

第一部分由Bladed模型提供,模型提供风速的设定、模态分析相关参数、功率传动链等相关信息。

第二部分由HardwareteStplan提供,在仿真开始之前,可以在plan文件中对单个或多个变量设置值,通过对时序的控制,在不同时刻对算法输入不同的值,从而收集算法的输出进行分析。

第三部分由HMI软件提供,通过变量的ADS地址映射,将所需改变的变量开放到HMI软件中,在仿真过程中人工修改HMI上对应的值,可以仿真出不同的工况。

该方法类似第二种方法,优点在于操作方便、使用简单;缺点是不能控制在某个时刻精准触发,在对时序要求不高的情况下使用较多。

2.2基于真实数据的测试方法

在传统的测试方法中,从风速到控制算法变量的指定都是人为构造的数据。人为构造的数据在测试用例覆盖率方面具有局限性,和实际风场收集的数据存在较大的差异。因此,在对算法测试的用例中,可以选用现场实际收集(通过SCADA或Matlab)的数据经过处理后作为测试用例,再输入到算法中运行,运行结束后分析算法输出结果,如图3所示。

现场数据选用标准包含两方面:一方面,需涵盖各种地形的风场数据:另一方面,收集现场故障数据,将故障分类并在每类故障中选择代表性数据作为算法输入。

现场真实数据随着故障的收集会不断扩增,使用Python脚本对数据集进行统一管理,并按照一定的顺序输入到算法中,节省了仿真的时间,大幅提高了测试效率。

2.3基于GoogleteSt框架的测试方法

GoogleteSt是测试技术团队根据谷歌的特定要求和约束条件开发的测试框架,同时支持Linux、windowS以及Mac三种操作系统环境,主要针对C++代码,不仅支持单元测试,还支持生成测试报告。

在控制算法测试中,2.1、2.2小节中提及的方法依然是基于Bladed仿真环境进行的。但受环境约束或基于某些算法模块特定的需求,可以脱离Bladed环境进行测试。例如,在仿真测试中出现了内存占用过高的问题,通过走读代码无法定位问题语句,则可以将采集到的输入数据保存至文本,在GoogleteSt中将文本作为算法模块的输入,并统计模块中每个变量的变化情况以及函数的耗时,进而分析出根本原因。

基于GoogleteSt框架的测试方法需要在控制算法源代码中引入测试框架头文件,再将待测的算法模块以及输入数据作为测试用例。例如,DSP算法中需要测试将采集到的转速数据写入CSV文件功能以及该功能消耗的时间,将功能函数返回值以及期望值作为参数传入ExPECTE0函数,进行结果对比,然后在外部调用框架中teSting类的InitGoogleTeSt函数,返回ⅠRNALLTESTS函数即可。运行程序可得到测试结果,由测试结果可知DSP算法中所测函数写入功能是否正确,且耗时具体到微秒。通过该类测试方法,可以很容易地测得算法中更为详细的运行信息,从而弥补其他测试方法的缺陷。

3测试结果评测

风力发电控制算法的仿真结束后,需要对结果进行评测,以判断算法是否符合设计需求。

3.1功能验证

首先对变量进行采集,在整个测试过程中需要关注的变量分为两类,如表1所示:一类是固定的重要变量,贯穿所有测试内容:另一类是针对性变量,即针对特定的内容所需要关注的变量。

另外,变量采集后,需要对变量的时序进行分析,从而确定结果是否正确。对测试结果有如下两个参考标准:

(1)变量的变化符合算法设计。例如,验证停机工况时,需要查看停机后功率设定值是否按照设计的速率下拉,脱网指令是否在满足条件时进行下发,收奖速率是否按照设计进行,同时需要核对状态机的运行时间和顺序是否正常。以上相关变量需同时符合设计。

(2)变量的变化收敛。在测试过程中,固定的重要变量若出现持续性或间歇性发散、振荡现象,则需要对算法逻辑以及参数进行排查。更新测试后,保证变量在运行稳定的情况下变化也趋于稳定,说明满足需求。

3.2性能验证

性能测试贯穿启机到停机所有过程,可以验证因内存泄漏或通道过载造成的CPU占用率过高的问题。性能测试可以通过观察内存的实时占用百分比从而判断是否存在问题,如图4所示。

正常情况下,内存使用率在20%~40%,持续超过50%则认为内存使用异常。此时,可以使用GoogleteSt测试方法,根据算法的函数、变量变化和耗时进行排查。

4结语

本文针对风力发电控制算法提出了两种新的测试方法一基于现场真实数据测试以及使用GoogleteSt框架测试,这不仅弥补了传统测试方法的不足,解决了测试覆盖率低的问题,还大幅提高了算法测试的效率。本文通过对风力发电控制算法测试结果从功能和性能两个维度进行评测,验证了算法的正确性和稳定性,保证了整个测试流程的闭环。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

运动控制技术是数控机床的关键技术,其技术水平的高低将直接影响一个国家装备制造业的发展水平。目前,多轴伺服控制器越来越多地运用在运动控制系统中,具有较高的集成度和灵活性,可实时完成运动控制过程中复杂的逻辑处理和控制算法,能...

关键字: 运动控制 DSP 控制算法

模糊控制的设计尚缺乏系统性,这对复杂系统的控制是难以奏效的。难以建立一套系统的模糊控制理论,以解决模糊控制的机理、稳定性分析、系统化设计方法等一系列问题;

关键字: 模糊控制 控制算法

摘 要:表决逻辑结构在多通道余度系统的研究和应用中起着核心作用,针对该问题,设计了一个具有动态同步表决控制的逻辑结构,该逻辑结构用来控制表决时间并监测表决数据。理论分析和实验表明,该表决算法在最大限度保证表决正确性的前提...

关键字: 多通道 余度系统 表决 控制算法 可靠性分析

今天推荐一篇在TCPBBR技术里面分析非常透彻的文章,希望大家可以学习到一些真正的知识,理解其背后的设计原理,才能应对各种面试和工作挑战!宏观背景下的BBR1980年代的拥塞崩溃导致了1980年代的拥塞控制机制的出炉,某...

关键字: TCP 拥塞控制 控制算法

PID是十分优美的控制算法,在工业控制应用地十分广泛,有的时候,无需知道系统模型的情况下,只要经验法去调整参数P、参数I和、参数D就可以到达期望的控制效果; 不过之前一直停留在把系统当作黑盒的方式进行调试,根据系统的时间...

关键字: PID 控制算法

PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。

关键字: 嵌入式 控制算法

在自动控制中,PID(Proportion-Integrationi-Differentiation:比例-积分-微分)控制算法在近一个多世纪以来在空城控制领域中占据了主导地位。它是由苏联工程师Minorsky在1922...

关键字: pid 控制算法

啥是PID?PID是一种很常见的控制算法,已经有107年的历史了……

关键字: pid 控制算法

PID应该大家都听说过,应用也非常广泛,但大部分人弄明白其中原理,本文通过案例来描述PID的原理。

关键字: 控制算法 pid

模块化参考设计帮助用户为各种应用选择不同的功能块,缩短上市时间、节省BOM成本及资源

关键字: MCU 控制算法 逆变器
关闭