PI Connector for UFLの1.3バージョンがリリースされました。
PI Connector for UFL 1.3: Unicode(UTF-8) support, statuses, REST headers
リリースについての質問があれば、下記のコメントにぜひ聞かせてください。
--------
次のPI Connector for UFLのバージョンにUnicodeの対応が改善されています。
(処理したいファイルにある日本語の内容を利用できるようになりました。)
現在、社内のベータ版を利用し、この機能を紹介したいと思います。
PI Connector for UFLのUnicodeのサポートが改善されたとは言っても、PI Data Archiveのサポートが改善されていないので、
残念ながら、十分利用はできない機能になっています。
以前は日本語があるデータファイルを事前処理してから、UFLで処理する必要がありましたが、
1.3のバージョンではこの事前処理が必要なくなりました。
1.3バージョンをテストをするために、個人の体重計のデータをPIに入れてみました。
体重計からのデータのフォーマットは下記の通りにエクスポートされます。
時間:05:02, 木曜日, 05/17/2018 体重 92.8kg 高い 体水分率 50.3% 不足 体脂肪率 29.5% 体重オーバー 骨量 3.1kg 健康 BMI 28.6 太る 内臓脂肪レベル 13 警戒 BMR 1808Kcal 低い 筋肉含有量 62.1kg 優秀
(かなり悪い数字しか出ていないのですが、それは無視してください。)
データのエクスポートはANSIのフォーマットです。

そのために、作成してみたINIファイルのフォーマットもANSIにし、
PI Connector for UFLのデータソースの設定に「Extended ASCII」を設定しました。(この設定は新しい設定になります)

一つのデータの行をみると、三つのデータがあります。
1.体重
2.92.8kg
3.高い
「体重」をタグ名としてを利用したいのですが、タグ名はASCII以外利用できないので、
INIファイルでタグ名を変更します。
TagName = ["(*) *"] if TagName == "体重" then TagName = "Weight" ENDIF
こうすると、PI Connector for UFLがUFL.Weightというタグにデータを書き込みます。
「高い」のデータも同じようにPI Data Archiveに書き込むのは推奨できないので、
その代わりに、数字に変更します。
State = ["* * (*)"] ' 体重の状態 If State == "高い" then State_Value = 2 endif If State == "健康" then State_Value = 1 endif If State == "低い" then State_Value = 0 endif
元の日本語がクライアントに表示されるために、列挙セットを作成しました。

AFでの結果
