条件

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

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

文本

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

 

(例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 的值时,也会发生触发。