<< Click to Display Table of Contents >> タグの基本 |
タグとは?
本パッケージは、現在100機種相当のPLCとの通信に対応しています。PLCとの通信以外にも、他社OPCサーバなどに通信接続することもできます。そして、これらのデバイスとの通信はタグを介して行われます。
また、タグはPLCとの通信を行うという目的以外にも、内部計算用のワークエリアとしての利用や、複数のノード間でネットワークを介したデータのリンクを行うなど、さまざまな用途に利用することができます。
タグを定義することによる共通的な最大のポイントは、例えば、三菱PLC上にある信号やオムロンPLC上にある信号、あるいは内部計算用のワークエリアについても、情報を利用する側から見ると全て同等に「タグ」としてフラットに扱うことができるという点です。
タグを設定することにより、PLCとの通信が行えるようになります。例えば三菱PLCで、「D0000」や「M0000」に対して通信を行いたい場合、それぞれにタグを作成します。
右の画面は、タグを設定している画面イメージです。
|
タグは実際に通信を行うため、「実タグ」もしくは「ドライバタグ」とも呼びます。 |
タグの階層構造とタグパス
タグは、「ユニット」「フォルダ」「タグ」という3階層の構造を持ちます。
■ユニット
ユニットは通信を行うPLC毎に作成します。各PLC固有の接続設定情報を定義します。
■フォルダ
フォルダでは、各PLC固有のネットワークに関連する設定を行います。フォルダは必ずユニットの下に作成します。1つのユニットの下に複数のフォルダを作成することもできます。但し、フォルダのネスト構造(フォルダの下にさらにフォルダを作成すること)はできません。
フォルダは主に2つの役割を持っています。1つは、タグの値の更新周期をフォルダでグループ化したい場合です。更新周期はフォルダ単位に設定可能であるため、例えば1秒ごとに値の更新が必要なタグと、更新は10秒に1回で良いタグとを分けて管理することができます。もう1つの目的は、デイジーチェイン型でのPLC接続設定を行う場合です。例えば、PLCの機種によってはマルチドロップ接続(RS-422)やMELSECNET接続(三菱PLC)など、1台のPLCを基点として複数台のPLCと通信する場合があります。そのようなケースにおいては、フォルダごとに号機番号やネットワーク番号などの通信上の設定を行うことで各PLCとの接続を行います。
■タグ
タグは、基本的にPLCデバイス1点につき1つのタグを作成します。又、タグは必ずフォルダの下に作成します。個々のタグは、タグ名、データ型、データサイズ(ワード、ダブルワードなど)、PLCデバイスのアドレス、フィルタ情報(型変換や工学値変換など)などの詳細な設定値を持ちます。
PLCに接続されたタグを登録した場合、タグの値は通信ドライバによってPLCデバイスの値で自動的に更新が行われます。又、タグに対して値を書き込むと、書き込まれた値は通信ドライバを介して、PLC上のデバイスに対して実際に書き込まれます。
従って、アプリケーションからはタグの値を参照する事によってPLCデバイスの値を知ることが可能となり、アプリケーションからタグに対して値を書き込む事によって、PLCデバイスの値を書き換えることができるようになります。
尚、タグの参照は「タグパス」と呼ばれる書式に従って行います。
タグパスの書式は、ユニット、フォルダ、タグをピリオド「.」でつなげた文字列です。
タグパスの例:
U01.F01.T01 |
タグは配列として宣言することもできます。 |
タグのデータ型
タグは、データ型により大きく分けて「ビットタグ」「数値タグ」「文字列タグ」の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」というタグを1つ設定すると、以下のように様々な場面から利用することができます。
例)IPLinkクライアントで |
IPLink1.ReadVal("U01.F01.T02", value, 0)
|
例)DDEで接続する際に |
=FASERVER|U01.F01!T01
|
例)OPCのアイテム名として |
|
例)タグモニタのビューで |
|
例)スクリプトVer1アクションで |
|
例)FA-Panel のバインド式で
|
|
例)FA-Panel のスクリプトで |
|