# タグの基本

マニュアル > サーバ作成ガイド > タグ編 > # タグの基本 |

タグとは？

本パッケージは、現在１００機種相当のPLCとの通信に対応しております。PLC以外にも、ODBCデータベースやExcelなどに通信接続することもできます。そして、これらのデバイスとの通信はタグを介して行われます。

また、タグはPLCとの通信を行うという目的以外にも、内部計算用のワークエリアとしての利用や、複数のノード間でネットワークを介したデータのリンクを行うなど、さまざまな用途に利用することができます。

タグを定義することによる共通的な最大のポイントは、例えば、三菱PLC上にある信号やオムロンPLC上にある信号、あるいは内部計算用のワークエリアについても、情報を利用する側から見ると全て同等に「タグ」としてフラットに扱うことができるという点です。

タグを設定することにより、PLCとの通信が行えるようになります。例えば三菱PLCで、「D0000」や「M0000」に対して通信を行いたい場合、それぞれにタグを作成します。 右の画面は、タグを設定している画面イメージです。 |

| タグは実際に通信を行うため、「実タグ」もしくは「ドライバタグ」とも呼びます。

タグの階層構造とタグパス

タグは、「ユニット」「フォルダ」「タグ」という３階層の構造を持ちます。

▪ユニット
ユニットは通信を行うPLC毎に作成します。各PLC固有の接続設定情報を定義します。

▪フォルダ
フォルダでは、各PLC固有のネットワークに関連する設定を行います。フォルダは必ずユニットの下に作成します。
１つのユニットの下に複数のフォルダを作成することもできます。但し、フォルダのネスト構造（フォルダの下にさらにフォルダを作成すること）はできません。
フォルダは主に２つの役割を持っています。１つは、タグの値の更新周期をフォルダでグループ化したい場合です。更新周期はフォルダ単位に設定可能であるため、例えば１秒ごとに値の更新が必要なタグと、更新は１０秒に1回で良いタグとを分けて管理することができます。もう１つの目的は、デイジーチェイン型でのPLC接続設定を行う場合です。例えば、PLCの機種によってはマルチドロップ接続（RS-422）やMELSECNET接続（三菱PLC）など、１台のPLCを基点として複数台のPLCと通信する場合があります。そのようなケースにおいては、フォルダごとに号機番号やネットワーク番号などの通信上の設定を行うことで各PLCとの接続を行います。

▪タグ
タグは必ずフォルダの下に作成します。個々のタグは、タグ名、データ型、データサイズ（ワード、ダブルワードなど）、PLCデバイスのアドレス、フィルタ情報（型変換や工学値変換など）などの詳細な設定値を持ちます。
PLCに接続されたタグを登録した場合、タグを利用するアプリケーションからタグの値を参照する事によって、アプリケーションはPLCデバイスの値を知ることができます。
同様に、アプリケーションからタグの値を変更する事によって、PLCデバイスの値を書き換えることができます。

「タグパス」とは？

前述の階層構造において、タグの参照は“タグパス”と呼ばれる書式に従って行われます。タグパスの書式は、ユニット、フォルダ、タグをピリオド「.」でつなげた文字列です。

タグパスの例：

U01.F01.T01

| タグを配列として宣言することもできます。

タグの命名について

ユニット名、フォルダ名、タグ名を設定する際は、以下の規約に注意してください。

1.アルファベット（A〜Z，a〜z）、数字（0〜9）、アンダーバー（_）が推奨文字列。

2.「#./!」は使用できない。また、上記以外その他半角文字、または全角文字は利用する機能により制限がある場合があり非推奨。

3.第１文字目に数字は設定出来ない。

| 命名の非推奨とは、タグの登録自体できますが、他の利用シーンにて利用できない可能性がある為です。タグの名称が変更となると他への影響も発生しますので、命名にはご注意下さい。

タグのデータ型

タグは、データ型により大きく分けて「ビットタグ」「数値タグ」「文字列タグ」の３つのタイプがあります。

標準PLCでは「アドレス設定」タブの「タイプ」によりタグの型が決定します。

タイプ | データ型
0 - ビット | ビットタグ
1 - 整数 BCD | 数値タグ
2 - 整数 BCD (符号付き) | 数値タグ
3 - 整数 バイナリ | 数値タグ
4 - 整数 バイナリ (符号付き) | 数値タグ
5 - 単精度浮動小数型(IEEE) | 数値タグ
6 - 倍精度浮動小数型(IEEE) | 数値タグ
7 - アスキー | 文字列タグ

ビットタグはTRUEかFALSEの値をとります。TRUEはONの状態で、FALSEはOFFの状態です。数値タグは数値を取扱います。文字列タグは、文字（全角文字も含む）を取り扱います。

| ビットデバイスをビットタグ（TRUE/FALSE）ではなく、数値タグ（1/0）として扱いたい場合は下記のように設定します。 その他、M0000からM0015までをBCD値として扱うなど、柔軟に定義できるようになっています。 詳しくは、「デバイスの解釈」を参照下さい。

タグを利用する場面（例）

例えば「U01.F01.T01」というタグを１つ設定すると、下記のように様々な場面から利用することができます。

例）IPLinkクライアントで | IPLink1.ReadVal("U01.F01.T02", value, 0)
例）DDEで接続する際に | =FASERVER|U01.F01!T01
例）OPCのアイテム名として |
例）タグモニタのビューで |
例）スクリプトVer1アクションで |
例）FA-Panel のバインド式で |
例）FA-Panel のスクリプトで |