# 条件

条件触发根据指定的条件运行操作。

满足条件时触发一次。当条件的设定值发生更改时，判断条件是否满足。

##### 块

##### 文本

onCondition(SOURCE < CONSTANT1&&SOURCE > CONSTANT2,
1 4 1 5
{enableDelay:false,enableDeadband:false,delayValue:0,deadBandValue:0},
3 2 3 2
()=>{

});

1: Condition Source

2: Deadband

3: Hold Delay

启用 [Hold Delay] 时，操作将在设定的时间后运行。

4: 条件 1

5: 条件 2

注： 如果 Condition Source 中设置的变量同时在另一个 Condition Source 中用于 [值更改] 或 [条件] 触发，该触发条件可能无法正常工作。当使用多个 [值更改] 或 [条件] 触发时，请为每个 Condition Source 分配不同的变量。

（例1）

如果布尔值变量 BOOL2 值设置为ON，就会发生触发条件。

变量块 | 条件
从变量块中选择变量 BOOL2。 | 将条件设置为 [==]。 从常量块中选择 [Bool] 并选中复选框。
##### 块 ##### 文本 onCondition(BOOL2 == true,{enableDelay:false,enableDeadband:false,delayValue:0,deadBandValue:0}, ()=>{ });

（例2）

如果整型变量 INT2 值超出 20，就会发生触发条件。

变量块 | 条件
从变量块中选择变量 INT2。 | 将条件设置为 [>]。 从常量块中选择[Int]并设置 20。
##### 块 ##### 文本 onCondition(INT2 > 20,{enableDelay:false,enableDeadband:false,delayValue:0,deadBandValue:0}, ()=>{ });

（例3）

如果字符串变量 STRING2 值变为 ABC，就会发生触发条件。

变量块 | 条件
从变量块中选择变量 STRING2。 | 将条件设置为 [==]。 从常量块中选择[STRING]并输入 ABC。
##### 块 ##### 文本 onCondition(STRING2 == "ABC",{enableDelay:false,enableDeadband:false,delayValue:0,deadBandValue:0}, ()=>{ });

（例4）

如果图形对象 Rectangle2 的高度介于 15 至 20，就会发生触发。

图形对象在 Screen1 上绘制。

画面对象块 | 条件
从画面对象块中选择对象Rectangle2.Height。 | 从常量块中选择[Int]并设置 15。将条件设置为 [<=]。 将其它条件设置为 [<=]。从常量块中选择[Int]并设置 20。
##### 块 ##### 文本 onCondition(15 <= $GraphicObject.Rectangle2.Height && $GraphicObject.Rectangle2.Height <= 20,{enableDelay:false,enableDeadband:false,delayValue:0,deadBandValue:0}, ()=>{ });

### 条件中的支持符号

[==] | 等于符号
[!=] | 不等于符号
[<=] | 等于或小于符号
[>=] | 等于或大于符号
[<] | 小于符号
[>] | 大于符号

### Deadband

触发报警的值和恢复报警的值之间的值范围称为Deadband。

(示例)

假设Condition X>20 及 Deadband 5。

参考下图：在点 A，输入值首次大于 20，因此发生了触发条件。在点 B，输入值未减小至 15 以下，因此不会发生触发条件。在点 C，输入值减小至 15 以下并上升至 20 以上，因此发生了触发条件。

##### 块

##### 文本

onCondition(Var1 > 20,{enableDelay:false,enableDeadband:true,delayValue:0,deadBandValue:5}, ()=>{

});

下表说明了各种条件下的 Deadband:

示例 | 描述
X<5, Deadband = 1 | 每当输入值小于 5 时，发生触发条件。 当输入值首次小于 5，发生触发条件。当输入值升至 6 或更高并再次低于 5 时，会发生下一次触发。
X<=5, Deadband = 1 | 每当输入值小于或等于 5时，发生触发条件。 当输入值首次小于或等于 5，发生触发条件。当输入值升至 6 或更高并再次降至 5 时，会发生下一次触发。
X==5, Deadband = 1 | 每当输入值等于 5 时，发生触发条件。 当输入值第一次等于 5 时，发生触发条件。当输入值升至 6 或更高，或降至 4 或更低，然后再次达到 5 时，会发生下一次触发。
X!=5, Deadband = 1 注： 即使设置了死区，Deadband 也不支持 [!=] 条件。 | 每当输入值不等于 5 时，发生触发条件。 当输入值首次不等于 5 时，发生触发条件。当输入值达到 5，然后更改为其他值时，发生下一次触发条件。
4<=X<=6, Deadband = 1 | 每当输入值为 4 到 6 时，发生触发条件。 当输入值首次为 4 到 6 时，发生触发条件。当输入值升至 7 或更高，然后达到 4 至 6 的值时，会发生下一次触发。当输入值降至 3 或更低，然后达到 4 至 6 的值时，也会发生触发。