主要内容

模型参考基础

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

模型既可以作为独立模型,也可以作为引用模型,而不需要更改模型或从模型派生的任何实体。若要将引用的模型作为独立模型使用,引用的模型不能依赖仅从高级模型提供的数据。

模型参考优势

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

  • 模块化开发

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

  • 模型的保护

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

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

  • 包含的引用

    您可以多次引用一个模型而不产生冗余副本,并且多个模型可以引用同一个模型。

  • 增量加载

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

  • 加速模拟

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

  • 增量的代码生成

    加速模拟仅在模型在先前生成代码后发生变化时才生成代码。

  • 独立的配置设置

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

视频总结模型参考优势,请参见使用模型引用的模块化设计

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

模型层次结构

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

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

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

模型块和参考模型接口

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

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

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

引用模型中的信号属性是独立于上下文的模型块。例如,信号维数和数据类型不会跨模型块边界。要在参考模型中定义信号属性,请为根级定义块参数轮廓尺寸在公共汽车元素块。

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

建模工作区和数据字典

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

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

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

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

有关在何处存储变量和对象的更多信息,请参见确定Simulink模型中变量和对象的存储位置金宝app

引用的模型执行

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

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

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

使用模型蒙版,您可以控制的外观模型块并自定义块显示模型参数的方式。有关模型掩模要求,请参见模型面具

参考模型仿真和代码生成

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

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

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

另请参阅

相关的例子

更多关于