使用使能触发子系统
Enabled and Triggered Subsystem 是条件执行子系统,它在同时满足以下两个条件时在每个仿真时间步运行一次:
使能控制信号具有正值。
触发控制信号上升或下降过零。
Enabled and Triggered Subsystem 模块包含 Enable 端口模块和 Trigger 端口模块。当触发信号上升或下降过零时,将检查使能输入端口以计算使能控制信号。如果其值大于零,将执行子系统。如果两个输入都是向量,则子系统将在每个向量至少有一个元素为非零值时执行。
创建使能触发子系统
要创建使能触发子系统,请执行以下操作:
在您的模型中添加一个 Enabled and Triggered Subsystem 模块。
将 Simulink® Ports & Subsystems 库中的模块复制到您的模型中。
点击模型图,键入
enabled
,然后选择 Enabled and Triggered Subsystem。
设置 Outport 模块的初始值和禁用值。请参阅条件子系统初始输出值和Conditional Subsystem Output Values When Disabled。
设置控制信号如何触发执行。
打开子系统模块,然后打开 Trigger 端口模块的模块参数对话框。从触发器类型下拉列表中,选择:
上升沿 - 当控制信号从负值或零值上升至正值时,触发子系统的执行。
下降沿 - 当控制信号从正值或零值下降至负值时,触发子系统的执行。
任一沿 - 通过上升或下降控制信号触发子系统的执行。
Trigger 和 Subsystem 模块上将出现不同的符号,以指示上升和下降触发器。
指定启用后如何处理子系统状态。
打开子系统,然后打开 Enable 端口模块。从启用时的状态下拉列表中,选择:
保持 - 状态保持最近使用的值。
重置 - 如果子系统被禁用至少一个时间步,则状态还原到初始条件。
在简化初始化模式下,在子系统变为使能子系统后首次执行期间会始终重置其已用时间。无论子系统是否配置为在使能时重置,此重置都会发生。请参阅Underspecified initialization detection。
对于其 Enable 模块具有不同参数设置的嵌套子系统,子级子系统的设置将覆盖从父级子系统继承的设置。
使能触发子系统中的模块
使能和触发子系统中的所有模块的采样时间都必须设置为继承 (-1
) 或固定 (inf
)。此要求允许触发子系统中的模块仅在触发子系统本身运行时才运行。此要求还意味着触发子系统不能包含连续模块,如 Integrator 模块。
模型示例
有关模型示例,请参阅:
另请参阅
Enabled Subsystem | Triggered Subsystem | Enabled and Triggered Subsystem | Function-Call Subsystem