Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

間接型タグとリモート参照を使用する

間接型タグとリモート参照を使用する

  • Last UpdatedSep 25, 2024
  • 1 minute read

リモート間接型タグ参照は、ローカル タグ参照とは異なります。リモート参照の構文は以下のとおりです。

AccessName:Item

構文の要素を以下に示します。

  • AccessName は、任意の有効な InTouch アクセス名です。

  • Item は、アクセス名の定義で指定した、I/O サーバーによってサポートされる任意の有効なアイテム名です。

リモート参照を使用すると、サーバーはタグ構造ではなく値をクライアントに返します。この値には、時刻スタンプと品質スタンプが含まれています。そのため、リモート参照に割り当てられている間接型タグは、値、時刻、品質に関するもの以外、タグ ドットフィールドにアクセスすることはできません。たとえば、間接型タグは、アラームしきい値を指定するために、リモート参照を通じてタグ属性にアクセスすることはできません。

考えられる解決策の 1 つは、間接型タグのセットを使用してフェイスプレートを作成することです。以下の図は、ポンプのアラームしきい値を変更するフェイスプレートを示しています。

Graphics describing a faceplate to modify the alarm limits for a pump

この例では、黙示的な .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 というクイック関数を定義できます。

Define a QuickFunction RedirectAlarmFacePlate

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

CALL RedirectAlarmFacePlate ("TagSource1:PumpRPM");