Data Archiveへのデータのインポート方法

PIタグに対してTime と Valueをインポートしたいと思っています。

PI SMTのArchive Editorを使うと、データをひとつひとつ手入力で入力可能ということは調べて分かったのですが、

csv等のファイルから一括して取り込みたいと思っています。

既存のソフトウエアで実行可能でしょうか?

それとも、開発を行う必要がありますか?

Parents
  • csvなどのファイルのデータをPI Data Archiveに書き込みたいの場合は、PI Interface for UFLかPI Connector for UFLをお勧めします。

    UFL(Universal File and Stream Loading)のインタフェースでは、CSVなどのファイルの各行を処理します。

    それぞれの行にどうやって処理の仕方の定義ファイルの作成が必要です。

     

    例えば、下記のデータのファイルを処理したいと思っています。

    00-00-00-b2-11-1a:rpm,2016-02-11T22:17:03Z,1391

    00-00-00-b2-11-1a:temperature,2016-02-11T22:17:03Z,2294

    00-00-00-b2-11-1a:vibration,2016-02-11T22:17:03Z,2633

    00-00-00-b2-11-1b:rpm,2016-02-11T22:17:04Z,1687

    00-00-00-b2-11-1b:temperature,2016-02-11T22:17:04Z,1098

     

    つまり、それぞれの行は、タグ名、日付、値のような仕組みがあります。

    定義ファイルにTag, TimeStamp, Valueのような変数の定義を作成したあとに、

    それぞれの行から、この変数にデータを書き込めるために、下記のようにできます。

     

    Tag = ["(*),*,*"]                      <-- 3つの項目の中に一番はタグ名です。

    TimeStamp = ["*,(*),*"]          <-- 2番は日付

    Value = ["*,*,(*)"]                    <-- 3番は値

     

    StoreEvent(Tag, ,TimeStamp, Value)  <-- PIに書き込める関数です。

     

    UFLのインタフェースの紹介ビデオ(英)です:

    OSIsoft: What is PI UFL? - YouTube

     

     

    AFSDKなどのライブラリーを参照し、ご自身でインタフェースを開発するのはできないわけないですが、

    パフォーマンス、管理、開発のコストについて考えるとものすごく大変な作業になると思いますので、csvなどにあるデータをPI Systemに書き込めたい場合は、是非、UFLを確かめてください。

  • PI DataLinkをインストールすると、PutValue functionのサンプルもインストールされます。

    %PIHOME%\Excel\piexam32.xls

    こちらを使用し、タグの値とタイムスタンプを書き込むことは可能です。

    ただし、手動での処理になるので、自動化したいのであればJerome Lefebvre の言うPI UFL Interfaceなどを使うのがいいかと思います。

Reply Children
  • PutValue functionも使用してみたいのですが、使い方がいまいちわかりません。

    (Data itemが何を指しているのか、PI tag(PI point)はどのように引き当てるのか等)

    マニュアル等ありますでしょうか?

  • PI DataLink 2016 User Guide (Japanese)

     

    https://techsupport.osisoft.com/Downloads/File/3053aac8-4050-4285-8477-5ee24abdec99

    P146に入力関数 PIPutVal()とPIPutValX() の項目があります。こちらが参考になるかと思います。

    なお、サンプルのpiexam32.xlsですが、

    Data Itemはタグ名となります。

    Root PathにはPI Data Archive名(PI Server名)を入力してください。

    Resultsは削除し、Send above valuesをクリックすると、結果がResultsに書き込まれます。


    pastedImage_0.png.png

    実際にどのようなコードとなっているか確認したいのであれば、開発タブのVisual Basicを開いてみてください。(Screen shotはExcel 2013の場合、開発タブがない場合、出し方はインターネットに出ていますので検索してみてください)


    pastedImage_4.png.png

    標準モジュールのPutVal_codeにコードがございます。


    pastedImage_5.png.png

    質問があればお気軽に投稿してください。