Switch
基于第二个输入的值在第一个输入和第三个输入之间切换输出
库:
Simulink /
Commonly Used Blocks
Simulink /
Signal Routing
HDL Coder /
Commonly Used Blocks
HDL Coder /
Signal Routing
描述
模块输入的类型
Switch 模块根据第二个输入的值,传递第一个输入或第三个输入。第一个和第三个输入称为数据输入。第二个输入称为控制输入。可以使用首个输入传递条件和阈值参数指定模块传递第一个输入的条件。
要立即将已知的输出数据类型反向传播到第一个和第三个输入端口,请将输出数据类型参数设置为继承:通过内部规则继承并选中要求所有数据端口输入具有相同的数据类型复选框。
提示
对于反向传播继承:通过内部规则继承,必须选择要求所有数据端口输入具有相同的数据类型参数。否则,模块不会自动将输出数据类型反向传播到第一个和第三个输出端口。
数据输入的限制
如果您选择允许不同数据输入大小,则两个数据输入的大小可以不同。然而,此模块不支持可变大小输入信号。因此,在仿真期间,每个输入的大小无法更改。
如果 Switch 模块的数据输入是总线,两个总线的元素名称必须相同。使用相同的元素名称可以确保输出总线具有相同的元素名称,而不管模块选择了哪些输入总线。要确保您的模型满足此要求,请使用总线对象定义总线并将元素名称不匹配诊断设置为错误。有关详细信息,请参阅模型配置参数:连接诊断。
布尔控制输入的模块行为
当控制输入为 Boolean
信号时,可使用条件和阈值的以下组合之一:
u2 >= 阈值,其中阈值等于
1
u2 > 阈值,其中阈值等于
0
u2 ~=0
否则,Switch 模块忽略阈值,并使用布尔输入进行信号路由。如果控制输入为 1
,该模块传递第一个输入;如果控制输入为 0
,该模块传递第三个输入。在本例中,模块图标在编译时后会发生变化,并使用 T
和 F
分别标记第一个和第三个输入。
数据类型支持
控制输入可以是 Simulink® 支持的任何数据类型,包括定点和枚举类型。控制输入不能为复数。如果控制输入为枚举,阈值参数必须为相同枚举类型的值。
数据输入可以是 Simulink 支持的任何数据类型。如果有任一个数据输入为枚举类型,另一个必须为相同的枚举类型。
如果输出是枚举类型,则两个数据输入必须使用与输出相同的枚举类型。
有关详细信息,请参阅 Simulink 支持的数据类型。
示例
端口
输入
输出
参数
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
版本历史记录
在 R2006a 之前推出