<< Click to Display Table of Contents >> マニュアル > 監視システム構築ガイド > 主要機能の構築 > ロギング/トレンドグラフ > ロガーアクションの利用 > ロガーアクションのサンプル集 > CSVログのファイル名を動的に変更する |
概要
CSVファイルでのロギングで、ログファイルのファイル名をランタイム中に目的に応じて変更しながらロギングを行いたい場合があります。
例えば、以下のようなケースです。
•ワーク、段取り番号ごとにログのファイル名を変更したい
•Panel Browserの画面からの指示でファイル名を指定したい
•PLCのロジックによってファイル名を指定したい
そこで、ここでは、上記のような場面を想定して、ランタイム中にログファイルのファイル名を動的に変更する方法について解説します。この例では、SD0000~SD009までのデータを、ワーク番号ごとにファイル名を変更して保存します。具体的には、U02.F01.T01を文字列タグとして定義し、このタグの内容をファイル名として使用します。例えば、通信によってPLCからタグの内容を取得すれば、同様の処理方式によってPLCのラダーによるファイル名の制御が可能となります。また、このタグの内容をVisualBasicやSCADA等の外部アプリケーションからIPLinkやOPC/DDE経由で書き換える事によっても、ファイル名の制御が可能となります。
尚、このサンプルの例では、データログのタイミングとしてU02.F01.T02(ビットタグ)を定義し、TRUEに変化した時にSD0000からSD0009までのデータをロギングします。
サンプルのダウンロード
このページで紹介されている作成例には、サンプルが用意されています。
サンプルは以下からダウンロードすることができます。
設定手順
タグの設定
1.仮想デバイス「U01」を追加し、データ収集のためのタグ「U01.F01.SD0000」~「U01.F01.SD0009」を設定します。
2.仮想デバイス「U02」を追加し、ファイル名のためのタグ「U02.F01.T01」とデータ取得トリガのためのタグ「U02.F01.T02」を設定します。
ここで、「T01」は文字列タグとして、20ワードのアスキータイプとして設定します。
アクションの設定
1.ロガーアクション「A01」を追加し、時刻フィールド「F01」及び「SD0000~SD0009」のタグフィールドを追加します。
2.A01のテキスト設定タブから、ログファイルのファイル名、保存先を設定します。
ここで、ファイル名の「拡張」から「ファイル名にタグ値を付加する」を選択し、「タグ名」に「U02.F01.T01」を指定してください。
イベントの設定
1.タグイベントとして「U02.F01.T01」を追加します。
このイベントはロギング処理のためのものではなく、ログファイル名の変更をアクションに通知するためのものです。「U02.F01.T01」が変化した時に(すなわち、ファイル名の文字列が変更された時)、アクション名「A01」、パラメータ「SETFILENAME」を実行します。パラメータ「SETFILENAME」を指定することにより、ロガーアクションはファイル名の変更を認識します(なお、このパラメータを付与した呼び出しではロギングは行われません)。
2.タグイベント「U02.F01.T02」を追加し、実行アクションに「A01」を指定します。
この設定により、「U02.F01.T02」がONになったときに「A01」が実行されます。
解説
イベントの実行アクションの定義で「SETFILENAME」パラメータを指定すると、そのタイミングでログファイルのファイル名を変更することができます。このサンプルの場合「U02.F01.T01」の文字列が変化したとき、つまりファイル名が変化したときに、ログファイルのファイル名を変更しています。動作を確認するには、適当な文字を「U02.F01.T01」に設定後、「U02.F01.T02」をTRUEにしてみて下さい。
ファイル名を変更したい場合は「U02.F01.T01」に異なるファイル名を再設定した後に、再び「U02.F01.T02」をFALSEからTRUEへ変更する事によって、新しいファイル名によってロギングが行われます。
ファイル名が設定されていない状態の場合、ログファイルは保存されません。 上例では、「U02.F01.T01」が空白文字のまま「A01」「SETFILENAME」を実行したとしても、ファイル名は設定されません。 |