# 条件

条件トリガーは、指定された条件に従ってオペレーションを実行します。

このトリガーは条件を満たしたときに 1 回発生します。なお、条件を満たしたかどうかは、条件に設定した値が変化した時に判断されます。

##### ブロック

##### テキスト

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

MEMO: 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 の高さが 20 ~ 15 の場合にトリガーが発生します。

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 と呼ばれます。

(例)

条件 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 MEMO: Deadband は、[!=] 条件をサポートしていません (設定していたとしても)。 | 入力値が 5 に等しくない場合にトリガーが発生します。 トリガーは、初めて入力値が 5 に等しくなくなったときに発生します。次のトリガーは、入力値が 5 に達してから異なる値に変化すると発生します。
4<=X<=6、Deadband = 1 | トリガーは、入力値が 4 から 6 の間になると発生します。 トリガーは、初めて入力値が 4 から 6 の間になったときに発生します。次のトリガーは、入力値が 7 以上になり 4 から 6 の間に達すると発生します。次のトリガーは、入力値が 3 以下に下がってから 4 から 6 の間に達しても発生します。