PI UFLによるCSV取り込みの書式について

PI UFLを使用して、CSVに記述した値をPI Data Archiveへ登録する場合

登録タイムスタンプにミリ秒まで指定が可能なのでしょうか?

 

ミリ秒で登録可能な場合、フォーマット例をお教え願います。

Parents
  • ミリ秒の指定も可能です。

    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行ごとに判定される点にご注意くださいませ。

Reply
  • おっしゃる通りです。Message Filter部分でどのMSGで処理するかが決まります。

    Message Filter : C1=="MS-REG"

    であればMS-REGで始まる行はMSG1で処理されます。

    Message Filter : C1=="*"

    が続いてあるので、MS-REGで始まらないものはすべてMSG2で処理されます。

    ただし、ファイルごとに判定されるのではなく、1行ごとに判定される点にご注意くださいませ。

Children
No Data