PI UFLを使用して、CSVに記述した値をPI Data Archiveへ登録する場合
登録タイムスタンプにミリ秒まで指定が可能なのでしょうか?
ミリ秒で登録可能な場合、フォーマット例をお教え願います。
PI UFLを使用して、CSVに記述した値をPI Data Archiveへ登録する場合
登録タイムスタンプにミリ秒まで指定が可能なのでしょうか?
ミリ秒で登録可能な場合、フォーマット例をお教え願います。
ミリ秒の指定も可能です。
PI UFL Interfaceのiniファイルのサンプルはインターフェースをインストールしたマシンにございます。
%pihome%\Interfaces\PI_UFL\Examples
Example5Ver3.iniなどご確認いただくと、ミリ秒を使用した、
"dd-MMM-yyyy hh:mm:ss.nnn"が見つかるかと思います。
ご返答ありがとうございます。
既存構成情報TimsStamp.Formatは"yyyy/MM/dd hh:mm:ss"が定義されているようなのですが
"yyyy/MM/dd hh:mm:ss.nnn"に設定をし直した場合
今まで使用していたcsv書式"yyyy/MM/dd hh:mm:ss"は使用できなくなるのでしょうか?
1つのファイルにTimestamp書式は混在されずに、
ファイルAには"yyyy/MM/dd hh:mm:ss"の書式でcsvファイルが発行され、
ファイルBには"yyyy/MM/dd hh:mm:ss.nnn"の書式でcsvファイルが発行される場合を考えております。
MSGを分ける場合、下記の様な設定を行なうと
・ファイルA.csvはMSG(1)で動作し登録される
・ファイルB.csvはMSG(2)で動作し登録される
との動きになるのでしょうか?
1,Message Types
①MSG(1)
Message Filter : C1=="MS-REG"
②MSG(2)
Message Filter : C1=="*"
2,Data Extraction
①MSG(1)
TAG : ["*,(*),*,*"]
Timestamp : ["*,*,(*),*"]
Value_Number : ["*,*,*,(*)"]
②MSG(2)
TAG : ["(*),*,*"]
Timestamp : ["*,(*),*"]
Value_Number : ["*,*,(*)"]
3,登録ファイル
ファイルA.csv
TAG1,2017/09/05 10:00:00,A
ファイルB.csv
MS-REG,TAG1,2017/09/05 10:00:00.001,B
データ内に 2017/09/05 09:53:12という、ミリ秒のないデータと2017/09/05 09:53:15.385のようなミリ秒があるデータが混在しているということでしょうか?
可能なことは行ごとにMSGを分けてそれぞれ違うFieldで読めば、yyyy/MM/dd hh:mm:ss, yyyy/MM/dd hh:mm:ss.nnnともに使えるかと思います。
また、Timestamp列のLengthを取得してif分にて違うFieldを使用すれば、同じMSGでも可能かと思います。
PI UFL Interfaceでは複数のサービスを作成することもできるので、iniファイルを別で作成して、違う書式のCSVを複数サービスでそれぞれ別個に読み込むことも可能です。
1つのサービス、同じiniファイルで対処したい場合、先の回答に戻りますが、MSGを分けるか、if文で対処するかにて対処できます。
おっしゃる通りです。Message Filter部分でどのMSGで処理するかが決まります。
Message Filter : C1=="MS-REG"
であればMS-REGで始まる行はMSG1で処理されます。
Message Filter : C1=="*"
が続いてあるので、MS-REGで始まらないものはすべてMSG2で処理されます。
ただし、ファイルごとに判定されるのではなく、1行ごとに判定される点にご注意くださいませ。
おっしゃる通りです。Message Filter部分でどのMSGで処理するかが決まります。
Message Filter : C1=="MS-REG"
であればMS-REGで始まる行はMSG1で処理されます。
Message Filter : C1=="*"
が続いてあるので、MS-REGで始まらないものはすべてMSG2で処理されます。
ただし、ファイルごとに判定されるのではなく、1行ごとに判定される点にご注意くださいませ。