使用 Simulink Real-Time 应用功能模型单元
创建包含 FMU 模块的模型后,可通过 Simulink® Real-Time™ 将模型构建并下载至目标计算机。
FMU 对 Simulink Real-Time 的限制
以下限制适用:
Simulink Real-Time 支持 FMU 模块用于协同仿真模式。
Simulink Real-Time 不支持模型交换模式下的 FMU 块。
Simulink Real-Time 不支持多速率 FMU 模块。
Simulink Real-Time 生成一个包含数值参数和字符串参数的掩码对话框。Simulink Real-Time 仅为数值参数生成代码。
要将包含 FMU 模块的 Simulink 模型转换为 Simulink Real-Time 模型,请将模型配置参数设置为与实时执行兼容的值:
在代码生成窗格中,将系统目标文件设置为
speedgoat.tlc或其他 Simulink Real-Time STF。在求解器窗格中,将类型设置为
Fixed-step。在求解器窗格中,将固定步长设置为与模型实时要求兼容的步长。
使用 QNX Neutrino 工具为 FMU 生成共享对象 SO 文件。更多信息请参阅 slrealtime.fmu.compileFMUSources。
随后,您可以将模型构建并下载到目标计算机上,运行实时应用程序。此过程在目标计算机上加载所需的 FMU 二进制文件。有关创建 FMU 文件的更多信息,请参阅编译功能模型单元的源代码。
创建目标对象并连接
为默认目标计算机创建目标对象,并连接到目标计算机。在命令行窗口中,输入:
tg = slrealtime; connect(tg);
打开模型
要在命令行窗口中打开一个包含在 Simulink Real-Time 中运行的 FMU 块的示例模型,请输入:
model = 'slrt_ex_vanderpol'; open_system(model); modelSTF = getSTFName(tg); set_param(model,"SystemTargetFile",modelSTF);

关闭模型
bdclose(model);