Ansys twin builder如何用Simulink生成的FMU模型文件进行仿真
项目场景:
simulink仿真功能强大,可以满足我们很多的仿真需求,要将simulink中生成的组件导入到其他的软件当中(如Ansys twin builder),可以通过FMU来实现。本文演示如何通过simulink生成FMU文件并在Ansys twin builder中进行仿真。
问题描述:
主要问题:
1.如何通过simulink生成FMU文件。
2.simulink和twin builder中如何配置。
解决方案:
matlab的版本为:matlab2019b
Ansys twin builder的版本为 Ansys twin builder 2020R2;
操作步骤:
1.下载FMU工具
github下载链接 https://github.com/CATIA-Systems/FMIKit-Simulink/releases
这里用的是2.9版本。
2.将要生成FMU的mdl文件与下载的FMU工具的压缩包放在一个新建的文件夹中(注意不要放在matlab的路径下)。
双击压缩包,会自动解压成FMkit-Simulink-2.9;
3.双击打开mdl文件,启动simulink;点击APP
点击下三角;
点击simulink code;
这时会出现C code;
点击settings;
4.设置solver
需要注意的是生成FMU文件必须设置仿真步长为固定步长,可以根据具体情况选择仿真步长,其他可以参考图中设置。
5.设置Code Generation
在matlab中设置工作路径(FMIkit-Simulink-2.9下的grtfmi文件夹)
这时可以选择System target file为grtfmi.tlc;点击Apply,OK;
这时点击cmake,设置cmake路径;我存放cmake的目录如下:
所以我的路径填D:\lianxi\fmu\cmake-3.20.5-windows-x86_64\cmake-3.20.5-windows-x86_64\bin\cmake.exe;
我的电脑上安装的是Visual Studio 2017;所以最终配置如下:
这时点击Build,就可以在当前matlab工作路径中生成FMU文件了。
6.打开Ansys twin builder;
导入FMU文件
导入成功,Ansys twin builder 窗口中会出现模型。
设置仿真器参数与simulink中一致,注意到simulink生成FMU时,固定步长1e-7;仿真时间为0.1s,所以这里仿真器参数设置如下:
开始仿真,仿真结果图如下;
与simunlink仿真结果进行对比,发现是一致的,问题解决;