<< 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」を設定します。
アクションの設定
1.ロガーアクション「A01」を追加します。時刻フィールド「F01」及び以下のイベントフィールドを追加します。
・F02:フィールドタイプ「タグ名」
・F03:フィールドタイプ「値」
2.A01のテキスト設定タブから、ログファイルのファイル名、保存先を設定します(以下は設定例です)。
3.スクリプトVer1アクション「A02」を追加します。
スクリプトに以下を記述して下さい。これにより、A02が実行される都度、F01のイベントが発生します。
(スクリプトの記述内容)
//Event/F01!Fire = 1 |
イベントの設定
1.イベントの下に、フォルダ「F01」を作成します。
2.マルチビューから「U01.F01.SD0000」~「U01.F01.SD0999」のタグを選択して、上記の「F01」フォルダにドラックアンドドロップします。
すると、タグイベントの連続追加ウイザード(右画面)が表示されるので、「手動発生」にチェックを入れます。
この設定を行うことにより、個々のタグの値が変化してもイベントが発生しなくなります。
3.フォルダ「F01」の実行アクションに「A01」を設定します。
※A01をタグイベントの実行アクションに登録しないよう注意してください。
4.イベントに10秒周期の定周期イベント「E01」を追加し、実行アクションに「A02」を設定します。
※E01はフォルダ「F01」の中に追加しないように注意してください。
解説
イベントフォルダ「F01」内に設定したSD0000からSD0999までの1000個のタグイベントには、すべて「手動発生」がチェックされています。「手動発生」をチェックする事で、タグイベントはタグ値が変化してもイベントが発生しなくなります。そして、10秒周期の定周期イベント「E02」によって「A02」スクリプトアクションが実行され、以下の式が定周期で実行されます。
//Event/F01!Fire = 1 |
すると、「F01」フォルダのイベントが10秒周期で発生する事により、フォルダ内に登録されている全てのタグイベントが連動して発生します。結果として「F01」に設定されている「A01」のロガーアクションが10秒周期で実行され、以下のようなロギングが行われます。
|
この例で使用した「E01!Fire」とは、イベントが持つシステムプロパティです。このプロパティを操作する事により、強制的にイベントを発生させることができます。 |