主要内容

模型参考要求和限制

在引用模型之前,考虑模型引用要求和限制。通过预先理解需求和限制,您可以更好地成功引用模型。

模型重用

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

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

  • 该模型包含到文件块。

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

  • 模型使用这些状态流中的任何一个®结构:

    • 导出的状态流图形函数

    • Machine-parented数据

  • 引用的模型以加速模式执行,并包含一个s函数,该函数要么没有内联,要么内联但没有设置选项SS_OPTION_WORKS_WITH_CODE_REUSE

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

    • 金宝app®力是一个函数

    • 是用宽信号呼叫的吗

如果引用的模型具有这些属性中的任何一个,那么模型的一个实例只能出现在模型层次结构中。模型必须具有每个顶级模型允许的实例总数设置为一个

模型面具

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

要成功使用掩码,请考虑以下要求和限制:

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

  • 的掩码工作区模型块对于引用的模型不可用。引用模型使用的任何变量必须解析到以下工作区之一:

    • 引用模型定义的工作区

    • 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_OPTION_USE_TLC_WITH_ACCELERATOR选项的mdlInitializeSizes方法。除非s函数设置了此选项,否则模拟目标不会内联s函数。

在以下情况下,引用模型不能使用非内联s函数:

  • 该模型使用了一个变步长求解器。

  • 模型在模型层次结构中被引用不止一次。要绕开这个限制,可以使用普通模式或:

    1. 复制参考模型。

    2. 为副本分配不同的名称。

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

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

加速器模式下的参考模型不能使用金宝app仿真软件编码器™软件

正常模式参考模型

在某些条件下,当C s函数出现在以正常模式执行的引用模型中时,成功执行是不可能的。详细信息请参见标准模式参考模型中的s函数

若要指定s函数是否可以在正常模式引用模型中使用,请使用ssSetModelReferenceNormalMode金宝appSupportSimStruct函数。

对于一个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 -轮廓尺寸Block输出一个函数调用信号。看到异步任务说明(金宝app仿真软件编码器)

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

引用模型只能输入或输出用户定义的定点或定点数据类型金宝app仿真软件。数据类型金宝app仿真软件。公共汽车对象定义。

公共汽车

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

信号对象

连接到A的信号模型块的外部和内部在功能上是相同的信号。因此,该信号受到给定信号最多只能有一个关联信号对象的限制。看到金宝app仿真软件。信号获取更多信息。

模拟要求和限制

模拟财产 要求和限制
连续采样时间传播

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

采样时间和求解器

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

状态初始化

要初始化引用带有状态的其他模型的模型的状态,请指定结构中的初始状态或具有时间格式的结构。有关更多信息,请参见引用模型的状态信息

参数可调谐性

当您模拟引用其他模型的模型时,在某些情况下,您将失去块参数的一些可调性(例如获得a的参数获得块)。有关更多信息,请参见其他建模目标的可调性考虑和限制

代码生成要求和限制

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

相关的话题