主要内容

模型参考基础

可以将一个模型包含在另一个模型中模型块。的每个实例模型Block是模型参考。中的块用于模拟和代码生成引用模型作为一个整体一起执行。包含引用模型的模型是父母模型。父模型和引用模型的集合构成一个模型层次结构

模型既可以作为独立模型,也可以作为引用模型,而无需更改模型或从中派生的任何实体。要将引用的模型用作独立模型,引用的模型不能依赖于只能从更高级别模型获得的数据。

型号参考优势

与子系统一样,模型引用允许您分层地组织大型模型。与库一样,模型引用允许您一次定义一组块并重复使用它。模型引用提供了子系统和库所没有的几个优点。这些优点中的一些来自于独立于上下文编译的引用模型模型块,包括:

  • 模块化开发

    您可以独立于使用它的模型开发一个引用模型。

  • 模型的保护

    与一个金宝app®编码器™许可,您可以模糊引用模型的内容,允许您在不泄露其知识产权的情况下分发模型。

    使用Simul金宝appink license,您可以引用第三方提供的受保护模型。根据授予的受保护模型权限,您可以查看、模拟和生成受保护模型的代码。

  • 参考收录

    您可以多次引用一个模型而不需要创建冗余的副本,并且多个模型可以引用同一个模型。

  • 增量加载

    金宝appSimulink软件在需要时加载参考模型,从而加快了模型加载速度。

  • 加速模拟

    金宝appSimulink软件可以将参考模型转换为代码,并通过运行代码对模型进行仿真,比交互式仿真快。

  • 增量代码生成

    加速仿真仅在模型自之前生成代码后发生更改时才生成代码。

  • 独立配置集

    被引用模型使用的配置集可以不同于它的父模型或其他被引用模型的配置集。

有关总结模型参考优点的视频,请参见使用模型参考的模块化设计(2分50秒)

要比较模型引用、子系统和库,请参见选择不同类型的模型组件。您可以在同一个模型中使用多种组件化技术。

模型层次结构

引用的模型可以包含模型引用低级模型的块。的顶级模特是引用模型层次结构中的顶层模型。如果只存在一层模型引用,则父模型和顶级模型是相同的。为了防止循环继承,a模型块不能直接或间接地引用在模型层次结构中优于它的模型。该图显示了循环继承。

顶级模特参考模型A,模型A参考模型B。被参考的模型A和模型B不能参考顶级模特。模型B也不能引用模型A,因为模型A是它的父模型。

父模型可以包含多个模型块引用相同的模型,只要引用的模型没有定义全局数据。例如,sldemo_mdlref_basic模型包含三个模型块,引用sldemo_mdlref_counter模型。

三个模型块在它们的块图标上显示引用模型的名称(sldemo_mdlref_counter)。

被引用的模型也可以出现在任何级别的其他父模型中。

模型块和引用模型接口

一个模型块显示与其引用的模型的根级输入、输出和控制端口对应的输入、输出和控制端口。要将引用的模型连接到父模型的其他元素,请使用这些模型阻塞端口。将信号连接到a模型块端口将信号连接到参考模型中的相应端口。

在模型sldemo_mdlref_basic,每个模型Block有三个输入:两个常数积木和积木脉冲发生器块。每一个模型块有一个输出信号记录到作用域。因为每个输入信号脉冲发生器每个采样块使用不同的采样时间,每个输出信号模型块对于每个模型实例是不同的。

要连接到父模型,引用模型sldemo_mdlref_counter包括三个轮廓尺寸块(较低的,输入)和一个外港块(输出).

表示模型输入和输出的块是模型框图的一部分。

引用模型中的信号属性独立于对象的上下文模型块。例如,信号尺寸和数据类型不会在网络中传播模型块边界。要在引用的模型中定义信号属性,请定义根级的块参数轮廓尺寸总线元件块。

有关更多信息,请参见模型参考接口和边界

建模工作区和数据字典

每个模型都有自己的用于存储变量值的工作空间。在模型层次结构中,每个模型工作区都充当唯一的名称空间。因此,您可以在多个模型工作区中使用相同的变量名。要在模型之间共享数据,可以使用数据字典。

在以下条件下,模型引用层次结构中可以存在重复的数据定义:

  • 层次结构中的每个模型只能看到一个定义。

  • 层次结构中的各个模型之间的定义必须相同。

有关可以在何处存储变量和对象的详细信息,请参见确定在哪里为Simulink模型存储变量和对象金宝app

参考模型执行

使用外部信号来控制是否模型块在模拟过程中执行,参见有条件地执行引用模型

不同的子系统块可以包含模型作为变体系统的块。有关变体系统的信息,请参见什么是变体以及何时使用它们

缺省情况下,每个块参数的值相同模型可重用引用模型的块实例。要为可重用引用模型的每个实例指定不同的块参数值,请创建模型参数。例如,如果您添加一个获得块到模型sldemo_mdlref_counter,模型参数允许此模型的三个实例中的每一个使用不同的增益值。看到参数化可重用引用模型的实例

有了模型遮罩,你可以控制外观模型块,并自定义块显示模型参数的方式。有关型号掩码要求,请参见模型面具

参考模型仿真和代码生成

您可以通过解释(在普通模式下)或将引用的模型编译为代码并执行代码(在加速模式下)来模拟引用的模型。有关详情,请参阅为模型层次选择仿真模式

金宝appSimulink缓存文件包含可以加速模拟和代码生成的构建构件。有关更多信息和示例工作流,请参见共享Simu金宝applink缓存文件以实现更快的仿真

要了解如何为模型引用层次结构生成代码,请参见为模型引用层次结构生成代码(金宝app仿真软件编码器)

另请参阅

相关的例子

更多关于