ロガーアクションの利用手順
以下は、ロガーアクションを利用するための基本的な手順です。
1)タグ設定
PLCのどのエリアと通信するのかを定義します。また、必要に応じてPLCとのハンドシェイク用のタグや計算用のタグを作成します。
2)アクションの設定
ロガーアクションの設定を行います。データベース(CSVファイルによるファイル保存か、ODBC経由によるDB保存)の基本設定及びフィールドのレイアウトを定義します。フィールドのレイアウトは、ロガーアクションにロガーフィールドを登録することでレイアウトの作成ができます。
3)イベントの設定
ロガーアクションを実行するトリガとなるイベントを設定します。
4)オンライン
オンラインにするとロギングが開始されます。ログの開始、終了、ログの周期設定などの制御も可能です。
5)オフライン
オフラインにするとロギングが終了します。
ロガーアクションの設定
以下に、ロガーアクションの設定項目について解説します。
アクション仕様
|
パラメータ
|
本アクションを呼び出すイベントから、実行アクションのパラメータを指定することができます。
パラメータ文字
|
動作
|
何も指定しない
|
ロギングを実行します。
|
SETFILENAME
|
ファイル名を設定するときに使用します。
※通常のロギングではパラメータは指定しません。本パラメータの使用方法は「CSVログのファイル名を動的に変更する」を参照して下さい。
※本パラメータを指定して実行した際には、ロギングは実行しません。
|
MAINTENANCE
|
ロガーのメンテナンスを行います。
※ログファイルの自動削除を任意のタイミングで行います。詳しくは「DBのメンテナンス(自動削除)」を参照下さい。
※本パラメータを指定して実行した際には、ロギングは実行しません。
|
RESTORE
|
ロガーアクションを2重化している場合、任意のタイミングで2重化の不整合を修復します。特に、イベント型ログを使用している場合は、イベントが発生するまで修復作業が行われないため、RESTOREパラメータを指定したイベントを別途一定周期で呼び出すことで、修復を迅速に行うことができます。一般型のログでは通常のイベント呼び出し時に修復作業が自動的に行われるため、RESTOREパラメータを指定したイベントを呼び出す必要はありません。
|
|
ダイアログ
|
■テキスト設定(ロガー(CSV)の場合)
▪ファイル名
ログを保存するファイル名を指定します。
ファイル名の先頭に[ansi]を指定するとANSI形式で保存されます。省略するとutf8(BOM付)で保存されます。
例)[ansi]c:\work\log.csv
▪拡張
ログ保存ファイル名の拡張設定です。
項目
|
動作
|
なし
|
ファイル名で指定したそのままの名前で保存します。
|
ファイル名に日付・時刻を付加する
|
ファイル名の後ろに「日付書式」で指定した日付を付加します。%Y%m%dと指定すると1日毎にファイルが作成されます(例DB20050101.csv)。
また%Y%mと指定すると月ごとに、%Y%m%d%Hと指定すると1時間ごとにファイルが作成されます。
|
ファイル名にタグ値を付加する
|
ファイル名にタグの値を付加します。詳しくは「CSVログのファイル名を動的に変更する」を参照下さい。
|
▪見出しを書き出す
ファイルの1行目に必ずファイルの見出しを書き出します。見出しに使われる文字列は、フィールド毎に設定したフィールド名です。
▪データを""で括る
データをダブルクォーテーションで括ります。
▪同名ファイル存在時
追加する:同名ファイルに追加書き込みします。通常はこちらの設定にします。
上書きする:古いファイルを削除し、新しいファイルを作成し新規に保存します。
▪フラッシュ設定
この設定は、複数のレコードをまとめてハードディスクに書き出すための機能で、長期運用の際などにハードディスクへの負担をできるだけ軽減したいというニーズに対しても有効な機能です。
1レコード毎に書き出しを行いたい場合、フラッシュ設定に「1」を指定します。この設定により、何らかの原因によって不意にPCの電源が切れた場合でも直前のデータまで確実に保存されます。また、ログファイルが外部から参照されるような場合でも、即座に最新のログが反映されます。ただし、1レコード毎にハードディスクへの書き込みが行われるため、ハードディスクへの負担が増えます。ハードディスクへの負担を軽減したい場合には、フラッシュの設定値を多めに設定してください。
|
|
■ログ詳細
▪データベースのメンテナンスを行う
詳しくは「DBのメンテナンス(自動削除)」を参照してください。
▪ログデータのキャッシュ
ログデータの最大キャッシュ数。キャッシュを利用することにより、正確なタイムスタンプのログが得られます。
データ収集で集められたログデータは、DBへ保存する前に一旦メモリ上のキャシュに保存されます。その後、随時DBへ保存されます。この仕組みにより、DBの負荷に影響されない安定したロギングが可能となります。
何らかの理由によりキャシュを利用したくない場合には、0を設定して下さい。なお、キャッシュ上に保存されている件数が設定値を超えた場合には、キャッシュのデータがDBに保存されるまで(キャッシュのデータ件数が設定値以下になるまで)待機します。
▪通信エラー発生時
通信エラーが発生したときのログの処理方法です。詳しくは「通信エラー発生時の設定」を参照してください。
▪定刻イベントの場合、スケジュールされた時刻を時刻フィールドに保存する
定刻イベントでデータログを行う場合、(たとえタイミングがずれたとしても)必ず定刻イベントのスケジュールと同じ時刻で時刻フィールドに対しログを行いたい場合、チェックを入れてください。
▪PCの時刻が戻った時の処理(最終保存時刻より古いデータ保存要求があった時)
PCの時刻合わせ等で時刻が戻された場合の処理です。詳細は「PCの時刻が戻った時の処理」を参照してください。
|
|
■ヒストリカルデータサーバ
ロガーアクションはヒストリカルデータサーバ機能を持っています。「ヒストリカルデータサーバ」タブで設定する項目は自動的に判別されるため、通常は指定する必要はありません。この設定は、データ項目に「日付・時刻フィールド」が2つ以上含まれる場合に、どちらのフィールドを時系列として使用するのかを明示したい場合のみ指定して下さい。また、MSフィールドは、データベースにミリ秒のフィールドが存在するときのみ指定して下さい。MSフィールドを含めると、ヒストリカルトレンドグラフ上にミリ秒単位でグラフ表示が行えます。
|
|
■詳細設定
ロガーアクションの「処理が成功した時」と「処理が失敗した時」とは、ログデータがデータベースに正しく書き込まれたか否かを表すものです。この動作は、ログデータのキャッシュの設定内容によって以下のような動作となります。
•キャッシュの指定が0の時
データベースへのロギングが失敗した場合、「処理が失敗した時」のスクリプトが実行されます。
•キャッシュの指定が1以上の時
ログデータはキャッシュに保存されるため、この場合の処理は必ず成功になります(「処理が成功した時」のスクリプトが実行されます)。
|
|
■ODBC設定(ロガー(ODBC)の場合)
▪データソース・テーブル名
データベースの選択で、「汎用」/「SQLServer」/「Oracle」/「MySQL」/「PosgreSQL」を選択します。汎用ではないデータベース製品を指定すると、それぞれのデータベース毎に処理が最適化され、各処理が高速化されます。
データソースには、データベースに接続するためのODBCデータソース名を指定します。データソースの設定方法については、共通設定の「ODBC設定」を参照ください。
テーブル名には、アラームデータを格納するテーブル名を指定してください。
データベースのスキーマ名を指定して接続する場合は、スキーマ名を指定してください。尚、MySQLの場合は本設定画面のスキーマ名は指定しないでください。
▪ODBCエラー時
ログを続行したい場合は、通常「データベースと再接続し、ログを続行する」を選択してください。
▪ODBCタイムアウト
ODBCとのタイムアウト待ち時間を指定します。
|
|
「詳細設定」タブでは、アクションの実行前などのタイミングでスクリプト(SC1)を実行したり、アクションの処理実行タイミングの調整(実行待ち時間の設定)を指定したりする事ができます。各アクションの詳細設定については「アクションの詳細設定タブの設定」を参照してください。
|
■フィールドの設定
ロガーアクションの設定では、ログデータの列情報を定義するための「フィールド」を追加する必要があります。
フィールドを追加するには、アクションを右クリックして表示されるメニューから「追加」を選択します。
または、ロギング対象としたいタグをツリー選択ビューのアクション(A01など)にドラッグアンドドロップすることでも簡単に追加することができます。
追加されたフィールドはマルチビューに表示されます。
以下に、フィールドのプロパティ設定ダイアログの設定項目について説明します。
ロガーフィールド仕様
|
タグフィールド
|
タグの値を保存したいとき、タグフィールドを選択します。
▪タグ
ロギングを行いたいタグ名(例 U01.F01.T01)です。
▪キャッシュ値でログをとる
タグの値は、別途指定された「更新周期」でPLCから定期的に実デバイス値を読み込む事によって定期的に更新が行われます。この更新周期はロガーアクションの設定とは別のものです。
本項目にチェックを入れると、キャッシュ値によるロギングとなります。キャッシュ値のロギングでは、実デバイスの値ではなく、アクション実行時点のタグ値がロギングに使用されます。そのため、データ収集のための処理時間は非常に高速です。また、PLCとの通信はアクション実行の都度発生しないため、複数のロガーアクションを並列的に実行した場合でも安定したロギングが行えます。ただし、ログデータのタイムスタンプはタグの更新周期の範囲で過去のデータになります。
本項目のチェックを外すと、デバイス値によるロギングとなります。デバイス値によるロギングでは、ロガーアクションが実行される都度、PLCとの通信によってデータの収集を行います。その為、最もタイムスタンプが確実なデータを取得できます。単純にロガーアクション1つだけの処理しか行わない場合にはこの選択がベストです。
しかしながら、複数のロガーアクションで並列的にデバイス値を利用すると、処理タイミングによっては通信要求がバッティングしてしまい、後続の通信要求が待たされる場合があります。例えば、一定周期でログをとっていた場合などは、通信待ちにより定周期性が乱れる可能性があります。特別な理由がない限りは、キャッシュ値によるロギングを推奨します。
▪通信エラー時の処理
詳細は「通信エラー発生時の設定」を参照してください。
|
時刻フィールド
|
時刻の情報を保存したいとき、時刻フィールドを選択します。
▪コントロールパネルの設定を使用
OSの標準設定に従い時刻を作成します。0秒のとき秒が省略されます。0秒の時でも省略したくない時は、「フォーマットを指定する」を選択して「%Y%m%d %H%M%S」としてください。
▪フォーマットを指定する
時刻のフォーマットを指定します。
▪システムタイマーを使用する
1ms単位で増加するシステムタイマーの値(0~4294967295の値)です。4294967295を超えると0に戻ります。
▪「ms」を使用する
ms単位で時刻を取得したい場合に選択します。値は0~999でログされます。
通常の秒単位の時刻フィールドとmsのフィールド(計2つのフィールド)を組み合わせて使用すると、トレンドグラフにms単位で表示できます。
▪秒インデックスを保存する
同一秒内で記録されたデータにインデックスを付加する機能です。
|
定数フィールド
|
指定した値や空文字を保存したいとき、定数フィールドを選択します。
▪NULLを書き込む
何も書き込みません。
▪指定値を書き込む
指定された文字を書き込みます。
|
イベントフィールド
|
発生したイベントの情報を保存したいときイベントフィールドを選択します。
▪フィールドタイプ
イベント名
|
イベント名。 例)E01
|
タグ名
|
タグ名。 例)U01.F01.T01
|
タグコメント
|
タグコメント。タグのプロパティ「基本設定」タブで設定します。
|
メッセージ
|
メッセージ。イベントのプロパティ「イベント属性」タブで設定します。
|
値
|
タグイベントの場合イベントが発生した時のタグ値。
|
値(数値型のみ保存)
|
タグイベントの場合イベントが発生した時のタグ値。数値型のタグのみ保存します。
|
値(文字型のみ保存)
|
タグイベントの場合イベントが発生した時のタグ値。文字列型のタグのみ保存します。
|
値品質
|
タグイベントの場合イベントが発生した時のタグの値の品質。通常は「GOOD」です。PLCと通信ができないと「BAD」になります。まだ1度も通信が行われていない状態だと「UNCERTAIN」になります。データベース(ODBC)での保存では、数値型のDB フィールドに対して保存をする場合、数値(0-BAD 1-GOOD 2-UNCERTAIN)で保存されます。
|
カテゴリ
|
メッセージ。イベントのプロパティ「イベント属性」タブで設定します。
|
条件名
|
条件名。イベントのプロパティ「タグイベント」タブで設定します。
|
サブ条件名
|
サブ条件名。イベントのプロパティ「タグイベント」タブで設定します。
|
重要度
|
重要度。イベントのプロパティ「イベント属性」タブで設定します。
|
|