主要内容

模型参考基础

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

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

模型参考优势

像子系统一样,模型引用允许您分层组织大型模型。与库一样,模型引用允许您一次定义一组块并重复使用它。模型引用提供了子系统和库所不具备的几个优点。的上下文独立编译引用模型,从而获得了其中的一些优点模型块,包括:

  • 模块化开发

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

  • 模型的保护

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

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

  • 以参考方式纳入

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

  • 增量加载

    金宝appSimulink软件在需要时加载一个参考模型,这加快了模型加载的速度。

  • 加速模拟

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

  • 增量代码生成

    加速模拟仅在模型自先前生成代码以来发生更改时才生成代码。

  • 独立配置集

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

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

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

模型层次结构

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

顶模引用模型A,模型A又引用模型B。被引用的模型A和模型B不能引用顶模。模型B也不能引用模型A,这是它的父模型。

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

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

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

模型块和引用模型接口

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

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

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

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

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

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

建模工作区和数据字典

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

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

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

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

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

参考模型执行

使用外部信号来控制a是否模型块在模拟期间执行,请参见有条件地执行参考模型

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

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

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

参考模型仿真和代码生成

您可以以解释性的方式(在普通模式下)模拟引用模型,也可以将引用模型编译为代码并执行代码(在加速模式下)。详细信息请参见为模型层次选择仿真模式

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

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

另请参阅

相关的例子

更多关于