条件执行子系统概述
条件执行子系统是允许用外部信号来控制其执行的非虚拟子系统。称为控制信号的外部信号连接到控制输入端口。如果您要创建复杂模型,其中一些组件的执行依赖于其他组件,此时可使用条件子系统。
Simulink® 支持下列类型的条件子系统:
使能子系统 - 当控制信号为正时,在每个时间步执行。在控制信号由负向至正向过零的时间步开始执行。请参阅使用使能子系统。
触发子系统 - 当控制信号上升或下降到零或过零时,在每个时间步执行。请参阅使用触发子系统。
使能触发子系统 - 在使能控制信号为正值且触发控制信号上升或下降到零时执行。请参阅使用使能触发子系统。
消息触发子系统 - 使用消息作为控制信号,每当控制端口上有消息时就执行,而不考虑模块采样时间。请参阅Using Message Polling and Message Triggered Subsystems。
消息轮询子系统 - 使用消息作为控制信号,在每个时间步当控制端口有消息时即执行。请参阅Using Message Polling and Message Triggered Subsystems。
函数调用子系统 - 当控制信号接收到函数调用事件时执行。事件可以在一个时间步内发生一次或多次。Stateflow® 图、Function-Call Generator 模块、S-Function 模块或 Hit Crossing 模块可以提供函数调用事件。请参阅使用函数调用子系统。
条件执行子系统或条件执行引用模型的运行方式如下:
当由控制模块启用时,在当前时间步运行一次。控制模块实现的控制逻辑与编程语言语句(如
if-then-else
或switch
)所表达的逻辑类似。当由控制信号或动作信号启用或触发时,在当前时间步运行一次。
在接收到函数调用事件时,在一个时间步内运行一次或多次。
有关示例模型,请参阅 Simulink 子系统语义。
另请参阅
Enabled Subsystem | Triggered Subsystem | Enabled and Triggered Subsystem | Message Triggered Subsystem | Function-Call Subsystem