如果

使用类似if-else语句的逻辑选择子系统执行

  • 库:
  • 金宝appSimulink中/端口和子系统

描述

如果块,连同如果行动子系统块包含一个行动的港口块,实现if-else逻辑来控制子系统的执行。有关使用If块的示例,请参见如果行动子系统

限制

如果块具有以下限制:

  • 它不支持可调参数。金宝app一个值如果要么elseif表达不能在模拟过程中在正常或加速模式调谐,或运行生成的代码时。

    为了实现可调的if-else表达式,调外表达如果块。例如,使用关系运算符块来评价的表达外如果阻止或添加可调参数作为输入到如果块。

  • 它不支持自定义存储类。金宝app看到应用内置和定制的存储类数据元素(嵌入式编码)。

  • 如果表达式Elseif表达式不能接受某些操作符,例如+、-、*/

端口

输入

全部展开

输入U1,U2,...,UN必须具有相同的数据类型。输入不能是任何用户定义的类型,比如枚举类型。

如果块不直接支持定点数据类型。金宝app但是,您可以使用比较恒定块围绕这个限制工作。请参阅中金宝app对定点数据类型的支持如果行动子系统

如果块不支持布尔数据类型。金宝app如果你想输入一个布尔信号到如果块,使用该信号转换为整数型数据类型转换块。

数据类型:||int8|INT16|INT32|uint8|UINT16|uint32

输出

全部展开

从输出如果,其他的elseif端口是到的动作信号如果行动子系统块。

金宝app支持定点数据类型

参数

全部展开

1

指定一个输入端口。

整数

指定输入端口的数量。块端口标记为“u”字符后跟数字,1,2,…,n,在那里n等于您指定的输入的数量。

编程使用

块参数:NumInputs
类型:特征向量
:' 1 '|'<整数>'
默认:' 1 '

如果行动子系统附加到如果当与端口关联的表达式计算结果为true时执行。

U1> 0

指定输入时在输出端口上发送操作信号u1大于0

逻辑表达式

指定逻辑表达式。这个表达式出现在如果邻近的块如果输出端口。

表达式可以只包括运营商<, <=, ==, ~=, >, >=, &, |, ~,(),奇数-。等运营商+, -, *, /^不允许。表达式必须不包含数据类型的表达式,例如,int8 (6),并且不得引用数据类型不同于的工作区变量要么

编程使用

块参数:IfExpression
类型:特征向量
:“u1 > 0”|“逻辑表达式> <”
默认:“u1 > 0”

如果行动子系统连接到一个elseif当端口的表达式计算为时执行真正和所有如果elseif表达式是错误的。

没有指定的逻辑表达式。

逻辑表达式列表

指定用逗号分隔的逻辑表达式的列表。表达出现在如果块下面如果港口及以上其他的当您选择端口显示其他条件复选框。

表达式只能包含运算符<, <=, ==, ~=, >, >=, &, |, ~,(),奇数-。等运营商+, -, *, /^不允许。表达式必须不包含数据类型的表达式,例如,int8 (6),并且不得引用数据类型不同于的工作区变量要么

编程使用

块参数:ElseIfExpressions
类型:特征向量
:|'<逻辑表达式列表>'
默认:

如果港口和所有elseif港口表达式是,其他的端口发送一个动作信号来执行附加的如果行动子系统块。

显示其他的港口。

隐藏其他的港口。

编程使用

块参数:ShowElse
类型:特征向量
价值观:“上”|“关”
默认值:“上”

控制过零检测。

检测零交叉。

不要检测过零。

编程使用

块参数:过零
类型:特征向量
价值观:“上”|“关”
默认值:“上”

块特性

数据类型

布尔||整数|

直接馈通

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

是的

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

R2006a前推出