手順3構造化タグのクラスの作成

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > 構造化タグ編 > 構造化タグの作成手順 >

手順3構造化タグのクラスの作成

構造化タグのクラスを作成する

構造化タグを使用する際には、必ず「クラス」を定義する必要があります。

 

クラスとは、構造化タグのインスタンスを作成する際に参照される、テンプレートとなる定義情報です。

 

構造化タグクラスを作成する作業要領は以下のとおりです。

 

 

1.クラスを追加する

 

ツリー選択ビューから「Structure」を開き、「Class」を右クリックします。

表示されたメニューから、「追加」「クラス」を選択します。

 

c_tags_0056

 

すると、マルチビューに「CLASS01」というクラスが作成されました。

 

c_tags_0057

 

2.クラスのプロパティダイアログを表示する

 

クラスの設定はプロパティダイアログから行います。

 

マルチビューから目的のクラス名(この例では「CLASS01」)を右クリックしてメニューを表示し、クラスのプロパティを表示してください。

 

(クラスのプロパティダイアログ)

c_tags_0058

 

3.クラスのプロパティを編集する

 

画面から「追加」ボタンをクリックして、新たなメンバの行を追加してください。

尚、「挿入」をクリックすると、現在の行位置に新しいメンバの行が挿入されます。

 

設定内容はリストのセルから直接編集することができます。

 

以下は設定例です。

 

c_tags_0013

 

Name

Type

Hold

Default

Bind

Name

STRING

ON



PV

NUMBER

OFF

(N/A)

IN:U01.F01.#D[0000,0,2]

SV

NUMBER

OFF

(N/A)

INOUT:U01.F01.#D[0000,1,2]

 

尚、上記の例では、バインドの設定に「連続追加書式」が設定されています。上記のPVの「[0000,0,2]」の部分、SVの「[0000,1,2]」の部分が連続追加書式です。

 

連続追加書式のフォーマットは以下のとおりです。

 

[アドレス表現,オフセット値,インクリメント値]

 

上記の設定内容では、以下のような連番でバインドされることを想定しています。

 

T0000.PV : U01.F01.#D0000

T0000.SV : U01.F01.#D0001

T0001.PV : U01.F01.#D0002

T0001.SV : U01.F01.#D0003

 

 

 

hint

連続追加書式は、CSVファイルから一括でインスタンスを生成する場合は特に定義する必要はありません。この書式は、構造化タグのインスタンスを画面操作によって作成する場合に利用されます。連続追加書式を指定すると、画面からドラッグアンドドロップでインスタンスを作成する際にバインドのアドレスを自動的に連番で生成することができます。

 

連続追加書式に関する詳細については、「バインドの連続追加書式」を参照して下さい。

 

 

hint

クラスは複数定義できます。クラスを多数定義する場合、フォルダを作成することにより分りやすく分類することができます。

フォルダを定義した場合、フォルダをドット「.」で結合した名前がクラス名になります。

 

以下の例では、SYSMAC.CJ.PIDやMELSEC.QnPH.PIDなどがクラス名にあたります。

 

c_tags_0014

 

 

 

 

プロパティダイアログの画面解説

構造化タグクラスのプロパティダイアログの表示項目と、クラスのメンバの設定項目の詳細について説明します。

 

(クラスのプロパティダイアログ)

c_tag_0136

 

 

名称

説明

①クラス名

クラス名を指定します。クラス名はここから変更することができます。

尚、クラスをフォルダ内に作成した場合、フォルダ名とクラス名をドット「.」で連結した文字列がクラスのパス名になります。

 

②デフォルトタグ名

画面操作によるインスタンス作成を行う際に使用されるデフォルトのタグ名です。

CSVファイルのインポートによりインスタンスを作成する場合は特に設定する必要はありません。

 

③構造化タグフィルタ

このボタンをクリックすると、構造化タグフィルタの編集画面が表示されます。

構造化タグフィルタに関する詳細は「構造化タグフィルタ」を参照してください。

 

④追加、削除、挿入ボタン

リストで選択中の行に対する、メンバの追加、削除、挿入を行います。

 

⑤メンバ定義リスト

クラスのメンバが一覧表示されます。このリストから各メンバの名称、属性などの詳細な設定を定義します。

 

Name/Typeについて
必須定義項目です。すべてのインスタンスはクラスの定義に従います。インスタンス毎に設定を変えることができません。例えば、「CLASS01」というクラスを元にTIC0000 / TIC0001というインスタンスを作成した場合、TIC0000.PVとTOC00001.PVの値の型(Type)は共通であり、それぞれ別の型で指定することはできません。
PVの型をNUMBERと指定した場合も、すべてのインスタンスのPVの型はNUMBERになります。インスタンス作成後、クラスの定義を変更すると、すべてのインスタンスの定義も自動的に変更されます。

 

Hold/Default/Bindについて
画面操作によるインスタンス作成を行う際に使用されるデフォルト設定の定義です。CSVファイルからインポートすることにより定義する場合は、これらの設定は必須ではありません。
尚、インスタンスはクラスの定義に従って作成されますが、インスタンスの作成後は、インスタンス毎に手動で設定を変更することもできます。例えば、クラスの定義にてメンバのHold(値保持)にチェックを入れた状態でインスタンスを作成すると、作成されたすべてのインスタンスの当該メンバにはHoldにチェックが入った状態で作成されますが、値を保持するかどうかのチェックをインスタンス毎に後から変更することができます。インスタンス作成後にクラスの既存メンバの設定を変更しても、作成済のインスタンスへの動的な反映は行われません。

 

Name(必須)

メンバ名

Type(必須)

値の型を以下から選択します。

BOOL

ブール型。TRUE/FALSEの値をとります。

NUMBER

数値型(倍精度浮動小数)。

STRING

文字列型(全角文字も含む)。

文字列の長さに制限はありません。ただし、Hold(値保持)を選択した場合は半角255文字が最大文字数になります。

 

Hold

 

メンバの値を保持するかどうかの設定です。

 

Default

メンバの値の初期値を設定します。尚、ドライバタグをバインドするメンバには初期値を「(N/A)」としておく事で、初期値を不定値にすることができます。

 

Bind

バインド書式を設定します。この設定は、画面操作(ドラッグアンドドロップ)でインスタンスを作成する場合に使用されます。CSVファイルからインポートによる作成を行う場合は設定の必要はありません。

 

尚、バインド書式には「連続追加書式」を設定することができます。連続追加書式は複数のインスタンスを作成する際に、タグパスのアドレスなどに連続したアドレスを自動的に割り当てたい場合に指定します。連続追加書式に関する詳細は「バインドの連続追加書式」を参照して下さい。

 

 

 

hint

不定値(N/A)の概念は重要です。メンバをドライバタグとバインドさせる場合は、基本的にはデフォルト値に不定値を設定するようにしてください。ここで、デフォルト値を「0」として設定すると、オンライン直後に、初回の通信がまだ完了していない状態のときに、値が「0」という扱いになってしまいます。このゼロは値として信頼できるゼロなのかどうか(ドライバが取得してきた「0」なのか)を区別することができません。初期値を不定値としておくことで、ロギング処理などで不定値として区別することができるようになります。

 

不定値に関する詳細については、「不定値と空値」を参照してください。