主要内容

有条件地执行引用模型

一个有条件执行参照模型,或有条件的模型,允许你用外部信号控制它的执行。外部信号,叫做控制信号,附属于控制输入端口.当您创建复杂的模型层次结构时,条件模型非常有用,其中包含的组件的执行依赖于其他组件。

有条件的模型

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

金宝app®软件支持这些条件模金宝app型类型:

有条件的模型 描述
启用

使能端口在控制信号为正值的每个仿真步骤中执行参考模型。添加一个启用端口到模型块,插入一个启用块在被引用的模型中。

此图像显示了一个简单启用的引用模型的内容。

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

触发

触发器端口在每次触发器事件发生时执行一个引用的模型。将触发器端口添加到模型块,插入一个触发块在被引用的模型中。

该图像显示了一个简单的触发引用模型的内容。

有关触发模型的示例,请参见使用模型参考管理数据简介

触发,使

一个模型块可以同时拥有触发器和启用端口。如果启用控制信号在触发事件发生的时间步长为正值,则触发和启用的模型执行一次。

函数调用

函数调用端口在每次函数调用事件发生时执行一个引用模型。将函数调用端口添加到模型块,插入一个触发块在被引用的模型中。然后,打开“块参数”对话框,设置触发类型函数调用

一个Stateflow®图,一个函数调用生成器块,打穿越块或适当配置的自定义S-function都可以提供函数调用事件。看到使用函数调用子系统

这个图像显示了一个简单的函数调用引用模型的内容。

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

条件模型的要求

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

条件模型还必须满足特定于每种类型的条件模型的需求。

有条件的模型 需求
启用
  • 启用多速率的模型不能使用多任务求解器。使用单一任务。

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

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

触发

在参考模型中,触发器端口的信号属性必须与输入保持一致模型块提供给该触发器端口。

触发,使 请参阅触发模型和启用模型的需求。
函数调用
  • 函数调用模型不能只有由地面块,包括隐藏地面由Simulink插入的块。金宝app要满足这一要求,请执行以下操作:

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

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

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

    • 它指定一个固定步长求解器。

    • 它包含一个或多个使用绝对时间或运行时间的块。

    否则,父模型可以任意触发函数调用模型。

  • 函数调用模型在其根级输入和输出端口之间不能有直接的内部连接。金宝appSimulink不尊重没有一个警告设置无效的根导入/输出块连接被引用的函数调用模型的诊断。它将所有无效的根端口连接报告为错误。

  • 如果样品时间类型周期,则采样时间周期必须不包含偏移量。

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

修改条件执行的引用模型

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

    类型的模型 块插入

    启用

    启用

    触发

    触发

    触发,使

    触发,使

    函数调用

    触发

    已启用的模型请执行步骤3。

  2. 触发块,设置触发类型参数:

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

    触发

    触发,使

    下列其中之一:

    • 不断上升的

    • 下降

    • 要么

    函数调用

    函数调用

  3. 使用模型阻塞端口以将引用的模型连接到父模型中的其他端口。

    • 顶部模型块显示与参考模型所期望的控制信号类型相对应的图标。对于触发模型,顶部模型块显示此图标。

另请参阅

相关的话题