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での結果