开关
根据第二输入端的值,在第一和第三输入端之间切换输出。
类型: Switch
图书馆中的路径:
|
说明
开关*程序块根据第二输入端的信号值传递第一或第三输入端的信号。第一和第三输入端为输入信号,第二输入端为控制信号。程序块将信号从第一输入端传递到输出端的条件由*传递第一输入端的标准*和*阈值*参数设定。
港口
输入
端口_1 - 第一个输入信号
标量
两个输入信号中的第一个。程序块根据控制信号的值,将一个或另一个输入信号传递到输出端。程序块将信号从第一个输入端传递到输出端的条件由*传递第一个输入端的标准*和*阈值*参数指定。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
支持复数:是
端口 2 - 控制信号
scalar
| vector
控制信号,用于确定哪个输入信号应传递到输出端。如果控制信号满足*传递第一个输入*中指定的条件,则程序块传递第一个输入信号。否则,程序块将传递第二个输入信号。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
支持复数:不支持
端口 3 - 第二个输入信号
标量
两个输入信号中的第二个。程序块根据控制信号的值,将一个或另一个输入信号传递到输出端。程序块将信号从第一个输入端传递到输出端的条件由*传递第一个输入端的标准*和*阈值*参数指定。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
支持复数:是
参数
主要参数
通过第一个输入信号的标准 - 选择通过第一个输入信号的标准
u2 > 阈值
(默认) | u2 >= 阈值
| u2 ~= 0
选择使程序块将第一个输入信号传递到输出端的条件。如果控制输入 Port_2 满足 Criteria for passing first input 中指定的条件,程序块将把第一个输入信号传递到 Port_1。否则,程序块将传递第二个输入信号 Port_3。选择选项:
-
u2 >= Threshold
- 控制输入大于或等于阈值; -
u2 > Threshold
- 控制输入大于阈值; -
u2 ~= 0
- 控制输入值不同于零。
提示
如果控制输入是布尔信号,则使用以下条件和阈值组合之一:
-
u2 >= 阈值
,其中阈值为1
; -
u2 > 阈值
,其中阈值为`0`; -
u2 ~= 0
.
否则,开关 模块会忽略阈值,并使用布尔值来路由信号。当值为 1
时,程序块将路由第一个输入,而当值为 0
时,它将路由第三个输入。
块参数 |
|
价值观 |
|
默认值 |
|
阈值 - 标准中使用的阈值
0(默认)` | 标量
| 向量
| 矩阵
| `数组
用于传递第一个输入*参数的*标准中的阈值,它决定了程序块将哪个输入传递到输出。
依赖关系
要使用此参数,请将传递第一个输入*参数的*标准设置为`u2 >= 阈值`或`u2 > 阈值`。
块参数 |
|
价值观 |
|
默认值 |
|
信号属性
要求所有数据端口输入具有相同的数据类型 - 所有数据输入必须具有相同的数据类型
已禁用(默认) | 已启用
启用此参数后,所有数据输入都具有相同的数据类型。
块参数 |
|
价值观 |
|
默认值 |
|
输出数据类型 - 输出数据类型
| Inherit: auto (default)
| Same as first input
| Float16
| Float32
| Float64
| Int8
| Int16
| Int32
| Int64
| Int128
| UInt8
| UInt16
| UInt32
| UInt64
| UInt128
| Fixed point
| `Bool
指定输出数据的类型。
类型可以继承或直接指定。
块参数 |
|
价值观 |
|
默认值 |
|
Integer rounding mode - 定点运算的舍入模式
下限(默认) | 上限 | 趋近 | 最近 | 圆形 | 零
选择定点运算的舍入模式。您可以选择
-
Floor` - 正数和负数都向下舍入(向负无穷)。
-
天花板"- 将正数和负数向上舍入(向正无穷舍入)。
-
收敛"- 将数字舍入到最接近的可表示值。如果数字的小数部分以 5 结尾,则将数字舍入为最接近的偶数整数。
-
最近"- 将数字舍入到最接近的可表示值。如果数字的小数部分以 5 结尾,则数字向上舍入(向正无穷)。
-
Round` - 将数字舍入到最接近的可表示值。如果数字的小数部分以 5 结尾,正数向上舍入(向正无穷),负数向下舍入(向负无穷)。
-
Zero
- 将数字舍入为零。
块参数总是四舍五入到最接近的可表示值。
块参数 |
|
价值观 |
|
默认值 |
|
整数溢出时饱和 - 整数溢出时饱和
已禁用(默认) | 已启用
选中该复选框时,将对整数和定点数使用饱和运算:发生溢出时,结果将自动替换为数据类型的最大可能(模)值。
操作 | 原理 | 对溢出的影响 | 示例 |
---|---|---|---|
已选中(启用)Saturate on integer overflow 复选框。 |
您的模型可能存在溢出,您希望生成的代码明确防止溢出。 |
当发生溢出时,结果将自动替换为数据类型可能的最大值(模)。 |
Int8(有符号 8 位整数)数据类型可表示的最大值是 127。 块操作的任何结果如果超过这个最大值,都会导致 8 位整数溢出。检查时,块输出饱和到 127。同样,在最小输出值为 -128 时,程序块输出也会饱和。 |
整数溢出时饱和*复选框未选中(禁用)。 |
您希望优化生成代码的效率。 您希望避免过度确定程序块如何处理超出范围的信号。 |
溢出将以数据类型所能表示的适当值承载。 |
Int8(有符号的 8 位整数)数据类型可表示的最大值为 127。 块操作的任何结果如果超过这个最大值,都会导致 8 位整数溢出。如果未选中复选框,软件会将导致溢出的值解释为 |
选择该复选框后,饱和将应用于程序块中的所有内部操作,而不仅仅是输入/输出数据或结果。
块参数 |
|
价值观 |
|
默认值 |
|