主要内容

将模型导出为工具耦合FMU

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

使用项目导出FMU。打开模型并选择新的>项目>新项目从这个模型从模型中创建项目。

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

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

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

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

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

您还可以通过命令行创建和导出项目到FMU,如下所示:

>> p = slproject.create('vdpProject') >> copyfile(which('vdp'), './vdpSlave.slx') >> . addfile ('./vdpSlave.slx') >>金宝app Simulink.fmuexport.ExportSimulinkProjectToFMU(p,'vdpSlave.slx','-fmuname','vdpFMU')

要从命令行获取更多的FMU导出选项,请输入:

帮助Sim金宝appulink.fmuexport.ExportSimulinkProjectToFMU

模型必须满足以下条件才能导出:

  • 模型必须处于正常或加速器仿真模式。

  • 根输入和输出端口必须是数值数据类型。

如果共仿真组件是从Simulink导出的FMU。金宝appFMU的本地采样时间是原始模型的采样时间。

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

包括可调参数:

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

  2. 从Simulink金宝app模型中,单击建模选项卡并启动模型资源管理器。

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

  4. 对于您添加和想要可调的每个参数,在数据属性或者金宝app仿真软件。参数窗格中,选择争论复选框。

  5. 点击应用

  6. 参考模型中的可调参数。

  7. 导出工具耦合FMU。

使用导出的工具耦合FMU

导出的FMU需要本地安装Simulink以运行。金宝app用于共模的MATLAB版本必须与MATLAB版本相同,其中FMU被导出。在Windows上®,运行FMU的应用程序可以自动查看所需的许可证。对于其他操作系统,请应用以下设置:

  • 在Linux上®

    setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/bin/glnxa64:/ bin/glnxa64:/ bin/glnxa64 (csh/tcsh) export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/bin/glnxa64:/extern/bin/glnxa64 (bash)

  • Mac OS

    setenv DYLD_LIBRARY_PATH ${DYLD_LIBRARY_PATH}:/bin/maci64:/extern/bin/maci64 (csh/tcsh) export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/bin/maci64:/extern/bin/maci64 (bash)

Mac OS,由于系统完整性保护(SIP),setenv.命令不适用于启动新进程的应用程序,如MATLAB。遵循在MAC中添加库路径到"DYLD_LIBRARY_PATH设置DYLD_LIBRARY_PATH<安装手册> / bin / maci64:<安装手册> / extern / bin / maci64

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

启动一个专用会话MATLAB

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

> > shareMATLABForFMUCoSim

这使当前的MATLAB会话可用于来自外部工具的请求,以共同模拟导入的FMU。当FMU连接此会话时,加载了Simulink Editor和Simulink项金宝app目,并且共模自动启动。您可以使用此会话暂停,恢复协同仿真,以及COM命令窗口的调整参数或绘图信号。如果完成共同仿真,则由用户停止或由运行时错误中断,MATLAB关闭,卸载Simulink Editor和Simulink项目,并丢弃模型的更改。金宝app如果发生错误,则会在导入此FMU的模拟工具中显示它。每个会话都可以同时连接到一个FMU实例。

从操作系统开始专用会话

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

  • 在Windows上:

    < matlabroot > \工具箱\ \ fmu_share \ \ fmu-matlab-setup.cmd脚本共享

  • 在Linux和Mac OS

    < matlabroot > /工具箱/共享/ fmu_share /脚本/ fmu-matlab-setup

运行matlabroot.在matlab中找到了< matlabroot >.安装程序启动并等待命令。通过输入查看可用命令帮助

> help命令列表:quit—关闭所有共享的MATLABs并退出。list -列表共享的MATLABs。start NUMBER_OF_MATLABS -启动NUMBER_OF_MATLABS更多的MATLABs。stop NUMBER_OF_MATLABS—停止NUMBER_OF_MATLABSignore -当启动MATLABs时,停止询问硬件核心数。clean MATLAB_NUMBER -清理MATLAB工作空间的MATLAB #MATLAB_NUMBER。所有的MATLABs都使用0。help -打印命令列表。

为每个FMU启动一个会话以同时运行。如果有一个fmu,请键入:

>开始1

如果有三个fmus同时运行,请键入:

>开始3.

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

相关话题