主要内容

实现一个FMU块

实现一个块并分配一个功能模型单元(FMU)给它。然后,您可以探索块,以看到FMU。本示例使用FMU.块与车辆fmu。

  1. 创建模型并添加FMU.堵塞。

  2. 在块对话框中,输入FMU文件的路径名称FMU名称参数并单击好吧申请.文件扩展名.fmu是可选的。

    第一次点击好吧申请,块标识要将FMU设置为FMU的FMU模式,共模拟或模型交换。

    该街区也创造了一个slprj / _fmu /fmu_name.文件夹并将FMU文件的内容解压缩到此文件夹中,可选择包括:

    • 二进制文件- fmu二进制文件

    • 文件- FMU文档HTML文件

    • 资源- FMU源文件

    • 来源- FMU源文件

    • 其他支持文件金宝app,如块掩码和描述文件

FMU块图标和端口标签更新到相应的FMU的标签。将块与fmu与fmu关联后,如果要更改FMU,请右键单击FMU块,然后选择块的参数,并输入新的FMU名称FMU名称.本节使用的FMU来自在FMU导入块中使用总线信号和结构参数的例子。

探索FMU块

双击块。假设您输入了一个名为的FMUfmuvehicaob.fmu.从您当前的文件夹。这FMU.块对话框反映了所定义的FMU参数fmuvehicaob.fmu.文件。

参数选项卡

列出FMU块参数。根据需要编辑这些值。您可以通过展开树视图来编辑结构参数的元素。

仿真标签

启用日志记录和关联的自定义。

  • 要输入相对容差,请选择启用FMU容忍度并设置它。

  • 要确定模型中块的采样时间,请设置沟通的步长.从Simulink继承步骤大小金宝app®求解器,设置为-1.这个选项只有在FMU是联合仿真FMU时才可用。

  • 要启用日志记录,请选择启用FMU调试日志记录

  • 将调试日志重定向到,选择日志的目标。

    • 文件,保存到slprj \ _fmu \ _logs_型号名称\modelname_blockname.. txt

    • 展示,显示在Matlab中®命令窗口。

    如果是启用FMU调试日志记录复选框被选中,则将调试日志重定向到参数设置为展示,则不能使用FMU模块进行联合仿真。有关联合模拟和多核的更多信息,请参见在多个核上运行共仿仿真组件

  • 通过返回状态过滤日志,选中所需返回状态的复选框。

输入和输出总线选项卡

这两个选项卡列出了块定义的输入和输出总线对象。

总线对象名称参数时,您可以更改总线对象名称以匹配工作空间中定义的总线对象。

要在工作区中创建总线对象:

fmudialog.Createbustype(GCB)

更改块输入、输出和参数结构

您可以使用以下参数更改FMU块输入端口,输出端口和参数的布局:

范围 行动 设置
fmuinputmappping. 更改输入端口的层次结构。

“平”- 将输入分开到单个信号中。

“结构化”-将输入组合成信号结构(总线)。

fmuoutputmappping. 改变输出端口的层次结构。

“平”—将输出分离为单个信号。

“结构化”- 将输出组合成信号(总线)的结构。

FMUPARAMMAPPAPPAP 更改参数的层次结构。

“平”—将参数划分为单独的参数,按参数名称和值列出。

“结构化”- 将参数结合到参数值的结构中(塑造)。

使用get_param.set_param.函数来设置这些值。例如,假设一个带有结构构造的块参数选项卡:

参数包含在一个塑造.要单独列出参数,请设置FMUPARAMMAPPAPPAP财产“平”

set_param(gcb,'fmuparammapping','flat')

时间考虑因素

您可以使用FMU块设置示例时间沟通的步长范围。此块采样时间设置,T.C与所有Simulink金宝app块一样,必须是模型采样时间的整数倍数,T.m.金宝app如果通信步长,则Simulink会产生错误T.C不是模型步长的倍数T.m

FMU的局部步长T.L.另一方面,是FMU规范的一部分,并且仅在内部才能知道FMU。为了正确操作,通信步长,T.C也必须是一个整数倍数T.L..如果模型采样时间T.m或块采样时间T.C与FMU局部阶段大小不兼容T.L.,FMU可能或可能不会在运行时产生错误,具体取决于其实现。

故障排除FMUS.

如果使用FMU存在问题:

  • 检查FMU与FMI标准的合规性。使用FMU Compliance Checker.

  • 选择启用FMU调试日志记录复选框在FMU块模拟选项卡上。

  • 联系FMU供应商。

也可以看看

|

相关的话题

外部网站