CSVログのファイル名を動的に変更する

<< Click to Display Table of Contents >>

マニュアル > サーバ作成ガイド > アクション編 > アクションの応用 > ロガー >

CSVログのファイル名を動的に変更する

概要

CSVファイルでのロギングで、ログファイルのファイル名をランタイム中に目的に応じて変更しながらロギングを行いたい場合があります。例えば以下のような画面です。

 

ワーク、段取り番号ごとにログのファイル名を変更したい

外部アプリケーションからの設定指示でファイル名を指定したい

PLCのロジックによってファイル名を指定したい

 

ここでは、前述のような場面を想定して、ランタイム中にログファイルのファイル名を動的に変更する方法について解説します。この例では、SD0000~SD009までのデータを、ワーク番号ごとにファイル名を変更して保存します。

具体的には、U02.F01.T01を文字列タグとして定義し、このタグの内容をファイル名として使用します。通信によってPLCからタグの内容を取得すれば、同様の処理方式によってPLCのラダーによるファイル名の制御が可能となります。また、このタグの内容をVisualBasicやSCADA等の外部アプリケーションからIPLinkやOPC/DDE経由で書き換える事によっても、ファイル名の制御が可能となります。

なお、この例では、データログのタイミングとしてU02.F01.T02(ビットタグ)を定義し、TRUEに変化した時にSD0000からSD0009までのデータをロギングします。

 

WORK01.txt

時刻

SD0000

・・・

SD0009

2003/1/1 10:12:00

0

・・・

11

・・・

・・・

・・・

・・・

2003/1/1 10:12:02

5

・・・

11

 

WORK02.txt

時刻

SD0000

・・・

SD0009

2003/1/1 10:12:02

12

・・・

22

・・・

・・・

・・・

・・・

2003/1/1 10:12:10

23

・・・

22

 

WORK03.txt

時刻

SD0000

・・・

SD0009

2003/1/1 10:12:10

14

・・・

33

・・・

・・・

・・・

・・・

2003/1/1 10:12:15

16

・・・

33

 

この機能のサンプルは、以下からご利用頂けます。

 

設定手順

タグの設定

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

 

2.ファイル名のためのタグ「U02.F01.T01」とデータ取得トリガのためのタグ「U02.F01.T02」を設定します。
c_action_logger_0109
 
「T01」は文字列タグとして、20ワードのアスキータイプとして設定します。
c_action_logger_0110

 

 

 


アクションの設定

1.ロガーアクション「A01」を追加し、時刻フィールド「F01」及び「SD0000~SD0009」のタグフィールドを追加します。c_action_logger_0111
 
 

2.ここで、ファイル名の「拡張」として「ファイル名にタグ値を付加する」を選択し、「タグ名」として「U02.F01.T01」を指定してください。c_action_logger_0112

 

 


イベントの設定

1.タグイベントとして「U02.F01.T01」を追加します。このイベントはロギング処理のためのものではなく、ログファイル名の変更をアクションに通知するためのものです。「U02.F01.T01」が変化した時に(すなわち、ファイル名の文字列が変更された時)、アクション名「A01」、パラメータ「SETFILENAME」を実行します。パラメータ「SETFILENAME」を指定することにより、ロガーアクションはファイル名の変更を認識します(なお、この呼び出しではロギングは行われません)。
c_action_logger_0113
 
c_action_logger_0114

 

2.タグイベント「U02.F01.T02」を追加し、実行アクションに「A01」を指定します。この設定により、「U02.F01.T02」がONになったときに「A01」が実行されます。
c_action_logger_0115
 
c_action_logger_0116

 

 

解説

イベントの実行アクションの定義で「SETFILENAME」パラメータを指定すると、そのタイミングでログファイルのファイル名を変更することができます。このサンプルの場合「U02.F01.T01」の文字列が変化したとき、つまりファイル名が変化したときに、ログファイルのファイル名を変更しています。動作を確認するには、適当な文字を「U02.F01.T01」に設定後、「U02.F01.T02」をTRUEにしてみて下さい。

 

ファイル名を変更したい場合は「U02.F01.T01」に異なるファイル名を再設定した後に、再び「U02.F01.T02」をFALSEからTRUEへ変更する事によって、新しいファイル名によってロギングが行われます。

 

hint

ファイル名が設定されていない状態の場合、ログファイルは保存されません。

上例では、「U02.F01.T01」が空白文字のまま「A01」「SETFILENAME」を実行したとしても、ファイル名は設定されません。