イベント型ログフォーマットで定周期にログをとる

<< Click to Display Table of Contents >>

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

イベント型ログフォーマットで定周期にログをとる

概要

イベント型ログフォーマットで定周期にロギングを行うための方法について解説します。この方法により以下のようなニーズを解決することができます。

 

例えば、一般型ログのログフォーマットでは、フィールド数はロギング対象とするタグ数に依存します。従って、大量なタグ数でのロギングを行う場合、一般型ログではフィールド数が増えます。

 

(一般型ログの場合)

時刻

U01.F01.SD0001

U01.F01.SD0002

・・・

U01.F01.SD0999

2003/1/1 10:12:00

81

163

・・・

1243

2003/1/1 10:12:10

124

1635

・・・

6243

・・・

・・・

・・・

・・・

・・・

 

そこで、定周期でロギングを行いたいが何らかの理由でフィールド数を増やしたくないような場合には、スクリプトVer1アクションの利用によって以下のようなイベント型ログフォーマットで定周期にログをとることが可能です。
 

(イベント型ログフォーマットで定周期にログ出力した場合)

時刻

タグ名

2003/1/1 10:12:00

U01.F01.SD0001

81

2003/1/1 10:12:00

U01.F01.SD0002

163

・・・

・・・

・・・

2003/1/1 10:12:00

U01.F01.SD0999

1243

2003/1/1 10:12:10

U01.F01.SD0001

124

2003/1/1 10:12:10

U01.F01.SD0002

1635

・・・

・・・

・・・

2003/1/1 10:12:10

U01.F01.SD0999

6243

 
本サンプルの例では、SD0000~SD0999までを10秒ごとに上記のフォーマットで保存します。

 

 

サンプルのダウンロード

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

 

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

 

 

 

設定手順

タグの設定

 

1.データ収集のためのタグ「U01.F01.SD0000」~「U01.F01.SD0999」を設定します。
 
c_action_logger_0102

 

 


アクションの設定

 

1.ロガーアクション「A01」を追加します。時刻フィールド「F01」及び以下のイベントフィールドを追加します。
 
・F02:フィールドタイプ「タグ名」
・F03:フィールドタイプ「値」
 
c_action_logger_0103
 

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

p_logger_0001

 

 

3.スクリプトVer1アクション「A02」を追加します。
 
スクリプトに以下を記述して下さい。これにより、A02が実行される都度、F01のイベントが発生します。
 
c_action_logger_0104
 
 
(スクリプトの記述内容)

//Event/F01!Fire = 1

 

 

 


イベントの設定

 

1.イベントの下に、フォルダ「F01」を作成します。
 
c_action_0379
 
 

2.マルチビューから「U01.F01.SD0000」~「U01.F01.SD0999」のタグを選択して、上記の「F01」フォルダにドラックアンドドロップします。
 
すると、タグイベントの連続追加ウイザード(右画面)が表示されるので、「手動発生」にチェックを入れます。
この設定を行うことにより、個々のタグの値が変化してもイベントが発生しなくなります。
 
c_action_logger_0105
 

3.フォルダ「F01」の実行アクションに「A01」を設定します。
 
※A01をタグイベントの実行アクションに登録しないよう注意してください。
 

4.イベントに10秒周期の定周期イベント「E01」を追加し、実行アクションに「A02」を設定します。
 
※E01はフォルダ「F01」の中に追加しないように注意してください。
 
c_action_0380
 
 
c_action_logger_0106
 
c_action_0381

 

 

解説

イベントフォルダ「F01」内に設定したSD0000からSD0999までの1000個のタグイベントには、すべて「手動発生」がチェックされています。「手動発生」をチェックする事で、タグイベントはタグ値が変化してもイベントが発生しなくなります。そして、10秒周期の定周期イベント「E02」によって「A02」スクリプトアクションが実行され、以下の式が定周期で実行されます。

 

//Event/F01!Fire = 1

 

すると、「F01」フォルダのイベントが10秒周期で発生する事により、フォルダ内に登録されている全てのタグイベントが連動して発生します。結果として「F01」に設定されている「A01」のロガーアクションが10秒周期で実行され、以下のようなロギングが行われます。

 

 

c_action_logger_0107

 

 

 

hint

この例で使用した「E01!Fire」とは、イベントが持つシステムプロパティです。このプロパティを操作する事により、強制的にイベントを発生させることができます。