Main Content

条件子系统初始输出值

要初始化某条件子系统的输出值,请使用以下方法之一初始化该子系统中的 Outport 模块:

  • 从连接到 Outport 模块的输入信号继承初始输出值。

  • 使用 Outport 模块参数指定初始输出值。

注意

如果条件子系统驱动的是同一模型中的 Merge 模块,则不需要为该子系统的 Outport 模块指定初始条件。

继承输入信号的初始输出值

默认情况下,对于 Outport 模块,软件将初始输出参数设置为 [],并将禁用时的输出参数设置为保持。使用这些设置时,Simulink® 尝试使用连接到条件子系统 Outport 模块的输入信号来初始化输出值。 (自 R2024a 起)

注意

在 R2024a 之前: 如果条件子系统中的 Outport 模块的初始输出值的源参数设置为输入信号,Simulink 会尝试使用连接到条件子系统 Outport 模块的输入信号来初始化输出值。您可以通过将初始输出值来源参数设置为对话框,将初始输出参数设置为 [],并将禁用时的输出参数设置为保持来复制此行为。

用于设置初始输出值的有效输入信号包括:

  • 来自另一个条件执行子系统的输出端口。

  • 来自 Model 模块(其中 Trigger 模块的触发器类型设置为函数调用)的输出端口。

  • Merge 模块。

  • Constant 模块。

  • IC(初始条件)模块。

  • 通过信号线连接到 Outport 模块的 Simulink 信号对象。如果定义了 InitialValue 参数,Simulink 将使用此值。

  • Stateflow® 图。

  • C Function 模块。

如果输入信号来自此处未列出的模块,则 Outport 模块使用输出数据类型的默认初始值。

当条件子系统的 Outport 模块继承其初始输出值时,在模型更新或运行后,Outport 模块旁边会显示 IC 标记。

triggered subsystem connected to Outport block, with IC badge next to block

您还可以使用 Simulink.getOutportInheritsInitialValue 函数来确定条件子系统的 Outport 模块是否继承其初始输出值。

注意

在 R2024a 之前: 如果使用经典初始化模式,则选择输入信号将导致错误。要从输入信号继承初始输出值,请将初始输出值的源参数设置为对话框,将禁用时的输出参数设置为保持,并将初始输出参数设置为 []IC 标记在经典初始化模式下不显示。请参阅Classic Initialization Mode

使用对话框参数指定初始输出值

在您要执行以下操作的情况下显式设置初始输出值:

  • 用各种初始值测试模型的行为。

  • 将初始值设置为稳定状态并减少仿真时间。

  • 省去通过跟踪输入信号确定初始输出值的必要。

要指定初始输出值,请执行下列操作:

  1. 打开条件子系统中 Outport 模块的对话框。

  2. 初始输出值的源选项中,选择对话框。此参数仅在 R2024a 之前的版本中可用。对于 R2024a 的模型,请跳过此步骤并进入下一步。

  3. 初始输出框中,输入初始值。

相关主题