背景
随着风电技术的不断发展,风力发电机组的设计与优化变得越来越复杂,涉及多个学科领域(如机械、控制、气动、结构等)。需要更高效、精确的工具来进行集成仿真与优化。 Bladed和MATLAB的联合仿真可以提高风力发电机控制算法的可信性并降低控制器设计和分析难度。GH Bladed所提供的能够被用户编辑和改变的接口方式包括DLL和EXE,而Matlab提供的接口方式非常多,包括Matlab Engine、ActiveX、DDE 等。
技术路线
目前Matlab-Bladed联合仿真主流技术路线有两种:
1.通过DLL实现GH Bladed与Matlab的进程间通信,交互软件调用Matlab Engine进行计算,反馈优化结果,实现风力机的联合仿真与实时控制。
2. 通过Matlab中自带s函数实现simulink与Bladed的外部控制器联合通讯实现协同仿真。
基于Matlab Engine技术实现的交互软件
风力发电机被分为桨叶、传动链、发电机、电力电子器件和控制器,其中前4部分可以在 GH Bladed 中通过输入参数来定义和建立模型,而控制器可以通过自编写的DLL来实现。 首先,交互软件通过DLL实现与GH Bladed的 进程间通信以获取所需的数据。然后,交互软件调 用Matlab Engine,并将从GH Bladed 接收到的数据 送入Matlab 中。Matlab 的计算结果再通过交互软件 回调给DLL以控制GH Bladed中已经搭建好的风力机模型,如此循环,从而达到联合仿真的目的。
通讯采用UDP通讯,结构图如下:
该技术实现主要分为三步:
1)Matlab Engine与VS之间的交互
2)VS与Bladed外部控制器之间的交互
3) 最后Bladed与Matlab Engine之间的交互(调用m文件实现联合仿真)
通过交互仿真软件,进行Matlab与Bladed联合仿真验证:
基于S函数实现Matlab-Bladed联合仿真
此处方式主要应用与机组电网适应性及电能质量认证。此处以后再写