# 入出力バインド書式

マニュアル > 画面作成ガイド > バインド > 手動設定タブ > # 入出力バインド書式 |

入出力バインド書式

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

1) 「INOUT:タグ名」

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

例）

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

INOUT:U01.F01.T01

| 但し、例えば小数点以下２桁の数値表示で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オプション」

上記の２の例をさらに拡張した設定例です。上記２のようなケースでは、本来であれば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