本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

Model

引用另一个模型来创建模型层次结构

  • 库:
  • Simulink / Ports & Subsystems

    HDL Coder / Ports & Subsystems

说明

Model 模块允许您将一个模型作为模块包含在另一个模型中。被包含的模型称为引用模型,而通过 Model 模块包含该引用模型的模型称为父模型

Model 模块显示与引用模型顶层输入和输出端口对应的输入和输出端口。使用这些端口可将引用模型连接到父模型中的其他模块。有关详细信息,请参阅模型引用

默认情况下,双击 Model 模块可使引用模型的内容对用户可见。但是,您可以将引用模型设置为受保护模型,以此来隐藏模型的内容。

要设置引用模型和仿真参数,请打开 Block Parameters 对话框并使用 Main 选项卡。要指定模型参数的值,请使用 Arguments 选项卡。

端口

输入

全部展开

对于引用模型中的每个根级别 InportEnableTrigger 模块,Model 模块都有一个对应的输入端口。Model 模块端口的名称与相应引用模型输入模块的名称相匹配。Model 模块的输入信号对于相应的引用模型输入模块来说必须有效。请参阅模型引用接口和边界

输入信号可以具有 Simulink 支持的任何数据类型的实数或复数值,包括总线对象、总线数组、定点和枚举数据类型。有关数据类型的详细信息,请参阅Simulink 支持的数据类型

输出

全部展开

对于引用模型中的每个根级别 Outport 模块,Model 模块都有一个对应的输出端口。Model 模块端口的名称与相应的 Outport 模块的名称相匹配。Model 模块的输出信号是来自相应引用模型 Outport 模块的信号。请参阅模型引用接口和边界

输出信号可以具有 Simulink 支持的任何数据类型的实数或复数值,包括总线对象、总线数组、定点和枚举数据类型。有关数据类型的详细信息,请参阅Simulink 支持的数据类型

参数

全部展开

在模块上显示模块内容的表示形式。有关详细信息,请参阅 预览模型组件的内容

编程用法

参数ContentPreviewEnabled
类型:字符向量
'on' | 'off'
默认值'on'

Main 选项卡

引用模型的路径。文件名必须是有效的 MATLAB® 标识符。扩展名(例如 .slx)是可选的。文件名包含的字符必须少于 60 个,其中不包括 .slx.mdl 后缀。

要导航到要引用的模型,请点击 Browse

要查看您指定的模型,请点击 Open Model

编程用法

参数ModelFile
类型:字符向量
'' | '<file name>'
默认值''

指定 Model 模块的仿真模式。Model 模块的仿真模式可以不同于其引用模型和模型层次结构中的其他模型的仿真模式。

  • Accelerator” - 为引用模型创建 MEX 文件,然后通过运行 S-Function 执行引用模型。

  • Normal” - 以解释方式执行引用模型,就像引用模型是在父模型中直接实现的原子子系统一样。

  • Software-in-the-loop (SIL)” - 此选项需要 Embedded Coder® 软件。根据 Code Interface 参数设置生成生产代码。代码针对主机平台编译并在主机平台上执行。

  • Processor-in-the-loop (PIL)” - 此选项需要 Embedded Coder 软件。根据 Code Interface 参数设置生成生产代码。此代码针对目标平台编译并在目标平台上执行。对于主机与目标之间的数据交换,软件提供了正式的目标连接 API,支持在 PIL 仿真的每个时间步进行此类数据交换。

Model 模块的四个角反映了 Model 模块的仿真模式。对于 Normal 模式,四个角为空心三角形。对于 Accelerator 模式,四个角为实心三角形。对于 SIL 和 PIL 模式,四个角为实心三角形,且模块图标上显示有 (SIL)(PIL) 字样。

虽然您可以将引用模型设置为 Rapid Accelerator 模式,但仿真会忽略引用模型仿真模式。有关模型层次结构中仿真模式优先级的信息,请参阅为模型层次结构选择仿真模式

编程用法

参数SimulationMode
类型:字符向量
'Normal' | 'Accelerator' | 'Software-in-the-loop' | 'Processor-in-the-loop'
默认值'Normal'

指定是从顶层模型还是从引用模型为 SIL 和 PIL 仿真模式生成代码。要将生成的代码部署为使用引用模型的较大应用程序的一部分,请指定 “Model reference”。要将生成的代码部署为独立应用程序,请指定 “Top model”。

Model reference

作为模型层次结构的一部分,从引用模型生成代码。代码生成使用 slbuild('model', 'ModelReferenceCoderTarget') 命令。

Top model

通过独立的代码接口,从顶级模型生成代码。代码生成使用 slbuild('model') 命令。

依存关系

要显示并启用此参数,请从 Simulation mode 下拉列表中选择 “Software-in-the-loop (SIL)” 或 “Processor-in-the-loop (SIL)”。

编程用法

参数: CodeInterface
类型:字符向量
值:'Model reference' | 'Top model'
默认值:'Model reference'

控制 Model 模块上初始化事件端口的显示。

off

删除端口。

on

显示模型初始化事件端口。

编程用法

模块参数:ShowModelInitializePort
类型:字符向量
值:'off' | 'on'
默认值:'off'

控制 Model 模块上重置事件端口的显示。

off

删除端口。

on

显示模型重置事件端口。

编程用法

模块参数:ShowModelResetPorts
类型:字符向量
值:'off' | 'on'
默认值:'off'

控制 Model 模块上终止事件端口的显示。

off

删除端口。

on

显示模型模块端口。

编程用法

模块参数:ShowModelTerminatePort
类型:字符向量
值:'off' | 'on'
默认值:'off'

控制 Model 模块上周期性事件端口的显示。

off

隐藏端口。

on

显示基于速率的模型的端口。基于速率的模型是为连接的 Inport 模块指定了 Sample time 的模型。

如果要手动指定端口速率,请将参数 AutoFillPortDiscreteRates 设置为 'off',然后将端口速率添加到参数 PortDiscreteRates

编程用法

模块参数:ScheduleRates
类型:字符向量
值:'off' | 'on'
默认值:'off'

控制 Model 模块上周期性事件端口的显示。

Ports

显示基于速率的模型的端口。

Schedule Editor

为基于速率的模型创建分区。

编程用法

模块参数:ScheduleRatesWith
类型:字符向量
值:'Ports' | 'ScheduleEditor'
默认值'Ports'

Instance Parameters 选项卡

显示实例参数并指定特定于实例的值。实例参数是已在引用模型中进行配置、用于对模型的每个实例使用不同值的模块参数。

要指定特定于实例的值,请使用表中的 Value 列。要指定参数值可以被父模型覆盖,请选中 Argument 复选框。有关在引用模型中配置实例参数以及在 Model 模块中指定特定于实例的值的详细信息,请参阅 参数化可重用引用模型的实例

更改特定于实例的值时,可以使用部分结构体,该结构体的字段仅对应于您希望更改其值的实例参数。不包含在此部分结构体中的实例参数保持其值不变。在结构体中包含实例参数名称和值,表示为字符向量。

编程用法

模块参数ParameterArgumentValues
类型:结构体
值:结构体
默认值:不包含字段的结构体
模块参数:InstanceParameters
类型:结构体数组
值:包含下列字段的结构体:NameValuePathArgument

模块特性

数据类型

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | integer[a] | single[a] | string[a]

直接馈通

多维信号

有限[a]

可变大小信号

有限[a]

过零检测

[a] 实际支持的数据类型或功能取决于模块实施。

兼容性注意事项

全部展开

从 R2019a 起会发出警告

扩展功能

在 R2006a 之前推出