<< Click to Display Table of Contents >> マニュアル > 画面作成ガイド > バインド > 手動設定タブ > 入出力バインド書式 |
入出力バインド書式
入出力バインドの書式としては以下の2つの方法があります。
1) 「INOUT:タグ名」
入力バインドと出力バインドのタグが同じ場合、「INOUT:」の後にタグ名を記述します。
例)
U01.F01.T01タグの値をプロパティに設定し、かつ、プロパティ値をU01.F01.T01タグに書き込みます。
INOUT:U01.F01.T01 |
但し、例えば小数点以下2桁の数値表示でCNumToLocale(NL)関数を用いて入出力バインドを指定したい場合、「INOUT:NL(U01.F01.T01,2)」という記述はできません。そのような場合は、続いて解説する書式「入力バインド書式 ; 出力バインド書式」を使用して、「IN: NL(U01.F01.T01,2) ;OUT:U01.F01.T01」と記述します。 |
2) 「入力バインド書式 ; 出力バインド書式 」
入力バインド「IN」と出力バインド「OUT」を別々に指定することができます。
この例は、エディットコントロールからのタグへの書き込み先のタグ(U01.F01.T01)と、書込み結果のフィードバックの受取用タグ(U01.F01.T02)のように、入力と出力でタグを別々に定義した例です。
U01.F01.T02の値をプロパティに設定し、プロパティ値をU01.F01.T01に書き込みます。
IN:U01.F01.T02;OUT:U01.F01.T01 |
■処理の流れ
1.上のバインドを設定したエディットコントロールから数値を入力すると、出力バインドによりT01に入力値が書き込まれます。
2.バインドによるT01への書き込みの後、T02の値が変化すれば、入力バインドの値がエディットコントロールに表示されます。
但し、T01への書き込み後もT02の値が変化しなかった場合、エディットコントロールに入力した値(T01に書き込んだ値)がそのまま表示され続けます。
3) 「WATCHオプション」
「2」の例をさらに拡張した設定例です。「2」のようなケースでは、本来であればU01.F01.T01への書き込み結果は即座にU01.F01.T02に反映されてフィードバックされるべきところが、何らかの問題が生じてU01.F01.T02の値が変化しなかった場合に、フィードバックが正しく表示されない事になります。そこで、以下のようにWATCHオプションを指定することにより、OUTバインドの実行後に一定時間U01.F01.T02が変化しなかった場合に、プロパティをU01.F01.T02の値に戻すことができます。
IN:U01.F01.T02;OUT:U01.F01.T01;WATCH:10 |
WATCHの後に「:」に続けて監視時間を秒単位で設定することができます。上例のように「:10」とすると、U01.F01.T01への値の書き込み後、10秒間U01.F01.T02に変化がなかった場合に、エディットコントロールの表示をU01.F01.T02の値に戻します。
■処理の流れ
1.上のバインドを設定したエディットコントロールから数値を入力すると、出力バインドによりT01に入力値が書き込まれます。
2.バインドによるT01への書き込みの後、T02の値が変化すれば、入力バインドの値がエディットコントロールに表示されます。
3.T01への書き込み後、10秒間T02の値が変化しなかった場合、エディットコントロールの表示をT02の値に戻します。
尚、以下のように秒を指定せず「;WATCH」のみを指定した場合、「BindWatchTime」ルートプロパティの値が監視時間として適用されます。
IN:U01.F01.T02;OUT:U01.F01.T01;WATCH |
入力バインドと出力バインドが同じタグの場合、WATCH書式を記述する必要はありません。 |
4) 「ONLYFIRSTINオプション 」
入出力バインドの書式に、「ONLYFIRSTIN」オプションを指定することができます。
ONLYFIRSTINを指定すると、入力タグからの第一回目の値の取得後、入力タグからの値のリンクを停止します。何らかの理由により初回値のみを取り込みたい場合に使用します。
INOUT:U01.F01.T01;ONLYFIRSTIN |
IN:U01.F01.T01;OUT:U01.F01.T02;ONLYFIRSTIN |