主要内容

实现FMU块

实现一个块并为其分配一个功能模型单元(FMU)。然后,您可以浏览该块以查看FMU。此示例使用FMU用车辆FMU阻塞。

  1. 创建模型并添加FMU

  2. 在“块”对话框中,在中输入FMU文件的路径名FMU名称参数,然后单击好啊申请. 文件扩展名fmu先生是可选的。

    第一次单击好啊申请,该块标识要将FMU设置为哪个FMU模式、协同仿真或模型交换。

    该块还创建了一个slprj/_fmu/fmu_名称文件夹,并将FMU文件的内容解压缩到此文件夹中,该文件夹还可以包括:

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

    • 文档-FMU文档HTML文件

    • 资源-FMU源文件

    • 来源-FMU源文件

    • 其他支持文件万博1manbetx,如块掩码和描述文件

FMU块图标和端口标签将更新为相应FMU的标签。将块与FMU关联后,如果要更改FMU,请右键单击FMU块,然后选择块参数,然后在中输入新的FMU名称FMU名称.本主题中的部分使用来自使用FMU导入块简化结构化数据的接口实例

探索FMU块

双击该块。假设您输入了一个名为fmuVehicAOB.fmu从当前文件夹中。这个FMU“块”对话框反映在中定义的FMU参数fmuVehicAOB.fmu文件

参数选项卡

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

模拟选项卡

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

  • 要输入相对公差,请选择启用FMU公差然后设定它。

  • 要确定模型中块的采样时间,请设置通信步长. 从Simulink继承步长的步骤万博1manbetx®解算器,设置为-1。仅当FMU是联合仿真FMU时,此选项才可用。

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

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

    • 文件,保存到slprj\\u fmu\\u日志_模型名称\modelname\u块名.txt

    • 陈列,在MATLAB中显示®命令窗口。

    如果启用FMU调试日志记录复选框被选中,并且将调试日志重定向到参数设置为陈列,您不能将FMU块用于联合仿真。有关联合仿真和多核的更多信息,请参阅在多核上运行联合仿真组件

  • 按返回状态筛选日志,选中所需退货状态的复选框。

输入和输出总线选项卡

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

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

要在工作区中创建总线对象,请执行以下操作:

fmudialog.createBusType(gcb)

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

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

参数 行动 设置
FMUInputMapping 更改输入端口的层次结构。

“平坦”-将输入分离为单个信号。

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

FMUOutputMapping 更改输出端口的层次结构。

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

“结构化”-将输出合并为信号结构(总线)。

FMU参数映射 更改参数的层次结构。

“平坦”-将参数分隔为单个参数,按参数名称和值列出。

“结构化”-将参数组合到参数值的结构中(结构).

使用获取参数设置参数函数来设置这些值。例如,假设块参数选项卡具有结构构造:

参数包含在结构。要单独列出参数,请设置FMU参数映射财产“平坦”:

设置参数(gcb、'FMUParamMapping、'Flat')

时机考虑

您可以使用以下命令设置FMU块的采样时间:通信步长参数此块采样时间设置,TC,与所有Simulin万博1manbetxk块一样,必须是模型采样时间的整数倍,TM. 万博1manbetx如果通信步长过大,Simulink将生成错误TC不是模型步长的倍数TM.

FMU的本地步长TL另一方面,是FMU规范的一部分,仅在内部为FMU所知。为了正确操作,通信步长,TC还必须是的整数倍TL. 如果模型的采样时间TM或块采样时间TC与FMU本地步长不兼容TL,FMU可能在运行时产生错误,也可能不产生错误,这取决于其实现。

故障排除FMU

如果使用FMU时出现问题:

  • 检查FMU是否符合FMI标准。使用FMU合规性检查器.

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

  • 联系FMU供应商。

另见

|

相关话题

外部网站