Simulink转FMU模型到Modelica仿真平台调用

本文详细介绍了如何使用FMIKit第三方插件结合Simulinkcoder在挖机工作系统中创建FMI模型,从下载插件、初始化、模型配置到生成FMU模型,并导入Modelica平台进行仿真。重点讲解了Simulink与FMI标准的两种版本区别及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于功能样机接口(Functional Mock-up Interface, FMI)规范的联合仿真方式,成为了实现多领域建模仿真的重要方法。FMI标准中存在着两个版本:Model Exchange(模型交换)和Co-Simulink(联合仿真),这两种方差的差别在于生成的模型中有无原来建模软件中进行模型方程求解的求解器,这也导致其具体的应用场景也不同。其生成原理如图1所示。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图1 Simulimk模型到FMU转换流程

实际操作过程中的方法不唯一,可以选择

1、官方插件Simulink complier+Simulink coder;

2、第三方插件FMIKit+Simulink coder

等等

以某挖机工作系统为例,采用FMIKit(第三方插件)+Simulink coder实现

1、下载第三方开源插件:

FMIkit V3.0-alpha.4版本,如1所示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图1 FMIKit插件

https://github.com/CATIA-Systems/FMIKit-Simulink/releases/tag/v3.0-alpha.4

2、初始化插件

打开MATLAB(以2021b为例),选择插件保存路径文件夹,在工作区添加相对路径并初始化插件,如2所示

addpath('FMIKit-Simulink-3.0-alpha.1')

FMIKit.initialize()

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图2 初始化FMIKit

初始化完毕显示:Initializing FMI Kit 2.9.0,即初始化完毕

3、Simulink模型与Simulink coder插件

加载Simulink挖机工作模型,进行子系统封装并暴露出所需要的接口信息,如3所示,下载官方插件Simulink coder(原RTW工具箱),如4所示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图3 Simulink-挖机工作模型

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图4 Simulink coder

4、配置求解器并生成FMU模型

1)、点击Settings(CTRL+E)进行配置 ,如5所示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图5 Simulink coder-settings

2)、选择定步长求解,如6所示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图6 Simulink-定步长

3)、选择grtfmi.tlc系统目标文件,如7所示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图7 Simulink-grtfmi.tlc

4)、选择合适的C编译器求解(以Visual Studio 16 2019版本为例),如8所示。(环境问题容易造成困扰:Failed to run Cmake

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图9 Simulink-Cmake

5)点击Build(CTRL+B)生成FMU模型,如9所示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图9 Simulink-Build

 

5、导入Modelica仿真平台

选择FMU模型导入,进行加载和求解,如10所示,转换结束

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGx1c0Zlbmc=,size_20,color_FFFFFF,t_70,g_se,x_16

图10 Import FMU

 

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值