条件执行子系统和模型
控制子系统或模型的执行时间
条件执行子系统,也称为条件子系统,是一种允许您使用外部信号来控制其执行的非虚拟子系统。外部信号也称为动作信号或控制信号,连接到动作输入或控制输入端口。如果您要创建复杂模型,其中一些组件的执行依赖于其他组件,此时可使用条件子系统。
Simulink® 支持下列类型的条件子系统:
执行子系统 - 当 If 执行子系统中的逻辑条件为 true 时,或当信号具有在 Switch Case 执行子系统中指定的一组值之一时,执行子系统在每个时间步执行。请参阅Select Subsystem Execution。
使能子系统 - 当控制信号为正时,在每个时间步执行。在控制信号由负向至正向过零的时间步开始执行。请参阅使用使能子系统。
触发子系统 - 当控制信号上升或下降到零或过零时,在每个时间步执行。请参阅使用触发子系统。
使能触发子系统 - 在使能控制信号为正值且触发控制信号上升或下降到零时执行。请参阅使用使能触发子系统。
消息触发子系统和消息轮询子系统 - 使用消息作为控制信号,并根据消息在控制端口是否可用来执行。请参阅Using Message Polling and Message Triggered Subsystems。
函数调用子系统 - 当控制端口接收到函数调用事件时执行。事件可以在一个时间步内发生一次或多次。请参阅使用函数调用子系统。
Simulink 还支持可重置子系统,该子系统在每个时间步执行,但当控制信号上升或下降到零或过零时,会将子系统内的所有模块重置为其初始状态。请参阅使用可重置子系统。
您可以像配置子系统一样将引用模型配置为条件执行子系统。请参阅Conditionally Execute Referenced Models。
![Simulink canvas with Conditionally Executed Subsystem block. The Subsystem block has a control input port at the top and a data input port at the left, both connected to Inport blocks. The Subsystem block has a data output port at the right, connected to an Outport block.](conditional_subsystem_overview_noframe.png)
模块
函数
Simulink.getOutportInheritsInitialValue | Determine if conditional subsystem Outport block inherits initial output value (自 R2021a 起) |
模型设置
上下文相关输入 | Diagnostic action to take when function-call subsystem can change its inputs |
主题
条件执行子系统基础知识
- 条件执行子系统概述
条件执行子系统的概述。 - Conditionally Execute Referenced Models
Execute referenced models conditionally, similar to conditionally executed subsystems. - Ensure Output Port Is Virtual
Prevent buffering of conditional subsystem or model output. - 使用控制流逻辑
如何使用控制流模块对控制逻辑建模。
类型条件执行子系统
- Select Subsystem Execution
Execute subsystem once during a time step in response to an action signal. - 使用使能子系统
创建一个在控制信号为正值时执行的子系统。 - 使用触发子系统
创建通过触发信号执行的子系统。 - 使用使能触发子系统
创建通过触发信号或正值控制信号执行的子系统。 - Using Message Polling and Message Triggered Subsystems
Demonstrate and compare Message Triggered Subsystems and Message Polling Subsystems. - 使用函数调用子系统
创建通过函数调用执行的子系统。 - 使用可重置子系统
创建一个子系统,该子系统将通过触发信号重置所有模块状态。 - Fixed-Point Data Type Support for If Block
This topic explains how to use a Compare To Constant block for If block fixed-point data type support.
子系统输出初始化
- 条件子系统初始输出值
指定条件子系统的初始输出值。 - Conditional Subsystem Output Values When Disabled
Specify output behavior when conditional subsystem is disabled. - Simplified Initialization Mode
Control initial values for conditional subsystems.