查看: 5|回复: 0

如何将 CarSim/TruckSim 模型导出为 FMU 并集成到 Simulink

[复制链接]

10

主题

0

回帖

46

积分

版主

积分
46
发表于 昨天 15:39 |天津| 显示全部楼层 |阅读模式
在车辆动力学仿真中,将 CarSim 或 TruckSim 的高保真车辆模型与 Simulink 中的控制算法进行联合仿真,是一种非常常见的开发流程。功能样机接口(FMI)标准为此提供了极大的便利。
本文将详细介绍如何将 CarSim/TruckSim 模型导出为功能样机单元(FMU),并在 Simulink 中成功导入和使用,实现高效的协同仿真。
准备工作
在开始之前,请确保您的计算机环境满足以下要求:
  • 操作系统: 64 位 Windows 10 或 Windows 11。
  • 硬件配置: 建议至少四核处理器和 16 GB 内存。
  • 软件环境:
    • 已安装并授权的 CarSim 或 TruckSim(本文以 TruckSim 2023.0 为例)。
    • 已安装 MATLAB/Simulink,并具备 FMU 导入功能。
    • 关键点:请确保 CarSim/TruckSim 与 MATLAB 的位数保持一致,推荐统一使用 64 位环境。

第一步:在 CarSim/TruckSim 中创建 FMU
这一步的目标是生成一个可以在联合仿真中运行的 FMU 文件。
  • 选择并复制数据集
    • 在 TruckSim 主界面,通过菜单 Datasets → Simulink Models 选择一个示例数据集,例如 Ext. ABS: Split Mu。
    • 点击工具栏上的 Duplicate 按钮,复制该数据集。在弹出的对话框中,可以保持默认的类别和名称,或根据需要修改,然后点击 Duplicate 确认。
  • 进入 FMU 导出界面
    • 在主界面的 Models: 下拉菜单中,选择 Export FMU/FMI 选项。
    • 系统会提示您链接到一个新的数据集,将其命名为 FMU Simulink 并点击 Create。
    • 接着,点击新生成的蓝色链接 FMU Simulink,即可进入 FMU 的详细配置界面。
  • 配置 FMU 参数
    在 Models: Export FMU/FMI 界面中,进行如下设置:
    • FMI Version: 选择 2.0。
    • Variable Naming Convention: 选择 Structured (Array) 或 Structured (Structure)。
    • FMU Module: 指定生成的 FMU 文件路径和名称,例如 Extensions\FMU_FMI\ABS_FMU_Simulink.fmu。
    • Import Channels: 选择 ABS: Wheel Cylinder Pressures。
    • Import/Export: Export Channels: 选择 ABS (A): Veh. Speed, M/C Pressure。
  • 生成 FMU 文件
    • 返回到 Run Control 界面。
    • 点击 Generate FMU for this Run 按钮。
    • 稍等片刻,系统便会根据您指定的路径生成 FMU 文件。

第二步:在 Simulink 中集成 FMU
现在,我们将在 Simulink 中使用刚刚生成的 FMU。
  • 准备 Simulink 模型
    • 在文件资源管理器中,找到 CarSim/TruckSim 安装目录下的 Extensions\Simulink 文件夹。
    • 将其中的一个示例模型(如 ABS_TS9.mdl)复制到您生成 FMU 的文件夹(如 Extensions\FMU_FMI)中,并重命名为 abs_fmu.mdl。
  • 替换 FMU 模块
    • 使用 Simulink 打开 abs_fmu.mdl 模型。
    • 删除模型中名为 Unspecified FMU Import 的原始模块。
    • 打开 Simulink Library Browser,找到并拖拽一个 FMU Inport 模块到模型中。
  • 配置 FMU 模块参数
    • 双击新添加的 FMU 模块,在弹出的参数设置窗口中:
      • FMU 名称: 点击浏览按钮,选择您在第一步中生成的 .fmu 文件。
      • 通信步长: 切换到“仿真”或相关标签页,将通信步长设置为 0.001 秒。
    • 点击 OK 保存设置。
  • 保存并运行
    • 保存您的 Simulink 模型。现在,您就可以像运行普通 Simulink 模型一样运行它,Simulink 将在每个通信步长调用 FMU 中的车辆模型,实现联合仿真。

补充知识:自包含与外部资源型 FMU
在导出 FMU 时,您可能会遇到“自包含(Self-contained)”和“外部资源型”两种选项,它们各有优劣:
类型
优点
风险/限制
自包含 FMU
便于复制、交付和环境隔离;通常不依赖原始安装目录,可移植性强。
文件体积较大。
外部资源型 FMU
文件体积小;可复用本机的 TruckSim/CarSim 安装和数据,更新方便。
容易写死绝对路径,换电脑或部署到服务器后可能因找不到 DLL 或数据文件而无法运行。
对于模型交付和在不同机器上运行,推荐使用自包含 FMU

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:business@nimbusaether.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部