PIタグに対してTime と Valueをインポートしたいと思っています。
PI SMTのArchive Editorを使うと、データをひとつひとつ手入力で入力可能ということは調べて分かったのですが、
csv等のファイルから一括して取り込みたいと思っています。
既存のソフトウエアで実行可能でしょうか?
それとも、開発を行う必要がありますか?
PIタグに対してTime と Valueをインポートしたいと思っています。
PI SMTのArchive Editorを使うと、データをひとつひとつ手入力で入力可能ということは調べて分かったのですが、
csv等のファイルから一括して取り込みたいと思っています。
既存のソフトウエアで実行可能でしょうか?
それとも、開発を行う必要がありますか?
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などを使うのがいいかと思います。
UFLのようなシステムがあることは初めて伺いました。
私の要望と合致していますので、試してみたいと思います。
ありがとうございました。
UFLについて関心を持っていただいてありがとうございます。
PI Connector for UFLを実際に使ってみたい場合は、TechCon 2016: Collecting Data using the new PI Connector for UFLというVLEの授業(英)があります。
VLEのご利用がない場合は、下記の案内をご覧ください。
Virtual Learning Environment (VLE) 利用方法のご案内
Virtual Learning Environment (VLE) FAQ
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に書き込まれます。

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

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

質問があればお気軽に投稿してください。
PI UFL Interfaceを導入したいのですが、どちらのソフトウエアの中に含まれているのか、探したのですが見つかりません。
細かくて申し訳ないのですが、ダウンロードすべきインストールキットをご教示願えますでしょうか。