主要内容

将模型导出为工具耦合的FMU

集成Simulink.金宝app®组件到第三方软件中,将SIMULINK模型导出为工具耦合功能模型单元(FMU)。金宝app当第三方工具运行FMU时,它会检查所需的许可证,并启动Limulink的本地安装以启动模型。金宝app工具耦合FMUS支持FMU封装的固定步金宝app骤和变速求解器。

使用项目导出FMU。打开模型并选择>项目>来自此模型的新项目从模型创建项目。

您可以交互式地从项目中导出FMU。

  1. 在项目中,选择共享>工具耦合FMU

  2. 输入版权描述,FMU图标领域。点击保存设置和导出为并提供名称。

生成的FMU包括模型实现,以及导出期间提供的元数据。

<?xml version = " 1.0 " encoding = " utf - 8 " ?>

您还可以从命令行创建和导出一个fmu,如下所示:

>> p = slproject.create('vdpproject')>> copyfile(哪个('vdp'),'./vdpslave.slx')>> p.addfile('./ vdpslave.slx')>> simuli金宝appnk.fmuexport.export金宝appsimulinkprojecttofmu(p,'vdpslave.slx',' -  fmuname','vdpfmu')

有关命令行的更多FMU导出选项,请键入:

帮助sim金宝appulink.fmuexport.exportsimulinkprojectTofMu.

该模型必须满足这些出口条件:

  • 模型必须处于正常或加速模拟模式。

  • 根输入和输出端口必须具有数字数据类型。

如果联合仿真组件是从Simulink导出的FMU。金宝app该FMU的局部采样时间为原始模型的采样时间。

包括用于工具耦合FMU的可调参数

要包含可调参数:

  1. 从关联的Simulink项目打开模型。金宝app

  2. 在Simulink金宝app模型中,单击造型标签并启动模型资源管理器。

  3. 选择模型工作区并添加一个MATLAB®变量或Simulink参金宝app数。

  4. 对于您添加的和想要调优的每个参数,在数据属性金宝appSimulink.Parameter.窗格,选择论点复选框。

  5. 点击申请

  6. 引用模型中的可调参数。

  7. 导出工具耦合FMU。

使用导出的工具耦合FMU

导出的FMU需要在本地安装Simulink才能运行。金宝app联合仿真使用的MATLAB版本必须与输出FMU的MATLAB版本相同。在Windows上®,则运行FMU的应用程序可以自动签出所需的许可证。对于其他操作系统,应用以下设置:

  • 在Linux上®

    seteNv ld_library_path $ {ld_library_path}:<安装手册> / bin / glnxa64:<安装手册> / extern / bin / glnx64(csh / tcsh)导出ld_library_path = $ {ld_library_path}:<安装删除器> / bin / glnxa64: / extern/ bin / glnxa64(bash)

  • 苹果系统

    setenv dyd_library_path $ {dyld_library_path}:<安装文件> / bin / maci64:<安装手册> / extern / bin / maci64(csh / tcsh)导出dydd_library_path = $ {dydd_library_path}:<安装文件> / bin / maci64: / extern/ bin / maci64(bash)

为了苹果系统,由于系统完整性保护(SIP),setenv命令不适用于启动新进程的应用程序,例如MATLAB。跟随在Mac中附加库“dydd_library_path”的库路径设置dyd_library_path.< InstallationFolder > / bin / maci64: < InstallationFolder > /走读生/ bin / maci64

在运行FMU之前,必须从操作系统控制台设置MATLAB会话。设置此会话后,启动第三方应用程序并导入工具耦合的FMU。每个FMU实例都需要一个新的MATLAB会话。

启动一个专用会话马铃薯

如果导入FMU的应用程序运行FMU的单个实例,则可以使用MATLAB启动会话。

>> SharematlabforfMucosim.

这将当前MATLAB会话用于外部工具的请求,以共同模拟一个导入的FMU。当一个FMU连接到这个会话时,Simulink编辑器和Simulink项目被加金宝app载,联合仿真自动启动。您可以使用此会话暂停、恢复联合模拟,以及在联合模拟运行时从命令窗口调优参数或绘制信号。如果联合仿真已经完成,被用户停止,或者被运行时错误中断,MATLAB关闭,卸载Simulink编辑器和Simulink项目,并放弃对模型的更改。金宝app如果发生错误,它将显示在导入该FMU的仿真工具中。每个会话可以同时连接到一个FMU实例。

从操作系统启动专用会话

如果导入FMU的应用程序运行多个FMU实例,则可以使用操作系统控制台启动专用MATLAB会话。

  • 在Windows上:

     \ toolbox \ shared \ fmu_share \ script \ fmu-matlab-setup.cmd

  • 在Linux和苹果系统

     / toolbox / shared / fmu_share / script / fmu-matlab-setup

matlabroot在MATLAB中找到。安装程序启动并等待命令。通过键入查看可用命令帮助

>帮助命令列表:退出 - 关闭所有共享MATLABS并退出。列表 - 列表共享MATLABS。start number_of_matlabs  -  start number_of_matlabs更多matlabs。stop number_of_matlabs  -  stop number_of_matlabs matlabs。忽略 - 停止在启动MATLAB时询问硬件核心计数。Clean Matlab_number  - 清理Matlab #matlab_number的Matlab工作区。适用于所有MATLABS。帮助 - 打印命令列表。

为每个FMU启动一个会话以并发运行。如果只有一个FMU,类型:

>开始1

如果有三个FMUs并发运行,输入:

>开始3

在一台机器上只能运行一个MATLAB管理工具。

相关的话题