实现一个FMU块
实现一个块并为其分配一个功能模型单元(FMU)。然后,您可以探索该块以查看FMU。此示例使用FMU与车辆FMU阻塞。
创建一个模型并添加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模块
双击该块。假设您输入了一个名为fmuVehicAOB.fmu
从当前文件夹中。的FMU块对话框反映在fmuVehicAOB.fmu
文件。
参数选项卡
列出FMU块参数。根据需要编辑这些值。可以通过展开树视图来编辑结构参数的元素。
模拟选项卡
启用日志记录和相关的自定义。
若要输入相对容差,请选择启用FMU容忍度然后设置它。
要确定模型中块的采样时间,设置通信步长。从Simulink继承步长金宝app®解算器,设为
-1
。此选项仅在FMU是联合仿真FMU时可用。要启用日志记录,请选择开启FMU调试日志。
在将调试日志重定向到,选择日志的目的地。
文件
,保存到slprj \ _fmu \ _logs_
modelname
\modelname_blockname
. txt显示
,在MATLAB中显示®命令窗口。
如果开启FMU调试日志复选框,则将调试日志重定向到参数设置为
显示
,您不能使用FMU块进行联合仿真。有关联合仿真和多核的更多信息,请参见在多核上运行联合仿真组件在根据返回状态过滤日志,选中所需返回状态的复选框。
输入和输出总线选项卡
这两个选项卡列出了块定义的输入和输出总线对象。
在总线对象名称参数时,您可以更改总线对象名称,以匹配工作区中定义的总线对象。
要在工作区中创建总线对象:
fmudialog.createBusType (gcb)
改变块输入,输出,参数和内部变量结构
您可以通过以下参数更改FMU块输入端口、输出端口和参数的布局:
参数 | 行动 | 设置 |
---|---|---|
FMUInputMapping |
改变输入端口的层次结构。 |
|
FMUOutputMapping |
更改输出端口的层次结构。 |
|
FMUParamMapping |
更改参数的层次结构。 |
|
FMUInternalMapping |
改变内部变量的层次结构 |
|
使用get_param
和set_param
设置这些值的函数。例如,假设一个带有结构结构的块参数tab:
参数包含在a结构体
。如果需要单独列出参数,请设置FMUParamMapping
财产“平”
:
set_param (gcb,‘FMUParamMapping’,‘平’)
时间的考虑
可以为FMU块设置采样时间通信步长参数。此块采样时间设置,tC与所有Simulink金宝app块一样,必须是模型采样时间的整数倍,t米。金宝app如果通信步长过大,Simulink会产生错误tC不是模型步长的倍数吗t米。
FMU的局部步长tl另一方面,它是FMU规范的一部分,只在FMU内部知道。为了正确操作,通信步长,tC也必须是?的整数倍tl。如果模型采样时间t米或者块采样时间tC与FMU局部步长不兼容tl, FMU可能会或不会在运行时产生错误,这取决于它的实现。
故障排除FMUs
如果使用FMU有问题:
检查FMU是否符合FMI标准。使用FMU合规性检查。
选择开启FMU调试日志复选框上的FMU块仿真选项卡。
请联系FMU供应商。