Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Model

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

  • 库:
  • Simulink / Ports & Subsystems

    HDL Coder / Ports & Subsystems

  • Model block

说明

Model 模块将一个模型作为模块包含在另一个模型中。被包含的模型称为引用模型,包含 Model 模块的模型称为父模型

Model 模块显示与引用模型顶层输入和输出端口对应的输入和输出端口。使用这些端口可将引用模型连接到父模型中的其他模块。

默认情况下,双击 Model 模块可以查看引用模型的内容。但是,如果您拥有 Simulink® Coder™ 许可证,您可以通过保护模型来隐藏引用模型的实现细节。请参阅保护模型以隐藏内容 (Simulink Coder)。如果您收到受保护模型,请参阅引用来自第三方的受保护模型

要指定引用模型和设置仿真参数,请打开 Block Parameters 对话框并使用 Main 选项卡。要为模型参数指定实例特定值,请使用 Instance parameters 选项卡。

端口

输入

全部展开

Model 模块针对它引用的模型的每个输入端口都有一个对应的输入端口。引用模型的输入端口由 InportIn Bus ElementTriggerEnable 模块定义。Model 模块端口的名称与引用模型中对应端口的名称相匹配。每个 Model 模块端口的输入信号必须对引用模型中的对应端口有效。请参阅模型引用接口和边界

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

输出

全部展开

Model 模块针对它引用的模型的每个输出端口都有一个对应的输出端口。引用模型的输出端口由 OutportOut Bus Element 模块定义。Model 模块端口的名称与引用模型中对应端口的名称相匹配。Model 模块的输出信号是连接到引用模型中的 OutportOut Bus Element 模块的信号。请参阅模型引用接口和边界

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

参数

全部展开

Main

引用模型的文件名,指定为字符向量。文件扩展名是可选的。

文件名必须为模型的有效 MATLAB® 标识符,如模型名称中所定义。

要导航到要引用的模型,请点击 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) 字样。

虽然您可以为模型指定任何仿真模式,但当您引用该模型时,Model 模块会指定引用模型实例的仿真模式。父模型的仿真模式可以覆盖 Model 模块的仿真模式。请参阅覆盖的仿真模式

编程用法

参数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 (PIL)”。

编程用法

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

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

off

删除端口。

on

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

编程用法

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

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

off

删除端口。

on

显示模型重置事件端口。

依存关系

要启用此参数,请向引用模型添加 Reset Function 模块。要指定端口名称,请使用 Reset Function 模块中 Event Listener blockEvent name 参数。

编程用法

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

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

off

删除端口。

on

显示模型终止事件端口。

依存关系

要启用此参数,请选择 Show model initialize port

编程用法

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

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

off

隐藏端口。

on

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

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

编程用法

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

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

Ports

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

Schedule Editor

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

依存关系

要启用此参数,请选择 Schedule rates

编程用法

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

Instance Parameters

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

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

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

编程用法

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

模块特性

数据类型

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

直接馈通

多维信号

有限[a]

可变大小信号

有限[a]

过零检测

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

兼容性注意事项

全部展开

从 R2019a 起会发出警告

扩展功能

在 R2006a 之前推出