間接型タグとリモート参照を使用する
- Last UpdatedSep 25, 2024
- 1 minute read
リモート間接型タグ参照は、ローカル タグ参照とは異なります。リモート参照の構文は以下のとおりです。
AccessName:Item
構文の要素を以下に示します。
-
AccessName は、任意の有効な InTouch アクセス名です。
-
Item は、アクセス名の定義で指定した、I/O サーバーによってサポートされる任意の有効なアイテム名です。
リモート参照を使用すると、サーバーはタグ構造ではなく値をクライアントに返します。この値には、時刻スタンプと品質スタンプが含まれています。そのため、リモート参照に割り当てられている間接型タグは、値、時刻、品質に関するもの以外、タグ ドットフィールドにアクセスすることはできません。たとえば、間接型タグは、アラームしきい値を指定するために、リモート参照を通じてタグ属性にアクセスすることはできません。
考えられる解決策の 1 つは、間接型タグのセットを使用してフェイスプレートを作成することです。以下の図は、ポンプのアラームしきい値を変更するフェイスプレートを示しています。

この例では、黙示的な .Value ドットフィールドに関連付けられた 10 個の間接型タグがフェイスプレートで使用されています。アラーム フェイスプレートは、TagServer1 というリモート InTouch ノード上のリモート参照タグ IndPumpRPM にリダイレクトされています。InTouch アクセス名は以下のように設定されます。
|
アクセス名: |
TagSource1 |
|
ノード名: |
TagServer1 |
|
アプリケーション名: |
表示 |
|
トピック名: |
タグ名 |
フェイスプレートをリモート参照タグ PumpRPM にリダイレクトするには、以下の QuickScript を実行します。
IndPumpRPMName.Name = "TagSource1:PumpRPM.Name";
IndPumpRPMValue.Name = "TagSource1:PumpRPM";
IndPumpRPMHiHiLimit.Name = "TagSource1:PumpRPM.HiHiLimit";
IndPumpRPMHiLimit.Name = "TagSource1:PumpRPM.HiLimit";
IndPumpRPMLoLimit.Name = "TagSource1:PumpRPM.LoLimit";
IndPumpRPMLoLoLimit.Name = "TagSource1:PumpRPM.LoLoLimit";
IndPumpRPMHiHiStatus.Name = "TagSource1:PumpRPM.HiHiStatus";
IndPumpRPMHiStatus.Name = "TagSource1:PumpRPM.HiStatus";
IndPumpRPMLoStatus.Name = "TagSource1:PumpRPM.LoStatus";
IndPumpRPMLoLoStatus.Name = "TagSource1:PumpRPM.LoLoStatus";
このスクリプトは、フェイスプレートをリダイレクトするたびに実行する必要があります。別の解決策は、単独のスクリプトを記述して、そのスクリプトにリモート参照の名前を渡す InTouch クイック関数を作成することです。同じクイック関数を呼び出す複数のフェイスプレートを使用することによって、スクリプトのコーディング作業を軽減できます。
たとえば、類似したスクリプト コマンドのセットを使用して、RedirectAlarmFacePlate というクイック関数を定義できます。

RedirectAlarmFacePlate 関数を呼び出すと、リダイレクト処理全体を行えます。この処理を実行するには、この関数が別の InTouch QuickScript によって呼び出される必要があります。以下に例を示します。
CALL RedirectAlarmFacePlate ("TagSource1:PumpRPM");