主要内容

如果

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

  • 库:
  • 金宝appSimulink / Ports &子系统

  • 如果块

描述

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

限制

如果Block有以下限制:

  • 不支持可调参数。金宝app的值如果elseif表达式不能在正常模式或加速模式下的模拟期间或运行生成的代码时进行调优。

    方法之外的if-else表达式要实现可调的if-else表达式如果块。例如,使用关系操作符块以外的表达式求值如果控件的可调参数,或将其添加为输入如果块。

  • 它不支持自定义存储类。金宝app看到使用结构存储类将参数数据组织到结构中(嵌入式编码)

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

港口

输入

全部展开

输入u1, u2,…,联合国必须具有相同的数据类型。输入不能是任何用户定义的类型,比如枚举类型。

如果Block不直接支持定点数据类型。金宝app但是,您可以使用与常量比较块来解决此限制。中对定点金宝app数据类型的支持If动作子系统

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

数据类型:||int8|int16|int32|uint8|uint16|uint32

输出

全部展开

如果其他的,elseif端口是动作信号If动作子系统块。

参数

全部展开

1

指定一个输入端口。

整数

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

编程使用

块参数NumInputs
类型:字符向量
' 1 '|“整数> <”
默认的' 1 '

If动作子系统附于如果当其关联表达式的计算结果为true时,端口执行。

U1 > 0

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

逻辑表达式

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

表达式只能包含运算符<, <=, ==, ~=, >, >=, &, |, ~,(),一元减号.操作员,例如+, -, *, /,^是不允许的。表达式不能包含数据类型表达式,例如:int8 (6),且不能引用数据类型为其他类型的工作区变量

编程使用

块参数IfExpression
类型:字符向量
'u1 > 0'|“逻辑表达式> <”
默认的'u1 > 0'

If动作子系统附属于elseif当其表达式计算为时执行真正的和所有如果而且elseif表达式是假的。

未指定逻辑表达式。

逻辑表达式列表

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

表达式只能包含运算符<, <=, ==, ~=, >, >=, &, |, ~,(),一元减号.操作员,例如+, -, *, /,^是不允许的。表达式不能包含数据类型表达式,例如:int8 (6),且不能引用数据类型为其他类型的工作区变量

编程使用

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

如果港口及全部elseif端口表达式为,其他的端口发送一个动作信号来执行附加的If动作子系统块。

显示其他的端口。

隐藏其他的端口。

编程使用

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

控制过零检测。

检测零交叉。

不检测过零。

编程使用

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

块特征

数据类型

布尔||整数|

直接引线

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

是的

扩展功能

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

版本历史

R2006a之前介绍