タグの基本

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > タグ編 >

タグの基本

タグとは?

本パッケージは、現在100機種相当のPLCとの通信に対応しています。PLCとの通信以外にも、他社OPCサーバなどに通信接続することもできます。そして、これらのデバイスとの通信はタグを介して行われます。

 

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

 

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

 

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

 

右の画面は、タグを設定している画面イメージです。

 

 

c_tag_0001

 

 

hint

PLCなどの機器と接続するには、各機器に対応した「ユニット」を登録し、その配下に「フォルダ」「タグ」を登録します。各機器との接続方法に関する詳細については、「機器接続ガイド」に記述されています。

 

hint

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

 

 

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

タグは、「ユニット」「フォルダ」「タグ」という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

 

 

hint

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

 

 

タグのデータ型

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

 

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

 

タイプ

データ型

0 - ビット

ビットタグ

1 - 整数 BCD

数値タグ

2 - 整数 BCD (符号付き)

数値タグ

3 - 整数 バイナリ

数値タグ

4 - 整数 バイナリ (符号付き)

数値タグ

5 - 単精度浮動小数型(IEEE)

数値タグ

6 - 倍精度浮動小数型(IEEE)

数値タグ

7 - アスキー

文字列タグ(ASCII)

8 - UTF-8

文字列タグ(Unicode(UTF-8))

7 - UTF-16

文字列タグ(Unicode(UTF-16))

 

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

 

 

hint

ビットデバイスをビットタグ(TRUE/FALSE)ではなく、数値タグ(1/0)として扱いたい場合は以下のように設定します。

その他、M0000からM0015までをBCD値として扱うなど、柔軟に定義できるようになっています。

詳しくは、「デバイスの解釈」を参照下さい。

c_tag_0008

 

 

 

タグを利用する場面(例)

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

 

例)IPLinkクライアントで

IPLink1.ReadVal("U01.F01.T02", value, 0)

 

例)DDEで接続する際に

=FASERVER|U01.F01!T01

 

例)OPCのアイテム名として

c_tag_0002

 

 

 

例)タグモニタのビューで

 

c_tag_0003

 

例)スクリプトVer1アクションで

c_tag_0004