Multiport Switch
基于控制信号选择输出信号。
类型: MultiPortSwitch
Multiport Switch 图书馆中的路径:
|
|
Index Vector 图书馆中的路径:
|
资料描述
座 Multiport Switch 根据第一个输入端的信号值,确定块的多个输入中的哪一个传递到输出端。 第一个输入称为控制输入,其余为数据输入。 控制输入的值确定哪些输入数据被传递到输出。
下表显示了该装置如何解释控制信号并确定将哪个输入信号传输到输出。
控制输入 |
四舍五入 |
配置数据端口编号 |
模拟期间的块行为 选择数据输入的H/索引h/超出范围条件 |
|
|---|---|---|---|---|
整数值 |
非也。 |
|||
|
从头开始编号 |
控制输入端的信号较少 |
||
|
从一开始编号 |
控制输入端的信号较少 |
||
|
自定义编号 |
控制输入端的信号不对应于任何数据输入号。 |
非整数值 |
块通过向零舍入来将值截断为整数。 |
|
从头开始编号 |
输入信号的舍入值较小 |
||
|
从一开始编号 |
输入信号的舍入值较小 |
||
Multiport Switch,配置为块 Index Vector
Index Vector 它是块的特殊配置 Multiport Switch 其中仅设置一个数据输入,并且控制输入从零开始计数。 块输出是输入向量的元素,其索引对应于控制输入。 例如,如果输入向量是 [18 15 17 10],且控制输入为 3,则向量的元素与数字 3 (从零开始),等于 10,成为输出信号的值。
要使用该块 Index Vector ,为参数设置 Number of data ports 意义 1,而对于参数 Data port order 意义 Zero-based contiguous.
单元如何处理超出范围的控制输入
如果控制信号是整数且其值小于 打字(Int),则假设超出可接受范围,如果它不匹配任何数据输入数字。 如果控制信号不是整数,那么如果舍入的值不对应于任何数据端口索引,则假定其值在可接受范围之外。 在这两种情况下,块的行为取决于设置。 Data port for default case 和 Diagnostic for default case .
如果控制信号的值大于 打字(Int) 块将输入值转换为整数。
|
建模行为
以下行为仅适用于模型的模拟。
Data port for default case |
Diagnostic for default case h/无h/错误 |
|
|---|---|---|
|
使用最后一个数据输入,不会出现警告或错误。 |
|
出现错误消息,模拟停止。 |
|
使用带有标签的附加数据输入。 |
代码生成期间的行为
以下行为适用于从模型生成代码。
Data port for default case |
Diagnostic for default case h/无H/错误 |
|
|---|---|---|
|
使用最后一个数据输入。 |
|
使用最后一个数据输入。 |
|
使用带有标签的附加数据输入。 |
管理块行为的规则
数据输入的数量由参数设置 Number of data ports .
-
如果你问 Number of data ports 平等的
1,那么块的行为就像一个块 Selector,而不是如何 Multiport Switch . -
如果你问 Number of data ports 更多
1,然后块的行为就像 Multiport Switch . 块的输出表示输入信号,其数量对应于控制输入的值。 如果输入信号中的至少一个是矢量,则块的输出是矢量。 在这种情况下,块将任何标量输入参数扩展为向量。 -
如果所有输入信号都是标量的,则输出信号也是标量的。
假设和限制
-
如果块的输入信号是总线,那么它们在不同端口上的结构(名称,类型和尺寸)必须完全匹配。 为了保证输出总线具有相同的结构,无论单元选择哪种输入总线,都禁止将总线与普通信号混用。
-
对于轮胎工作,参数值为 Number of data ports 它应该是至少
2. -
对于总线,控制信号必须是标量。
| 阅读更多关于轮胎的类型。 自定义轮胎类型。 |
港口
入口
# IN_1 — 控制信号
+
标量,标量 | 向量资料 | 矩阵
Details
确定输入信号中的哪一个传递到输出的控制信号。
| 数据类型 |
|
# *1*是 第一输入信号
+
标量,标量 | 向量资料 | 矩阵 | 轮胎
Details
第一数据输入是标量、矢量、矩阵、阵列或总线的形式。
-
如果所有输入信号都是标量,那么输出信号也是标量。
-
如果输入信号中的至少一个是矢量,则块的输出是矢量。 在这种情况下,该块将任何标量输入信号扩展到矢量。
依赖关系
对于轮胎工作,参数值为 Number of data ports 它必须≥2。
| 数据类型 |
|
# *2*是 第二输入信号
+
标量,标量 | 向量资料 | 矩阵 | 轮胎
Details
第二数据输入是标量、矢量、矩阵、阵列或总线的形式。
-
如果所有的输入信号都是标量,那么输出信号也是标量。
-
如果输入信号中的至少一个是矢量,则块的输出是矢量。 在这种情况下,该块将任何标量输入信号扩展到矢量。
依赖关系
对于轮胎工作,参数值为 Number of data ports 它必须≥2。
| 数据类型 |
|
# * — 超出范围控制信号值的数据输入
+
标量,标量 | 向量资料 | 矩阵 | 轮胎
Details
标量、矢量、矩阵、阵列或总线形式的超出范围控制信号值的输入数据端口。
数据输入上的所有信号都可以具有Engee支持的任何数据类型。
依赖关系
要为超出范围的控制信号值创建一个额外的输入端口,请设置参数 Data port for default case 意义 Additional data port. 当您为参数设置 Data port for default case 意义 Last data port,该块在控制信号的值与任何数据端口索引不匹配时使用最后一个数据端口进行输出。
对于轮胎工作,参数值为 Number of data ports 它必须≥2。
| 数据类型 |
|
参数
基本设置
#
Data port order —
数据端口编号类型
Zero-based contiguous | One-based contiguous | Specify indices
Details
设置数据端口的编号类型。
-
Zero-based contiguous-单元从零开始计数输入端口。 这是*索引向量*块的默认值。 -
One-based contiguous-单位开始计数从一个输入端口。 这是块的默认值 Multiport Switch . -
Specify indices-该块使用数据端口的任意编号。
依赖关系
-
选择
Zero-based contiguous或One-based contiguous包括参数 Number of data ports . -
选择
Specify indices包括参数 Data port indices (e.g. [1,[2,3]]) .
| 值 |
|
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Number of data ports —
数据输入端口数
Int64 integer
Details
设置数据端口数。 输入端口的总数是您指定的数量,加上一个用于控制信号输入端口,如果您设置为 Data port for default case 意义 Additional data port.
依赖关系
若要使用此参数,请为参数设置 Data port order 意义 Zero-based contiguous 或 One-based contiguous.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
# Data port indices (e.g. [1,[2,3]]) — 数据端口的索引数组
Details
设置数据输入的索引数组。 块图标将更改以匹配您指定的数据端口索引。
依赖关系
若要使用此参数,请为参数设置 Data port order 意义 Specify indices.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
是 |
| 可计算 |
是 |
#
Data port for default case —
输入端口,以防控制信号值超出范围
Last data port | Additional data port
Details
确定在控制信号值超出范围的情况下是使用最后一个数据端口还是使用附加端口。 端口名称旁边的星号(*)表示当控制输入的值与任何数据端口索引不匹配时块使用的端口。
-
Last data port-当控制信号的值与数据端口的任何索引不匹配时,块使用最后一个数据端口进行输出。 -
Additional data port-所述块在所述控制信号的值不对应于所述数据端口的任何索引时使用附加数据端口进行输出。
如果将此参数设置为 Additional data port 和 Number of data ports 如果值是3,那么块中的输入端口的数量将是5。 第一个输入是控制端口,接下来的三个输入是数据端口,第五个输入是默认端口,以防控制信号值超出范围。
|
| 值 |
|
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Diagnostic for default case —
诊断行动
None | Error
Details
定义在控制端口值与任何数据端口索引不匹配时要采取的诊断操作。 选项包括:
-
None-系统没有采取任何行动。 -
Error-模拟停止并显示错误。 在这种情况下 Data port for default case 它仅用于代码生成,而不是建模。
| 值 |
|
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
输出设置
#
Output data type —
输出数据的类型
Inherit: auto | Same as first data input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point
Details
指定输出数据的类型。 你可以问:
-
数据类型继承
Inherit: auto. -
嵌入式数据类型,例如,
Float32. -
定点数据类型
Fixed-point.
| 值 |
|
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Output fixed-point type —
定点输出类型
Data type
Details
指定定点输出的类型。
依赖关系
若要使用此参数,请为参数设置 Output data type 意义 Fixed-point.
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
是 |
主
#
Integer rounding mode —
定点运算的舍入模式
Ceiling | Convergent | Floor | Nearest | Round | Zero
Details
选择定点运算的舍入模式。 你可以选择:
-
Floor-向下舍入正数和负数(朝向负无穷大)。 -
Ceiling-舍入正数和负数(朝向正无穷大)。 -
Convergent-将数字舍入到最接近的可表示值。 如果数字的小数部分以5结尾,则该数字将四舍五入为最接近的偶数整数。 -
Nearest-将数字舍入到最接近的可表示值。 如果数字的小数部分以5结尾,则将该数字向上取整(朝向正无穷大)。 -
Round-将数字舍入到最接近的整数。
-
Zero-四舍五入数向零。
块参数总是四舍五入到最接近的可表示值。
| 值 |
|
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Saturate on integer overflow —
溢出情况下的作用方法
Logical
Details
当选择此选项时,饱和度应用于所有内部块操作,而不仅仅是输出或结果。
| 开始! | 做出这一决定的原因 | 当有溢出时会发生什么 | 例子: |
|---|---|---|---|
选中此框。 |
溢出在您的模型中是可能的,并且您需要显式保护以防止生成的代码中的饱和。 |
溢出饱和到给定数据类型可以表示的最小值或最大值。 |
与有符号的8位整数相关联的溢出可以饱和到 |
不要选中此框。 |
您希望优化生成代码的效率。通行证:q[<br>] 您希望避免过度澄清块如何处理超出范围的信号。 |
溢出被包装成一个适当的值,该值可以用数据类型表示。 |
电话号码 |
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |
#
Require all data port inputs to have the same data type —
所有输入数据必须具有相同的类型。
Logical
Details
选中此框,以便所有输入数据都具有相同的数据类型。
| 默认值 |
|
| 程序使用名称 |
|
| 可调谐 |
无 |
| 可计算 |
无 |