入出力バインド書式

<< Click to Display Table of Contents >>

マニュアル > 画面作成ガイド > バインド > 手動設定タブ >

入出力バインド書式

入出力バインド書式

入出力バインドの書式としては以下の2つの方法があります。

 

1) INOUT:タグ名

 

入力バインドと出力バインドのタグが同じ場合、「INOUT:」の後にタグ名を記述します。

 

例)

 

U01.F01.T01タグの値をプロパティに設定し、かつ、プロパティ値をU01.F01.T01タグに書き込みます。

 

INOUT:U01.F01.T01

 

hint

但し、例えば小数点以下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

 

 

hint

入力バインドと出力バインドが同じタグの場合、WATCH書式を記述する必要はありません。

 

 

4) ONLYFIRSTINオプション

 

入出力バインドの書式に、「ONLYFIRSTIN」オプションを指定することができます。

ONLYFIRSTINを指定すると、入力タグからの第一回目の値の取得後、入力タグからの値のリンクを停止します。何らかの理由により初回値のみを取り込みたい場合に使用します。

 

INOUT:U01.F01.T01;ONLYFIRSTIN

 

IN:U01.F01.T01;OUT:U01.F01.T02;ONLYFIRSTIN