主要内容

实现一个FMU块

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

  1. 创建模型并添加FMU块。

  2. 在块对话框中,输入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块

双击该块。假设您输入了一个名为fmuVehicAOB.fmu从您的当前文件夹。的FMU控件中定义的FMU参数fmuVehicAOB.fmu文件。

参数选项卡

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

模拟选项卡

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

  • 若要输入相对容差,请选择启用FMU公差然后设置。

  • 若要确定模型中块的采样时间,请设置通信步长.从Simulink继承步长金宝app®解算器,设置为-1.只有当FMU是共模拟FMU时,此选项才可用。

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

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

    • 文件,保存到slprj \ _fmu \ _logs_modelnamemodelname_blockname. txt

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

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

  • 根据返回状态过滤日志,选中所要返回状态的复选框。

输入和输出总线选项卡

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

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

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

fmudialog.createBusType (gcb)

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

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

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

“平”-将输入分离成单独的信号。

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

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

“平”-将输出分离成单独的信号。

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

FMUParamMapping 更改参数的层次结构。

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

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

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

参数包含在结构体.若要单独列出参数,请设置FMUParamMapping财产“平”

set_param (gcb,‘FMUParamMapping’,‘平’)

时间的考虑

命令设置FMU块的采样时间通信步长参数。此块采样时间设置,tC,与所有Simulin金宝appk块一样,必须是模型采样时间的整数倍,t.金宝app如果通信步长,Simulink将生成一个错误tC不是模型步长的倍数t

FMU的本地步长tl另一方面,它是FMU规范的一部分,只有FMU内部知道。为了正确的操作,通信步长,tC也必须是的整数倍tl.如果模型采样时间t或者块采样时间tC与FMU本地步长不兼容tl, FMU可能会在运行时产生错误,也可能不会,这取决于它的实现。

故障排除FMUs

如果使用FMU有问题:

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

  • 选择启用FMU调试日志选中“FMU模块仿真”选项卡上的复选框。

  • 请联系FMU供应商。

另请参阅

|

相关的话题

外部网站