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

マニュアル > サーバ作成ガイド > アクション編 > アクションの応用 > ロガー > # イベント型ログフォーマットで定周期にログをとる |

概要

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

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

（一般型ログの場合）

時刻 | 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.スクリプトVer1アクション「A02」を追加します。スクリプトに下記を記述して下さい。これにより、A02が実行される都度、F01のイベントが発生します。

//Event/F01!Fire = 1

イベントの設定

1.フォルダ「F01」を作成し、実行アクションに「A01」を設定します。「U01.F01.SD0000」～「U01.F01.SD0999」を選択して、「F01」フォルダにドラックアンドドロップします。タグイベントの連続追加ウイザード（右画面）が表示されるので、「手動発生」をチェックします。この設定により、タグの値が変化してもイベントが発生しなくなります。

2.定周期イベント「E01」を追加し、実行アクションに「A02」を設定します（※E01はフォルダ「F01」の中に追加しないこと）。

解説

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

//Event/F01!Fire = 1

上記スクリプトは、F01のイベントを発生させます。従って、スクリプトアクションが10秒ごとに呼び出されることにより、10秒周期で「F01」内のすべてのタグイベントが手動で発生します。タグイベントが発生することにより、「F01」で設定した「A01」のロガーアクションが実行され、結果として下記のようなログが行われます。

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