主要内容

模型参考需求和限制

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

模型重用

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

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

  • 该模型包含了到文件阻碍。

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

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

    • 导出状态流图形函数

    • Machine-parented数据

  • 所引用的模型以加速模式执行,并包含一个未内联或已内联但未设置该选项的s函数SS_OPTION_WORKS_WITH_CODE_REUSE

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

    • 万博1manbetx®力是一个函数

    • 是由宽信号呼叫的吗

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

模型面具

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

要成功地使用口罩,请考虑以下要求和限制:

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

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

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

    • MATLAB®基本工作空间

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

参考模型中的S函数

不同类型的s函数为模型参考提供不同级别的支持。万博1manbetx

函数类型 在普通模式中引用的模型 加速器模式中引用的型号
一级MATLAB函数 不支持万博1manbetx 不支持万博1manbetx
2级MATLAB函数 万博1manbetx支持 万博1manbetx支持-需要TLC文件
手写C-MEX S函数

万博1manbetx支持-可以内联一个TLC文件

万博1manbetx支持-可以内联一个TLC文件
s函数生成器 万博1manbetx支持 万博1manbetx支持
遗留代码的工具 万博1manbetx支持 万博1manbetx支持

当您在引用的模型中使用s函数时,请考虑这些需求和限制。

S函数考虑 要求和限制
样品时间继承

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

加速器模式参考模型

对于加速器模式引用的包含需要使用目标语言编译器文件内联的s函数的模型,s函数必须使用ssSetOptions宏来设置SS_OPTION_USE_TLC_WITH_ACCELERATOR期权的价值mdlInitializeSizes方法。仿真目标不内联s函数,除非s函数设置此选项。

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

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

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

    1. 复制引用的模型。

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

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

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

加速器模式下的参考型号不能使用由万博1manbetxSimulink编码器™软件

标准模式参考模型

在一定条件下,当C s函数出现在以正常模式执行的参考模型中时,不可能成功执行。有关详细信息,请参见正常模式下的s函数参考型号

要指定s函数是否可以在标准模式引用的模型中使用,请使用ssSetModelReferenceNormalMode万博1manbetxSupportSimStruct函数。

要使S函数在正常模式下处理引用模型的多个实例,S函数必须明确表示它支持多个实例万博1manbetx执行实例。有关详细信息,请参见万博1manbetx支持使用处于正常模式的引用模型的多个实例

保护模型

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

模型体系结构需求和限制

元素 要求和限制
转到从…起

转到从…起块不能跨越模型参照边界。

迭代器子系统

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

可配置子系统

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

InitFcn回拨

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

印刷参考模型

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

信号要求和限制

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

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

  • 接受索引(例如赋值块)

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

接受索引的块的一个例子是赋值块。产生索引的块的一个例子是对迭代器块。

这两种情况会导致传播不足,从而导致Simulink无法检测不兼容的索引连接。这两种情况是:万博1manbetx

  • 如果被引用模型的根级输入端口连接到具有不同的基于0或1的索引设置的模型中的索引输入,则Simulink不会设置根级的基于0或1的索引属性万博1manbetx轮廓尺寸块。

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

异步的利率

被引用的模型只能在模型满足条件时使用异步速率这两个在这些条件中:

  • 外部源通过根级驱动异步速率轮廓尺寸块。

  • 根级别轮廓尺寸块输出函数调用信号。看到异步任务规范(万博1manbetx仿真软件编码器)

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

被引用的模型只能输入或输出用户定义的定点或定点数据类型万博1manbetx仿真软件。数据类型万博1manbetx仿真软件。公共汽车对象定义。

公共汽车

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

信号对象

一个连接到模型块的内部和外部在功能上是相同的信号。因此,该信号受到一个给定信号最多可以有一个相关信号对象的限制。看到万博1manbetx模拟信号为更多的信息。

模拟要求和限制

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

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

采样时间和求解器

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

状态初始化

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

参数可调谐性

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

代码生成要求和限制

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

相关话题