开关
根据第二输入的值在第一输入和第三输入之间切换输出
库:
金宝appSimulink /常用块
金宝appSimulink /信号路由
HDL编码器/常用模块
HDL编码器/信号路由
描述
块输入类型
的开关块根据第二输入的值遍历第一输入或第三输入。调用第一个和第三个输入数据输入。第二个输入称为控制输入。方法指定块传递第一个输入的条件传递第一个输入的标准和阈值参数。
要立即将已知的输出数据类型反向传播到第一和第三个输入端口,请设置输出数据类型参数继承:通过内部规则继承
然后选择要求所有数据端口输入具有相同的数据类型复选框。
数据输入的限制
如果您选择,两个数据输入的大小可以不同允许不同的数据输入大小。然而,这个块不支持可变大小的输入信号。金宝app因此,在模拟过程中不能改变每个输入的大小。
如果数据输入到开关块总线时,两个总线的元素名称必须相同。使用相同的元素名称可确保无论块选择哪个输入总线,输出总线都具有相同的元素名称。要确保您的模型满足此要求,请使用总线对象来定义总线并设置元素名称不匹配诊断为错误
。有关更多信息,请参见模型配置参数:连接性诊断。
布尔控制输入的块行为
当控制输入为a时布尔
信号,使用这些标准和阈值的组合之一:
u2 >=阈值
,其中阈值为1
u2 >阈值
,其中阈值为0
u2 ~ = 0
否则,开关block忽略阈值并使用布尔输入进行信号路由。的控制输入1
,块传递第一个输入,并为控制输入0
,块传递第三个输入。在这种情况下,块图标在编译后更改并使用T
和F
分别标记第一和第三个输入。
数据类型支持金宝app
控制输入可以是Simulink支持的任何数据类型金宝app®金宝app支持,包括定点和枚举类型。控制输入不能太复杂。如果枚举了控件输入,则阈值参数必须是相同枚举类型的值。
数据输入可以是Simulink支持的任何数据类型。金宝app金宝app如果其中一个数据输入为枚举类型,则另一个数据输入必须具有相同的枚举类型。
当输出为枚举类型时,两个数据输入都应该使用与输出相同的枚举类型。
有关更多信息,请参见Simulink支持的金宝app数据类型金宝app。
港口
输入
Port_1- - - - - -第一数据输入信号
标量|向量
两个数据输入中的第一个。该块将第一或第二数据输入传播到输出。块根据控制输入选择要传递的输入。属性指定控制输入传递第一个输入的条件传递第一个输入的标准和阈值参数。
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|枚举
|公共汽车
|图像
Port_2- - - - - -控制输入信号
标量|向量
所述块用于确定是否将第一或第二数据输入传递到输出的控制信号。中设置的条件传递第一个输入的标准参数,然后块传递第一个数据输入。否则,块传递第二个数据输入。
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|枚举
|公共汽车
|图像
Port_3- - - - - -第二数据输入信号
标量|向量
两个数据输入中的第二个。该块将第一或第二数据输入传播到输出。块根据控制输入选择要传递的输入。属性指定控制输入传递第一或第二输入的条件传递第一个输入的标准和阈值参数。
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|枚举
|公共汽车
|图像
输出
Port_1- - - - - -输出信号
标量|向量
基于控制信号值从第一或第二输入信号传播的输出信号。
数据类型:单
|双
|一半
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|枚举
|公共汽车
|图像
参数
主要
传递第一个输入的标准- - - - - -传递第一个数据输入的选择标准
u2 >阈值
(默认)|u2 >=阈值
|U2 ~= 0
选择块传递第一个数据输入的条件。中设置的条件传递第一个输入的标准参数时,块传递第一个输入。否则,该块从输入传递第二个数据输入信号Port_3
。
-
u2 >=阈值
-
检查控制输入是否大于或等于阈值。
-
u2 >阈值
-
检查控制输入是否大于阈值。
-
U2 ~= 0
-
检查控制输入是否非零。
请注意
的开关Block不支持金宝app
U2 ~= 0
枚举数据类型的模式。
提示
当控制输入是布尔信号时,使用条件和阈值的下列组合之一:
u2 >=阈值
,其中阈值等于1u2 >阈值
,其中阈值为0U2 ~= 0
否则,开关block忽略阈值并使用布尔值进行信号路由。当值为1时,块传递第一个输入,当值为0时,块传递第三个输入。描述此行为的警告消息也出现在MATLAB中®命令窗口。
编程使用
块参数:标准 |
类型:特征向量 |
值:'u2 >=阈值' |'u2 >阈值' |'u2 ~= 0' |
默认值:'u2 >阈值' |
阈值- - - - - -标准中使用的阈值
0
(默认)|标量
中使用的阈值传递第一个输入的标准它决定了块传递给输出的输入。阈值必须大于输出最小小于输出最大。
要指定非标量阈值,请使用括号。例如,以下条目是有效的:
[1 4 8 12]
[MyColors。红色,MyColors。蓝色)
依赖关系
设置传递第一个输入的标准来U2 ~= 0
禁用此参数。
编程使用
块参数:阈值 |
类型:特征向量 |
值:标量 |
默认值:' 0 ' |
使能过零检测- - - - - -使能过零检测
在
(默认)|从
信号的属性
的数据类型助理帮助您设置数据属性。要使用数据类型助理,点击显示数据类型助手。有关更多信息,请参见使用数据类型助手指定数据类型。
要求所有数据端口输入具有相同的数据类型- - - - - -要求数据端口具有相同的数据类型
从
(默认)|在
要求所有数据输入具有相同的数据类型。
编程使用
块参数:InputSameDT |
类型:特征向量 |
值:“关闭” |“上” |
默认值:“关闭” |
输出最小- - - - - -量程检查的最小输出值
[]
(默认)|标量
Simulink检查输出范围的较低值。金宝app
金宝appSimulink使用最小值来执行:
参数范围检查(参见指定块参数的最小值和最大值)。
定点数据类型的自动缩放。
从模型生成的代码的优化。这种优化可以删除算法代码并影响某些仿真模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码)。
请注意
输出最小不饱和或剪辑实际输出信号。使用饱和块来代替。
编程使用
块参数:OutMin |
类型:字符向量 |
值:“[]” |标量 |
默认的:“[]” |
输出最大- - - - - -范围检查的最大输出值
[]
(默认)|标量
Simulink检测输出范围的最大值。金宝app
金宝appSimulink使用最大值来执行:
参数范围检查(参见指定块参数的最小值和最大值)。
定点数据类型的自动缩放。
从模型生成的代码的优化。这种优化可以删除算法代码并影响某些仿真模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码)。
请注意
输出最大不饱和或剪辑实际输出信号。使用饱和块来代替。
编程使用
块参数:OutMax |
类型:字符向量 |
值:“[]” |标量 |
默认的:“[]” |
输出数据类型- - - - - -输出数据类型
继承:通过内部规则继承
(默认)|继承:通过反向传播继承
|继承:与第一次输入相同
|双
|单
|一半
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (16)
|fixdt (1 16 0)
|fixdt(1, 16日2 ^ 0,0)
|字符串
|Enum: <类名>
|<数据类型表达式>
|金宝appSimulink.ImageType (480640 3)
指定输出数据类型。
-
继承:通过内部规则继承
-
使用以下规则确定输出数据类型。
第一输入端口的数据类型 输出数据类型 具有比第三个输入端口更大的正范围 继承自第一个输入端口 与第三个输入端口有相同的正范围 继承自第三个输入端口 有一个比第三个输入端口更小的正范围 是布尔值和第三个输入端口是 uint8
是 uint8
第三个输入端口是布尔值是布尔值,其他是 int8
设置为布尔值 是 uint8
other为布尔值两个输入端口的数据类型 输出数据类型 一个输入类型是布尔值,另一个是 uint8
设置为第三个数据端口的数据类型 一个输入是布尔值,另一个输入是 int8
设置为布尔值 -
继承:通过反向传播继承
-
使用驱动块的数据类型。
-
继承:继承与第一次输入相同
-
使用第一个数据输入端口的数据类型。
-
双
-
指定输出数据类型为
双
。 -
单
-
指定输出数据类型为
单
。 -
一半
-
指定输出数据类型为
一半
。 -
int8
-
指定输出数据类型为
int8
。 -
uint8
-
指定输出数据类型为
uint8
。 -
int16
-
指定输出数据类型为
int16
。 -
uint16
-
指定输出数据类型为
uint16
。 -
int32
-
指定输出数据类型为
int32
。 -
uint32
-
指定输出数据类型为
uint32
。 -
int64
-
指定输出数据类型为
int64
。 -
uint64
-
指定输出数据类型为
uint64
。 -
fixdt (1 16 0)
-
指定输出数据类型为定点
fixdt (1 16 0)
。 -
fixdt(1, 16日2 ^ 0,0)
-
指定输出数据类型为定点
fixdt(1, 16日2 ^ 0,0)
。 -
Enum: <类名>
-
使用枚举数据类型,例如,
枚举:BasicColors
。 -
金宝appSimulink.ImageType (480640 3)
-
使用一个
金宝app仿真软件。ImageType
(计算机视觉工具箱)对象,如果您有计算机视觉工具箱™。 -
字符串
-
指定输出数据类型为字符串。
-
<数据类型表达式>
-
使用数据类型对象,例如,
金宝app仿真软件。NumericType
。
提示
当输出为枚举类型时,两个数据输入都应该使用与输出相同的枚举类型。
编程使用
块参数:OutDataTypeStr |
类型:字符向量 |
值:继承:通过内部规则继承 |“继承:通过反向传播继承” |“继承:与第一次输入相同” |“双” |“单一” |“一半” |“int8” |“uint8” |“int16” |“uint16” ,“int32” |“uint32” |“int64” |“uint64” |“fixdt(16)” |“fixdt(0) 1, 16日” |“fixdt(1, 16日2 ^ 0,0)” |Enum: <类名> |金宝appSimulink.ImageType (480640 3) |“字符串” |'<数据类型表达式>' |
默认的:“继承:通过内部规则继承” |
针对定点工具的更改锁定数据类型设置- - - - - -防止定点工具覆盖数据类型
从
(默认)|在
选择此参数可防止定点工具覆盖您在此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师)。
编程使用
块参数:LockScale |
类型:特征向量 |
价值观:'off' b| 'on' |
默认值:“关闭” |
整数舍入模式- - - - - -指定定点操作的舍入模式
地板上
(默认)|天花板
|收敛
|最近的
|轮
|简单的
|零
选择这些四舍五入模式之一。
-
天花板
-
将正数和负数舍入到正无穷。等效于MATLAB
装天花板
函数。 -
收敛
-
舍入到最接近的可表示值。如果出现平局,则舍入到最接近的偶数。相当于定点设计器™
收敛
函数。 -
地板上
-
将正数和负数舍入到负无穷。等效于MATLAB
地板上
函数。 -
最近的
-
舍入到最接近的可表示值。如果出现平局,则向正无穷循环。相当于定点设计器
最近的
函数。 -
轮
-
舍入到最接近的可表示值。如果出现平局,将正数舍入到正无穷,将负数舍入到负无穷。相当于定点设计器
轮
函数。 -
简单的
-
自动选择舍入到0和舍入到0之间,以生成尽可能高效的舍入代码。
-
零
-
将数字四舍五入到零。等效于MATLAB
修复
函数。
编程使用
块参数:RndMeth |
类型:字符向量 |
值:“天花板” |“收敛” |“地板” |“最近的” |“圆” |“简单” |“零” |
默认的:“地板” |
另请参阅
有关更多信息,请参见舍入(定点设计师)。
使整数溢出饱和- - - - - -溢流作用方法
从
(默认)|在
指定溢出是饱和溢出还是自动溢出。
从
-溢出换行到数据类型可以表示的适当值。例如,数字130不适合有符号的8位整数,而是换行为-126。
在
—溢出饱和到数据类型可以表示的最小值或最大值。例如,与有符号8位整数相关的溢出可以饱和到-128或127。
提示
当您的模型可能溢出并且您希望在生成的代码中显式地进行饱和保护时,请考虑选择此复选框。
当您希望优化生成代码的效率时,请考虑清除此复选框。
清除此复选框还可以帮助您避免过度指定块处理超出范围信号的方式。有关更多信息,请参见排除信号范围误差。
当您选择此复选框时,饱和度适用于块上的每个内部操作,而不仅仅是输出或结果。
通常,代码生成过程可以检测到何时不可能发生溢出。在这种情况下,代码生成器不会生成饱和代码。
编程使用
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:'off' b| 'on' |
默认值:“关闭” |
允许不同的数据输入大小- - - - - -允许不同的数据输入大小
从
(默认)|在
选择此复选框可允许输入不同大小的信号。块将输入信号的大小传播到输出信号。如果两个数据输入是可变大小的信号,则信号的最大大小可以相等,也可以不同。
编程使用
块参数:AllowDiffInputSizes |
类型:特征向量 |
值:“上” |“关闭” |
默认值:“关闭” |
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
生成的代码依赖于memcpy
或memset
特定条件下的函数(string.h)。
HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
这个块有一个默认的HDL架构。
ConstrainedOutputPipeline | 通过在设计中移动现有延迟来放置在输出端的寄存器数。分布式管道不会重新分配这些寄存器。默认值为 |
InputPipeline | 在生成的代码中插入的输入管道阶段的数目。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出管道阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
该块支持复杂信号的代码金宝app生成。
PLC代码生成
生成结构化文本代码使用Simulink®PLC编码器™。金宝app
定点转换
使用定点设计器™设计和模拟定点系统。
版本历史
R2006a之前引入
MATLAB命令
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。