文档

创建并引用条件引用模型

条件参考模型

您可以设置引用模型,以便它们有条件地执行,类似于条件子系统。有关条件子系统的信息,请参见有条件执行的子系统概述

您可以使用这些有条件执行的引用模型。

条件参考模型 描述
启用

使用Enable块在模型中插入一个启用端口。如果希望在控制信号为正值的每个模拟步骤上执行引用模型,则向模型添加启用端口。

属性的示例子系统,请参阅enablesub.相应的启用的引用模型使用与启用的子系统中相同的块。

触发

使用触发器块在模型中插入触发器端口。要使用外部信号来触发模型的执行,请向模型添加一个触发端口。您可以将触发器端口添加到根级模型或子系统。

若要查看说明如何在引用模型中使用触发端口的模型,请参见使用模型参考管理数据介绍的例子。在这个例子中,请参见“顶级模型:调度对引用模型的调用”部分。

触发和启用

如果启用控制信号在触发事件发生的时间步骤上具有正值,则已触发和启用的模型将执行一次。

函数调用

万博1manbetx®允许某些块在时间步中使用函数调用信号控制引用模型的执行。这种块的例子是函数调用生成器或适当配置的自定义s函数。看到使用函数调用子系统获取更多信息。

有关函数调用模型的示例,请参见sldemo_mdlref_fcncall模型。

每种有条件执行的模型都有一些模型创建需求。详细信息请参见条件模型的要求

创建条件模型

  1. 在引用模型的根级别,插入以下块之一:

    模型类型 要插入的块

    启用

    启用

    触发

    触发

    触发和启用

    触发和启用

    函数调用

    触发

    对于已启用的型号,请执行步骤3。

  2. 对于触发器块,设置触发类型参数,根据模型的类型:

    模型类型 触发类型参数设置

    触发

    触发并启用

    下列其中一项:

    • 不断上升的

    • 下降

    • 要么

    函数调用

    函数调用

  3. 创建并连接其他块以实现模型。

    启用模型的例子:

    触发模型的例子:

    函数调用模型的例子:

  4. 确保模型满足条件模型的要求。请参阅相应部分:

条件模型的要求

条件模型必须满足以下要求:

此外,条件模型必须满足特定于每种类型的条件模型的要求。

启用的模型需求

  • 支持多速率的模型不能使用多任务求解器。使用单一任务。

  • 对于根端口为启用端口的模型,如果模型使用固定步长求解器,则模型的固定步长不能超过模型中任何块的速率。

  • 在引用的模型中,启用端口的信号属性必须与model块提供给该启用端口的输入一致。

触发的模型需求

引用模型中触发端口的信号属性必须与model块提供给该触发端口的输入一致。

函数调用模型需求

  • 一个函数调用模型不能有一个仅由Ground块驱动的输出端口,包括由Simulink插入的隐藏Ground块。万博1manbetx为满足这一要求,请执行以下步骤:

    1. 插入一个信号转换块到连接到输出端口的信号中。

    2. 启用从“减少块”优化中排除此块插入块的选项。

  • 类所指定的速率,引用模型必须触发函数调用模型配置参数>解算器“固定大小”选项,如果函数调用模型同时满足以下两个条件:

    • 它指定了一个固定步骤的求解器

    • 它包含一个或多个使用绝对时间或流逝时间的块

    否则,引用模型无论如何都可能触发函数调用模型。

  • 函数调用模型的根级输入和输出端口之间不能有直接的内部连接。万博1manbetxSimulink不尊重没有一个而且警告的设置无效的根导入/输出块连接对引用函数调用模型进行诊断。它将所有无效的根端口连接报告为错误。

  • 如果采样时间类型周期时,采样时间段不能包含偏移量。

  • 连接到Model块的函数调用端口的信号必须是标量。

参考条件模型

创建对条件模型的引用:

  1. 将Model块添加到您想要引用触发模型的模型中。看到创建一个引用模型获取详细信息。

    Model块的顶部显示了一个图标,该图标对应于引用模型中使用的端口类型。例如,对于一个触发的模型,model块的顶部显示以下图标。

    已启用、已触发、已触发和已启用的型号,请执行步骤3。

  2. 对于函数调用模型,连接一个状态流®图表、函数调用生成器块或其他函数调用生成块到模型块的函数调用端口。该端口上连接的信号必须为标量。

  3. 创建并连接其他块以实现父模型。

  4. 确保引用模型满足模型引用的条件。看到模型引用限制获取详细信息。

另请参阅

相关的话题

这个话题有用吗?