<< Click to Display Table of Contents >> 構造化タグの基本 |
構造化タグとは?
構造化タグは1つの構造化タグに対して複数のパラメータを一括管理することを目的とした機能です。
例えば、T0000というタグに対し、T0000.Name(タグ名称)、T0000.PV(現在値)、T0000.SV(設定値)などの複数のパラメータを自由にユーザーが定義することができます。
構造化タグではName、PV、SVなどのパラメータのことをメンバと呼びます。
構造化タグは、クラス及びインスタンスという概念で構成されます。
本項目の説明で使用しているサンプルは、以下からご利用頂けます。
|
クラスについて
構造化タグを作成するには、まずクラスを定義します。クラスは構造化タグを作成するための基になる定義です。クラスに対し以下のように構造化タグのメンバを定義します。
上のクラスでは、クラス「CLASS01」が以下の3つのメンバを持つことを定義しています。
・Name(文字列型、値をPCに保持する、初期値無し)
・PV(数値型、値をPCに保持しない、初期値無し)
・SV(数値型、値をPCに保持しない、初期値無し)
メンバの定義方法
追加したクラスを右クリックしプロパティを選択することにより、メンバの定義を行います。
名称 |
説明 |
||||||||||||||||
①クラス名 |
クラス名を指定します。 フォルダ内に定義した場合は、この名前の前にフォルダ名をドット「.」で結合した名前が最終的なクラス名のパスになります。 |
||||||||||||||||
②デフォルトタグ名 |
画面からドラックアンドドロップすることによりインスタンスを作成する場合に使用するデフォルトのタグ名です。 CSVファイルのインポートによりインスタンスを作成する場合は特に設定をする必要はありません。 |
||||||||||||||||
③構造化タグフィルタ |
構造化タグフィルタを用いるとメンバ間の演算を行うことができます。 詳細は「構造化タグフィルタについて」を参照してください。 |
||||||||||||||||
④追加削除挿入ボタン |
メンバの追加、削除、挿入を行います。 |
||||||||||||||||
⑤メンバ定義 |
メンバの定義です。インスタンスはこれらの定義を元に作成されます。
•Name/Typeについて
•Hold/Default/Bindについて
|
インスタンスについて
インスタンスとはクラスの定義を元に、実際に作成された構造化タグのことを言います
以下は前述の「CLASS01」を元にしてインスタンス(T0000~T0009)を作成した例です。
クラスのメンバの修正はインスタンス作成後でもできます。 例えば、MVというメンバを追加したい場合は、「CLASS01」の定義でMVを追加します。 すると、「CLASS01」クラスから作成されたすべてのインスタンス(T0000~T0009)に対しMVというメンバが自動的に追加されます。 |
インスタンスの設定方法
追加したインスタンスを右クリックしプロパティを選択することにより、インスタンスの設定を行います。
名称 |
説明 |
||||||||||||||||
①クラス名 |
インスタンスの元となったクラス名です。 変更はできません。 |
||||||||||||||||
②インスタンス名 |
インスタンス名です。 このインスタンス名及びフォルダ構成、メンバ名の3つの要素で外部から参照するためのタグパスが決定されます。 詳細は「構造化タグの階層構造とタグパス」を参照して下さい。 |
||||||||||||||||
③メンバ定義 |
メンバの定義です。
•Name/Typeについて
•Hold/Default/Bindについて
|
バインドについて
各インスタンスのメンバとドライバタグ(PLCのデバイス)とをリンクさせることをバインドと言います。
例えば、T0000.PVをD0000、T0001.PVをD0001のようにリンクするには、各インスタンスでバインドの設定をします。
以下はバインド書式の例です。バインドについての詳細は「バインドについて」を参照して下さい。
例)入力バインド
IN:U01.F01.T01 // 「IN:」を省略した場合も入力バインドとなる |
例)出力バインド
OUT:U01.F01.T01 |
例)入出力バインド
INOUT:U01.F01.T01 // 入出力を同一タグに対して行う IN:U01.F01.T01; OUT:U01.F01.T02 // 入出力をそれぞれ異なるタグに対して行う |
例)演算式
IN:U01.F01.T01 + U01.F01.T02 IN:($PV1$ + $PV2$) / 2 // メンバ同士のバインドを行えます |
例)関数を使用した例(工学値変換)
IN:Math.LT(T, U01.F01.T01, $PLCMin$, $PLCMax$, $PCMin$, $PCMax$, T, T) |
構造化タグの階層構造とタグパスについて
構造化タグ(クラスを元に作成されたインスタンス)を外部から参照するにはタグパスを用います。
インスタンスを多数定義する場合、フォルダを作成することにより分りやすく分類することができます。
フォルダは何階層でも定義できます。以下の例では2階層のフォルダを作成し、その中にT0000などのインスタンスを作成しています。
構造化タグを参照するためのタグパスは以下のようになります。
フォルダをドット「.」で連結した名前.インスタンス名.メンバ名
上画像の例では、F01.F01というフォルダ内にT0000というインスタンスを作成しています。PVメンバを参照したい場合は、F01.F01.T0000.PVがタグパスになります。
タグパスの文字列をコピーしたい場合は、画面からメンバを選択しCtrl+Cキーを押します。Ctrl+Vでタグパスを貼り付けられます。 |