# 間接タグ参照

マニュアル > 画面作成ガイド > スクリプト > スクリプトの書き方 > # 間接タグ参照 |

間接タグ参照について

間接タグ参照とは、オブジェクトへのバインドを間接的に設定し、実際のタグ参照先をランタイム時に動的に切り替えるための便利な機能です。

間接タグ参照では、オブジェクトへのバインドを「間接タグ」と呼ばれる特別なタグ名を使って仮に割り付けておき、実際のタグの参照先はルートのSetAliasTagメソッドの呼び出しによって行います。間接タグは必ず先頭に「@」を付けて定義します。この機能を利用することによって、1つのオブジェクトに割り付けるタグを目的に応じて切り替え、フォームを共通的な画面として利用することができるようになります。

例１）

ある設備を監視システムにおいて、同仕様の設備をそれぞれ別々の画面で表示する必要があるものとします。各画面の構成は全く同じであって、単に表示するタグが異なるのみだとすると、各設備の画面を個々に作成するのは非効率であるといえます。そこで、各画面でタグの差異がある個所は間接タグで定義しておき、画面の呼び出し時にスクリプトから実参照先のタグをセットすることによって、結果として1つのフォームで各設備の画面を共通化することができます。

例2）

設備の操作指示を画面から受け付ける際に、最終確認のポップアップ画面を表示する必要があるものとします。この場合、各ポップアップ画面で異なる点は、操作確定後に書き込みを行うタグのみであり、確認画面の体裁は全く同じ仕様として流用できる場合が殆どです。このようなケースにおいても、間接タグを利用することで書き込み先のタグを動的に切り替え、１つのフォームをダイアログ表示するだけで共通化することができます。

間接タグの設定例

間接タグの利用は、具体的には以下のような設定となります。

■フォーム側

フォームで共通的に使用したい個所のタグ名を、「@TAG01」、「@TAG02」などの間接タグ名でバインドしておきます（※間接タグはPanel Serverに登録する必要はありません）。

■スクリプト側

スクリプトからフォームを呼び出す直前で、SetAliasTagメソッドを呼び出して実際に参照するタグ名を設定します。そうすることによって、間接タグを使用している部分が実際のタグに置き換えられて処理されます。

::SetAliasTag("@TAG01", "U01.F01.T01"); //＠TAG01の実参照先はU01.F01.T01になる ::SetAliasTag("@TAG02", "U01.F01.T02"); //＠TAG02の実参照先はU01.F01.T02になる ::OpenForm("Form02");

| SetAliasTagメソッドは何回でも呼び出すことが可能です。従って、間接タグの実参照先は何度でも変更することができます。これはフォームが表示中であっても同様に可能です。例えばフォーム上に配置したボタンのクリックによって、異なるタグの値を表示するように動的に切り替えるといった様な、リアルタイムな変更も可能です。