配列タグを利用した大量データのロギング

<< Click to Display Table of Contents >>

マニュアル > 監視システム構築ガイド > 主要機能の構築 > ロギング/トレンドグラフ > ロガーアクションの利用 > ロガーアクションのサンプル集 >

配列タグを利用した大量データのロギング

概要

配列タグを使って大量データのロギングを行う方法について解説します。

 

ロギング対象のタグを各1点ずつ用意しても大量データのロギングを行うことは可能ですが、ロガーアクションに登録するタグの点数が多くなりすぎると、設定作業が煩雑になる場合があります。配列タグを利用することによって、1つのタグ登録作業のみで連続したデバイスエリアを簡単にロギングすることができるようになります。

 

 

 

サンプルのダウンロード

このページで紹介されている作成例には、サンプルが用意されています。

 

サンプルは以下からダウンロードすることができます。

 

 

 

設定手順

タグの設定

 

1.データ収集のための仮想デバイスタグ「U01.F01.SD0000」を設定し、以下プロパティにより配列として定義します(この例では5000個の配列とします)。
 
この設定によりSD0000~SD04999の連続したアドレスエリアが1つのタグでまとめて定義されます。
 
c_action_logger_0067
 
c_action_logger_0068

 

 


アクションの設定

 

1.ロガーアクション「A01」を追加します。
 
時刻フィールドを設定した後、先ほど作成した配列タグ「U01.F01.SD0000」をドラックアンドドロップしてタグフィールドを設定して下さい。
ここで、タグフィールドのプロパティを以下のように設定します。
 
名前:「U01_F01_SD」 列数:「5000」 桁数:「4」
 
c_action_logger_0069
 
c_action_logger_0070

 

 

2.A01のテキスト設定タブから、ログファイルのファイル名、保存先を設定します(以下は設定例です)。

 

p_logger_0001

 

 


イベントの設定

 

1.定周期イベント「E01」を追加します。
 
周期を1秒周期とし、実行アクションに「A01」を設定します。
 
c_action_logger_0064
 
c_action_logger_0065

 

 

解説

配列タグを使うと、連続したデバイスを一括で保存することができます。この例では5000点の連続したデバイスとして定義しました。

 

尚、CSVファイルへのロギングにおいてフィールド名はあまり重要な意味を持ちませんが、ODBC経由でデータベースにロギングを行う場合は、ロガーのフィールド名の定義をテーブルレイアウトに一致させる必要がある点に注意してください。この例の場合、フィールド設定画面で名前を「U01_F01_SD」、列数:「5000」、桁数:「4」と設定しました。これによりログデータの各フィールド名は「U01_F01_SD0000」~「U01_F01_SD4999」の連番として出力されます。

 

 

このサンプルの応用例

配列タグは、イベント型ログに含めて使用することも可能です。例えば、以下のフォーマットでは各タグの値が変化したことを1行に1タグ単位で保存しています。

 

時刻

タグ名

2003/1/1 10:12:00

U01.F01.SD005

81

2003/1/1 10:12:01

U01.F01.SD001

163

2003/1/1 10:12:02

U01.F01.SD004

41

・・・

・・・

・・・

 

これを、各タグを配列タグで定義し、フィールド設定の列数を複数列として設定することにより、1行に複数タグをブロック単位でログ出力することができます。この場合、配列タグ内で1つでも値が変化するとロギングが行われます。尚、各タグの配列数がフィールドの列数より多い場合、フィールドの列数を超えた配列要素は切り捨てられます。反対に、配列数がフィールドの列数より少ない場合には、余分なフィールドはNULLで埋められます。

 

時刻

タグ名

値00

・・・

値99

2003/1/1 10:12:00

U01.F01.BLOCK1

81

・・・

98

2003/1/1 10:12:01

U01.F01. BLOCK3

163

・・・

54

2003/1/1 10:12:02

U01.F01. BLOCK5

41

・・・

2

・・・

・・・

・・・

・・・

・・・