主要内容

模型参考需求和限制

在引用模型之前,请考虑模型参考要求和限制。通过了解前面的要求和限制,您可以更好地参考模型。

模型重用

可以在模型层次结构中多次引用模型,除非引用的模型具有以下任何属性:

  • 该模型引用另一个被设置为单个实例的模型。

  • 该模型包含了归档块。

  • 模型包含一个内部信号或状态,其中包含一个多实例模型不支持的存储类。金宝app内部信号和状态必须将存储类设置为汽车模型默认值内部数据的默认存储类必须是多实例存储类。

  • 模型使用这些statflow中的任何一个®构造:

    • 导出状态流图形函数

    • Machine-parented数据

  • 引用的模型在加速器模式下执行,并包含一个S函数,该函数不是内联的,就是内联的,但未设置选项SS\U选项\U与\U代码\U重用一起工作

  • 该模型包含一个函数调用子系统,该子系统:

    • 金宝app®力是一个函数

    • 是由宽信号呼叫的吗

如果引用的模型具有任何这些属性,则模型层次结构中只能出现一个模型实例。该模型必须具有每个top模型允许的实例总数着手一个

模型面具

您可以在引用的模型中使用屏蔽块。此外,您还可以屏蔽引用的模型(参见创建并引用蒙面模型).

要成功使用口罩,请考虑这些要求和限制:

  • 如果掩码指定引用模型的名称,则掩码必须直接提供引用模型的名称。不能使用工作空间变量提供名称。

  • 应用程序的掩码工作区模型块对被引用的模型不可用。被引用模型使用的任何变量都必须解析到以下任一工作空间:

    • 被引用模型定义的工作空间

    • MATLAB®基本工作空间

  • 掩码回调无法添加模型块,更改模型块名称,或更改模型块模拟模式。

参考型号中的s函数

不同类型的s函数为模型参考提供不同级别的支持。金宝app

函数类型 在普通模式中引用的模型 加速器模式中引用的型号
一级MATLAB S函数 不支持金宝app 不支持金宝app
二级MATLAB S函数 金宝app支持 金宝app支持-需要TLC文件
手写C MEX s函数

金宝app支持-可以内联一个TLC文件

金宝app支持-可以内联一个TLC文件
S函数生成器 金宝app支持 金宝app支持
遗留代码的工具 金宝app支持 金宝app支持

在引用模型中使用S-函数时,请考虑这些要求和限制。

功能考虑 要求和限制
采样时间继承

如果s函数依赖于继承的样本时间,则s函数必须显式声明依赖于继承的样本时间。若要控制样例时间继承,请使用ssSetModelReferenceSampleTimeInheritanceRule区别在于s函数是否允许继承。有关详细信息,请参见指定采样时间继承规则的S函数(金宝app仿真软件编码器)

加速器模式参考模型

对于包含需要使用目标语言编译器文件内联的S函数的加速器模式引用模型,S函数必须使用ssSetOptions宏来设置SS\U选项\u使用\u TLC\u和\u加速器选择在其中密度方法。仿真目标不内联s函数,除非s函数设置此选项。

在这些情况下,被引用的模型不能使用非线性s -函数:

  • 该模型使用可变步长解算器。

  • 模型在模型层次结构中被引用不止一次。为了解决这个限制,使用普通模式或:

    1. 制作参照模型的副本。

    2. 为副本指定不同的名称。

    3. 在每个需要模型的位置引用不同的副本。

  • s函数使用字符向量参数。

加速器模式下的引用模型不能使用由生成的S函数金宝app仿真软件编码器™软件

标准模式参考模型

在某些情况下,当CS函数出现在以正常模式执行的引用模型中时,不可能成功执行。有关详细信息,请参阅正常模式下的s函数参考型号

要指定S函数是否可以在正常模式参照模型中使用,请使用SSSetModelReferenceNormalMode金宝appsSupportSimStruct函数。

为了使s函数在正常模式下处理引用模型的多个实例,s函数必须显式地表明它支持多个实例金宝app执行实例。有关详细信息,请参见金宝app支持使用处于正常模式的参考模型的多个实例

受保护模型

受保护的模型不能直接或间接使用非线性s函数。

模型体系结构需求和限制

元素 要求和限制
后藤阻碍

后藤块不能跨模型引用边界。

迭代器子系统

如果引用的模型包含分配块,您可以放置模型块在迭代器子系统中仅当分配块也在迭代器子系统中。

可配置子系统

在一个可配置的子系统中模型块,在模型更新期间,不更改可配置子系统选择的子系统。

InitFcn回调

一个InitFcn顶级模型中的回调不能更改被引用模型使用的参数。

印刷参考模型

您不能打印顶级模型的参考模型。

信号要求和限制

信号 要求和限制
基于0或1的索引信息传播

在两种情况下,Simulin金宝appk不会将基于0或基于1的索引信息传播到连接到块的引用模型根级端口:

  • 接受索引(例如分配块)

  • 生成索引(例如迭代器块)

接受索引的块的一个示例是分配块生成索引的块的一个示例是迭代器块。

这两种情况导致缺乏传播,从而导致Simulink无法检测不兼容的索引连接。金宝app这两种情况是:

  • 如果被引用模型的根级输入端口连接到具有不同的基于0或1的索引设置的模型中的索引输入,则Simulink不会设置根级的基于0或1的索引属性金宝app输入块。

  • 如果被引用模型的根级输出端口连接到具有不同的基于0或1的索引设置的模型中的索引输出,则Simulink不会设置根级的基于0或1的索引属性金宝app外港块。

异步的利率

被引用的模型只能在模型满足条件时使用异步速率二者都这些条件:

  • 外部源通过根级驱动异步速率输入块。

  • root -输入块输出函数调用信号。看到异步任务规范(金宝app仿真软件编码器)

用户定义的数据类型输入或输出

引用模型只能输入或输出用户定义的固定点或金宝app仿真软件。数据类型金宝app模拟总线对象定义。

公共汽车

如果使用虚拟总线作为参考模型的输入或输出,则总线不能包含可变大小的信号元素。请参阅在模型接口使用总线

信号对象

一种连接到计算机的信号模型块在功能上与块内外的信号相同。因此,该信号受给定信号最多可以具有一个相关联的信号对象的限制。看见金宝app仿真软件。信号了解更多信息。

模拟要求和限制

模拟特性 要求和限制
连续样本时间传播

连续的采样时间不能传播到模型与采样时间无关的块。

采样时间和解算器

顶层模型的求解器控制模型层次结构中所有连续的样本时间。例如,对于固定步长求解器,参考模型中的所有连续速率都以顶部模型的固定步长运行。有关样本时间如何影响求解器的信息,请参见采样时间的类型

状态初始化

若要初始化引用其他具有状态的模型的状态,请在“结构”或“带时间的结构”格式中指定初始状态。有关详细信息,请参阅参考模型的状态信息

参数可调谐性

在模拟引用其他模型的模型时,在某些情况下,会失去块参数的一些可调性(例如获得参数的获得块)。有关详细信息,请参阅其他建模目标的可调性注意事项和限制

代码生成需求和限制

通过预先了解代码生成需求和限制,您可以更好地为代码生成正确地设置模型层次结构。看到设置模型层次结构代码生成的配置参数(金宝app仿真软件编码器)模型参考的代码生成限制(金宝app仿真软件编码器)

相关的话题