主要内容

开关

根据第二输入的值在第一输入和第三输入之间切换输出

  • 开关组

库:
金宝appSimulink /常用块
金宝appSimulink /信号路由
HDL编码器/常用模块
HDL编码器/信号路由

描述

块输入类型

开关块根据第二输入的值遍历第一输入或第三输入。调用第一个和第三个输入数据输入。第二个输入称为控制输入。方法指定块传递第一个输入的条件传递第一个输入的标准阈值参数。

要立即将已知的输出数据类型反向传播到第一和第三个输入端口,请设置输出数据类型参数继承:通过内部规则继承然后选择要求所有数据端口输入具有相同的数据类型复选框。

数据输入的限制

如果您选择,两个数据输入的大小可以不同允许不同的数据输入大小。然而,这个块不支持可变大小的输入信号。金宝app因此,在模拟过程中不能改变每个输入的大小。

如果数据输入到开关块总线时,两个总线的元素名称必须相同。使用相同的元素名称可确保无论块选择哪个输入总线,输出总线都具有相同的元素名称。要确保您的模型满足此要求,请使用总线对象来定义总线并设置元素名称不匹配诊断为错误。有关更多信息,请参见模型配置参数:连接性诊断

块图标外观

块图标帮助您识别传递第一个输入的标准阈值无需打开块对话框。

有关各种块方向的端口顺序的信息,请参见识别旋转或翻转块上的端口位置

布尔控制输入的块行为

当控制输入为a时布尔信号,使用这些标准和阈值的组合之一:

  • u2 >=阈值,其中阈值为1

  • u2 >阈值,其中阈值为0

  • u2 ~ = 0

否则,开关block忽略阈值并使用布尔输入进行信号路由。的控制输入1,块传递第一个输入,并为控制输入0,块传递第三个输入。在这种情况下,块图标在编译后更改并使用TF分别标记第一和第三个输入。

数据类型支持金宝app

控制输入可以是Simulink支持的任何数据类型金宝app®金宝app支持,包括定点和枚举类型。控制输入不能太复杂。如果枚举了控件输入,则阈值参数必须是相同枚举类型的值。

数据输入可以是Simulink支持的任何数据类型。金宝app金宝app如果其中一个数据输入为枚举类型,则另一个数据输入必须具有相同的枚举类型。

当输出为枚举类型时,两个数据输入都应该使用与输出相同的枚举类型。

有关更多信息,请参见Simulink支持的金宝app数据类型金宝app

港口

输入

全部展开

两个数据输入中的第一个。该块将第一或第二数据输入传播到输出。块根据控制输入选择要传递的输入。属性指定控制输入传递第一个输入的条件传递第一个输入的标准阈值参数。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|图像

所述块用于确定是否将第一或第二数据输入传递到输出的控制信号。中设置的条件传递第一个输入的标准参数,然后块传递第一个数据输入。否则,块传递第二个数据输入。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|图像

两个数据输入中的第二个。该块将第一或第二数据输入传播到输出。块根据控制输入选择要传递的输入。属性指定控制输入传递第一或第二输入的条件传递第一个输入的标准阈值参数。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|图像

输出

全部展开

基于控制信号值从第一或第二输入信号传播的输出信号。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|图像

参数

全部展开

主要

选择块传递第一个数据输入的条件。中设置的条件传递第一个输入的标准参数时,块传递第一个输入。否则,该块从输入传递第二个数据输入信号Port_3

u2 >=阈值

检查控制输入是否大于或等于阈值。

u2 >阈值

检查控制输入是否大于阈值。

U2 ~= 0

检查控制输入是否非零。

请注意

开关Block不支持金宝appU2 ~= 0枚举数据类型的模式。

提示

当控制输入是布尔信号时,使用条件和阈值的下列组合之一:

  • u2 >=阈值,其中阈值等于1

  • u2 >阈值,其中阈值为0

  • U2 ~= 0

否则,开关block忽略阈值并使用布尔值进行信号路由。当值为1时,块传递第一个输入,当值为0时,块传递第三个输入。描述此行为的警告消息也出现在MATLAB中®命令窗口。

编程使用

块参数:标准
类型:特征向量
值:'u2 >=阈值'|'u2 >阈值'|'u2 ~= 0'
默认值:'u2 >阈值'

中使用的阈值传递第一个输入的标准它决定了块传递给输出的输入。阈值必须大于输出最小小于输出最大

要指定非标量阈值,请使用括号。例如,以下条目是有效的:

  • [1 4 8 12]

  • [MyColors。红色,MyColors。蓝色)

依赖关系

设置传递第一个输入的标准U2 ~= 0禁用此参数。

编程使用

块参数:阈值
类型:特征向量
值:标量
默认值:' 0 '

选择开启过零检测。有关更多信息,请参见讨论二阶导数过零检测

编程使用

块参数ZeroCross
类型:字符向量|字符串
“关闭”|“上”
默认的“上”

信号的属性

数据类型助理帮助您设置数据属性。要使用数据类型助理,点击显示数据类型助手。有关更多信息,请参见使用数据类型助手指定数据类型

要求所有数据输入具有相同的数据类型。

编程使用

块参数:InputSameDT
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

Simulink检查输出范围的较低值。金宝app

金宝appSimulink使用最小值来执行:

请注意

输出最小不饱和或剪辑实际输出信号。使用饱和块来代替。

编程使用

块参数OutMin
类型:字符向量
“[]”|标量
默认的“[]”

Simulink检测输出范围的最大值。金宝app

金宝appSimulink使用最大值来执行:

请注意

输出最大不饱和或剪辑实际输出信号。使用饱和块来代替。

编程使用

块参数OutMax
类型:字符向量
“[]”|标量
默认的“[]”

指定输出数据类型。

继承:通过内部规则继承

使用以下规则确定输出数据类型。

第一输入端口的数据类型 输出数据类型
具有比第三个输入端口更大的正范围 继承自第一个输入端口
与第三个输入端口有相同的正范围 继承自第三个输入端口
有一个比第三个输入端口更小的正范围
是布尔值和第三个输入端口是uint8
uint8第三个输入端口是布尔值
是布尔值,其他是int8 设置为布尔值
uint8other为布尔值
两个输入端口的数据类型 输出数据类型
一个输入类型是布尔值,另一个是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
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”

块特征

数据类型

布尔|公共汽车||枚举|不动点|一半|整数||字符串

直接引线

是的

多维信号

是的

适应信号

是的

讨论二阶导数过零检测

是的

扩展功能

PLC代码生成
生成结构化文本代码使用Simulink®PLC编码器™。金宝app

定点转换
使用定点设计器™设计和模拟定点系统。

版本历史

R2006a之前引入