条件触发根据指定的条件运行操作。
满足条件时触发一次。当条件的设定值发生更改时,判断条件是否满足。
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。
(示例)
假设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 的值时,也会发生触发。![]() |