ナビゲーションをスキップする
All Places > All Things PI - Ask, Discuss, Connect > Japan PI Square > ブログ
1 2 3 前へ 次へ

Japan PI Square

投稿数 72

現在OSIsoftのテクニカルサポートのWebサイトなどで、
SSOアカウントにログインしようとすると、
リダイレクトがされずにアクセスできないという問題が発生しております。

 

この問題が発生する状況としては、
以下の三つの条件を全て満たしている場合に問題が発生します。
1. Internet ExplorerまたはMicrosoft Edgeを使用してアクセスしている
2. 日付と時刻の形式の『日付 (長い形式)』に日本語が含まれている
3. お使いのコンピューターのシステム ロケールが日本語になっている

 

この問題が発生してSSOアカウントにログインできない場合は、
お手数ですが以下のいずれかの回避をお試しください。

 

1. Google ChromeやMozilla Firefoxなど、別のWebブラウザーでのアクセスをお試しください。
2. コントロール パネル > 地域 > 形式のタブで、形式を『日本語 (日本)』から『英語 (米国)』など別の言語に変更するか、


追加の設定 > 日付のタブで、長い形式を日本語が含まれないように変更して、


Webブラウザーを再起動し、再度アクセスをお試しください。

 

現在この問題につきまして、修正対応を行っております。
ご不便をおかけし大変申し訳ございません。

日本ナショナル・インスツルメンツ様のNIDays 2018東京にて講演させて頂く事なりました。

トラックBの16:15~となります。

https://events.ni.com/profile/web/index.cfm?PKwebID=0x62169abcd&varPage=home

 

本講演では、PI Systemに統合する新たなOTデータとして、リアルタイム機器状態監視の為の「後付け追加センサ」を収集・分析を担当するNI LabVIEWとのデータ連携について触れます。業界的にはEdge Computingの分類で、NIはそれだけでも個別分析IoTソリューションとして機能しますが、さらにPI Systemへデータを統合する事により、操業側のSCADA/DCS等 のログとその時の機器の状態監視の為の振動センサの値を複合解析する事により、更なる洞察を狙おうという形です。分析という行為は色々な所で複数同時に起こるわけですね。でも使っている元データは同一であることが求められます。

 

また、NI Edge処理によりPIへPushするデータ量を削減することが可能です。

この辺は、昨年のFlowserveの共同デモ(NI/HPE/PTC/OSIsoft)にて提示済みですね。(NI YouTube Video)

 

<Flowserver ポンプデモ>

  高周期データ取得(データ量・)> NI InsightCM  > 特徴点に変更(データ・)> PI System へPush統合

       2.5MB/s                                                                            80kB/s

 

<NI/OSIsoft共同開発 : LabVIEW / PI System連携ツール> 

 *双方向でリアルタイムにデータをストリーミング可能です。

 OSIsoft PI System connectivity toolkit for LabVIEW - Discussion Forums - National Instruments

 

Edge側のお客様が主を想定している為、PI Systemの説明は初心者向けとなります。

宜しくお願いします。

Jerome Lefebvre

PIとMaximoの連携

投稿者 Jerome Lefebvre 従業員 Jul 23, 2018

状態基準保全のガイドブックが日本語で公開されたので、コンテンツの中身を実現したく本記事を書きました。

 

5章にPI SystemCMMSの連携の構成がいくつか紹介されています。

この記事では、Asset Analyticsを利用し、MaximoというCMMSにメーターのデータを更新する事例を紹介したいと思っています。

 

シナリオ4

残念ながら、Asset AnalyticsからMaximoへの直接データ送信は不可能です。なぜならば、Maximoにウェブ経由でデータを渡すためには、Token認証の接続が必要ですが、AF通信の機能は基本認証、Kerberos認証と匿名認証だけを対応しているからです。そのために、通信のために小さいウェブサーバー(Connector)を開発しました。

 
 

 

下記の事例で、AF上でポンプの稼働時間を計算し、このメーターのデータをMaximoに送信します。

稼働時間のデータのようなメーターデータであれば、一日一回のスケジュールで送れば十分です。

 

Maximo

Maximoの管理画面で、下記のように設備の一つのメーターデータを確認できます。

RUNHOURSというメーターが定義されて、現在、2018年2月3日にこのポンプの稼働時間は8392時間であったと確認できます。

 

この値の更新のために、MaximoRest APIに設備情報、メーターの名前などを送信する必要があります。

そのために、下記のようなリクエストを作る必要があります。

 

 

URLのパラメーターに設備の名前(ASSETNUM)、メーターの名前(METERNAME)などがあると確認できます。

このリクエストに必要な認証の情報もヘッダーにあります。

 

 

現在、AF通信はこの認証方法にまだ対応していませんが、下記のUserVoiceのアイテムがあります。ご興味があれば投票してください。

https://feedback.osisoft.com/forums/555148-pi-server/suggestions/33151276-enable-headers-for-soap-and-rest-web-service-notif

 

AF

ポンプの稼働時間を計算するために、センサーからポンプの流量(Flow Rate)を取得し、Maximoから最後の補修日(Last Maintance)を取得して、PIタグに保存しました。

 

ポンプのセンサーからON/OFFの信号の取得できないですが、流量がわかっているので、問題なくON/OFF信号が計算できます。

 

 

精度が落ちないために上記の計算をイベントトリガーに設定しています。

ON/OFFの信号があるので、稼働時間を簡単に計算できます。

稼働時間の計算が重い計算で、できれば頻繁に走らないほうがよいです。上記では一日一回だけ計算しています。

 

この計算を利用している補修のチームは、補修のスケジュールは毎週一回ぐらいと決めているので、頻繁に新規のデータを送っても、利用しないので、無駄の計算は実行する必要がありません。

■通信

AFの通信のトリガーはイベントフレームが作成されることです。一日毎にすべてのポンプの稼働時間を送るために、デーリーのイベントフレームを作成します。

注意:この方法で膨大のイベントフレームが作成され、その場合は、AFのパフォーマンスが悪化する可能性があります。Maximoに稼働時間を通信した後に、このイベントフレームを問題なく削除することです。イベントフレームの削除のサンプルコードは下記にあります。

 

■通信のトリガーとなるイベントフレーム

イベントフレームの作成のために、下記の定義を利用します。

 

結果のプレビューを確認すると、この分析は一日毎に一つのイベントフレームが作成される。

 

 

WebServiceの設定

このWebServiceはプロクシーのサーバーに稼働時間を通信するために、プロクシーサーバーのホスト名を記入します。プロクシーサーバーがPostリクエストを受けるため、Postも定義します。

 

Webserviceとトリガーとなるイベントフレームがあるので、下記のように通信を定義します。

 

 

Maximoに送りたい値

上記にあったリクエストにASSETNUMNEWREADINGNEWREADINGDATESITEIDのパラメーターをMaximoにリクエストがあります。このパラメーターをポンプのエレメントの属性に定義します。

 

この定義を通信のメッセージに定義します。

 

 

■プロクシーサーバー

上記の設定で、一日にすべてのポンプの稼働時間をプロクシーサーバーに通信します。

このプロクシーサーバーはAFからくる通信を受け、Maximoへのリクエストを作成します。このコードを下記のGitHubのページで確認してください。

https://github.com/JeromeLefebvre/Proxy-Server-for-PI-System-to-Maximo

 

 

■結果

高い精度の稼働時間はMaximo側で一日毎に更新されています。

PI Server 2018がリリースされ、新しい機能が多いですが、すぐに利用してみた機能は下記に公開しました。

PI Server 2018がリリースされました

体重の予測モデル

 

今回は一つのAF SDKの関数を紹介したいと思っています。

 

イベントフレームの機能は非常に便利だと思いますが、一つのAFサーバーで保存できるイベントフレームの数は限れています。

そのために、必要のないイベントフレームを周期で削除することが必要になるケースがあります。

 

イベントフレームを削除のために、PI System Explorer、AFDiagやAF SDKなどいろいろな方法があります。

AF 2018のバージョンからAF SDKからよりいい方法が提供されました。

2018のバージョンからAFEventFrame.DeleteEventFramesの関数があり、イベントフレームのIDのリストを取得すると一括で膨大のイベントフレームの削除は可能です。

IDを取得するために、下記のサンプルコードはAFEventFrameSearchのオブジェクトを利用します。

 

using System;
using System.Linq;
using System.Collections.Generic;
using OSIsoft.AF;
using OSIsoft.AF.EventFrame;
using OSIsoft.AF.Search;


namespace MassEFDelete
{
    class Program
    {
        static void Main(string[] args)
        {
            PISystem af = new PISystems().DefaultPISystem;
            AFDatabase db = af.Databases["Demo_Maximo_Integration"];


            // Retrieve all event frames that match the query, then access their GUID to delete them
            string query = @"Template:'Daily Event Frame' End:<'*-1d'";
            AFEventFrameSearch search = new AFEventFrameSearch(db, "Daily Event Frames", query);
            List<Guid> ids = search.FindObjectIds().ToList();
            
            AFEventFrame.DeleteEventFrames(af, ids);
        }
    }
}

 

このサンプルコードの実行結果です。

 

イベントフレームを検索するためにパフォーマンスのコツを下記の記事にいろいろあります。

AFEventFrameSearch Class

2018年6月27日に、PI Serverの最新版であるPI Server 2018がリリースされました。
PI Serverは、PI Data ArchiveとPI Asset Frameworkの両方の最新バージョンを含んだものとなります。
また、2018年7月16日に、PI Asset Framework 2018のUIを日本語化するパックである、
PI AF MUI 2018 Language Packがリリースされました。

 

PI Server 2018では、主に以下の変更点がございます:

 

インストール関連
1. インストールキットが統合され、PI Server 2018 Install Kit一つとなりました。
これまではPI Data ArchiveとPI Asset Frameworkのインストールキットは別々に提供されておりました。
インストール時にインストールするコンポーネントを選択できるので、
PI Data ArchiveとPI Asset Frameworkを別々のコンピューターにインストールすることも従来通り可能です。


2. 新規インストールする場合、PI Data Archiveの機能のうち、
比較的古い以下のコンポーネントがデフォルトでインストールされなくなり、

インストール時にユーザーが選択してインストールするようになりました。

なお、これらはPI Asset Frameworkで後継機能が存在します。
・PI Alarm Subsystem
・PI Performance Equation Scheduler
・PI Recalculation Subsystem
・PI Batch Subsystem
また、PI Module DatabaseとAFのデータベースをリンクするために使用するPI AF Link Subsystemもデフォルトでインストールされません。
PI Module Databaseに書き込みを行う場合は、PI AF Link Subsystemをインストールする必要があります。

 

3. PI Data Archiveのインストール時に、PI AF Serverが存在しなくてもインストールできるようになりました。
これまではPI AF Serverを先にインストールし、

PI Data Archiveをインストールするコンピューターと正常に通信ができる状態でないとインストールできないようになっておりました。

 

PI Data Archive関連
1. AF SDKを介してCollective構成のPI Data Archiveに接続する場合、
CollectiveメンバーのPI Data Archiveのうちの一つにランダムで接続するようになりました。
これにより、多くのクライアントがPI Data Archiveに接続する際の負荷軽減が期待できます。
これまではCollectiveに接続すると必ずPrimaryのPI Data Archiveに接続していました。
なお、従来通り手動で接続先を変更することも可能です。


2. セキュリティ向上のため、PI Message Subsystemの実行ユーザーがLocal SystemからNetwork Serviceに変更されました。


3. アーカイブファイルのアーカイブシフトをスケジューリングできるようになりました。
これにより、プライマリアーカイブの使用量にかかわらず、定期的に自動でアーカイブシフトを実行させることが可能となります。
アーカイブファイルを期間ごとに分けるような管理を行う場合に役立ちます。
PI Data ArchiveがCollective構成の場合、Primaryの自動アーカイブシフトと同じタイミングでSecondaryのPI Data Archiveでも自動アーカイブシフトが行われます。

タイムゾーンはPrimaryのものが使用されます。

 

PI Asset Framework関連
1. AFデータベースをインポートする際、内部のIDも一緒にインポートできるようになりました。


2. Event Framesによって生成されたイベントフレームを、

テンプレートと時間範囲を指定して一度に削除できるようになりました。
これまではイベントフレームを検索してその検索結果に一致するものを削除するか、
全てのイベントフレームを削除するという方法でした。


3. 属性値の表示桁数を設定できるようになりました。


4. AFのテーブルで線形補間に加えて、バイリニア補間が可能になりました。

テーブルの表にない部分の値が要求された場合に、これまでは線形補間による内挿された値を返すことが可能でしたが、

このバージョンでは加えてバイリニア補間により二次元的な補間が可能になりました。

例えば航空機のX座標とY座標のテーブルを使って、バイリニア補間を行うことで航空機の速度を割り出すことができます。

 

Asset Analytics関連
1. MATLAB Production Serverとの連携が可能になりました。


2. 分析の計算で、配列を出力データ型に指定することができるようになりました。
一度の計算で複数の値を持つような計算が可能となります。
配列のデータ型に使用する関数もいくつか追加されております。


3. イベントフレーム生成の分析で、これまでの開始トリガーの条件式を記述する方法に加えて、
Pulse, Step, Step Continuousの三種類が追加されました。
これにより、従来のPI Batch GeneratorやEvent Frame Generator Interfaceと同じような、

Active Pointを設定しての生成が可能となります。

 

変更点の詳細につきましては、各製品のリリースノートや、下記のリリースアナウンスのページをご参照ください:
https://techsupport.osisoft.com/Troubleshooting/Releases/RL01327
リリースノートは、テクニカルサポートのWebページよりダウンロードが可能です。

 

このほかにも、バグ修正や安定性の向上など様々な改善が図られております。
これを機に、是非PI Serverのバージョンアップをご検討ください。

2018年10月15日(月)、16日(火)の2日間の日程で、虎ノ門ヒルズフォーラムにてOSIsoft Japan IIoT Conferenceを実施いたします。

 

参加受付は10月12日(金) 10:00までを予定しております。まだご登録がお済でない方は、ぜひお早めにお申し込みください。

 

以下のWebサイトより、当日のアジェンダの確認、および、参加申し込みを行っていただけます。皆様のご参加を心よりお待ちしております。

 

開催概要: RS-APAC-Q4-18-10-15-Japan Regional Seminar

UFL Connector Version 1.3がUnicodeのサポートが改善されたので、ほかのファイルを処理してみました。

 

キーエンスのデータロガーは日本でよく使われています。マルチ入力データロガー - NR-600 シリーズ | キーエンス

このデータロガーからデータを取得したい場合は、

キーエンスの専用の製品を利用するか、CSVファイルにエクスポートする方法があります。

CSVでエクスポートをできるので、UFL経由でPIに入れてみましょう。

 

NR-500から下記のようなフォーマットにエクスポートは可能です。

 

#BeginHeader,33
#FormatType,NR-600\NORMAL
#FormatVersion,R3.00.00
タイトル,
ユニット番号,MASTER,UNIT1,UNIT2,UNIT3,UNIT4,UNIT5,UNIT6,UNIT7,UNIT8
ユニット種別,NR-600,(1)SS,(2)SS,(3)AB,未設定,未設定,未設定,未設定,未設定


(..省略..)


チャンネル条件,
チャンネル番号,,(1)SS-CH01,(1)SS-CH02,(2)SS-CH01,(2)SS-CH02,(3)AB-CH01,(3)AB-CH02
波形名,,"射出圧力","射出温度","集積熱電対","水晶圧電式力","圧電","ロッド"
単位,,"Mpa","deg","deg","A","A","μst"


#EndHeader,日時(μs),(1)SS-CH01,(1)SS-CH02,(2)SS-CH01,(2)SS-CH01,(3)AB-CH01,(3)AB-CH02
2018/06/20 11:00:00.000,2.15,3.92,0.66,6.60,7.18,2.88
2018/06/20 11:00:00.100,3.67,5.25,1.04,5.89,0.93,1.93
2018/06/20 11:00:00.200,2.19,3.90,0.13,6.02,38.80,1.12
2018/06/20 11:00:00.300,9.87,5.16,1.53,5.12,20.48,1.50


 

 

つまり、最初に登録されていたチャンネルやユニットのメータデータがあり、最後に時系列のデータを利用できます。

 

これから、下記のような構成をUFL Connector経由で作成します。

「チャンネル番号」の行にタグ名の作成のための情報があり、「波形名」の行に属性名の情報があります。

 

タグと属性の名前を取得するために、ConnectorのForEachの制御構造を利用します。

 

「チャンネル番号」の行に、「,」でわけっているタグ名があり、

それぞれを取得するために下記のようにこの行を処理します。

 

TagNames.FILTER = C1 == "チャンネル番号*"
ColumnCounter = 0

FOREACH (CsvGetItem(__MESSAGE, ",")) DO
    If ColumnCounter > 1 THEN
        Tags = Add("Keyence." + __ITEM)
    ENDIF
ColumnCounter = ColumnCounter + 1
ENDFOR

 

 

同じく「波形名」の行を処理します。

 

[AttributeNames]
AttributeNames.FILTER = C1 == "波形名*"
ColumnCounter = 0


FOREACH (CsvGetItem(__MESSAGE, ",")) DO
    If ColumnCounter > 1 THEN
        ' Remove unwanted double quotes
        __ITEM = SubStr(__ITEM, 2, LEN(__ITEM) - 2 )
        Attributes = Add(__ITEM)
    ENDIF
    ColumnCounter = ColumnCounter + 1
ENDFOR

 

 

最後に時系列データの行を下記のように処理し、ファイルの処理が終わると関連のエレメントを作成します。

 

 

[Data]
Data.FILTER = C1=="2*/*/*"


timestamp = ["(*),*"]


ColumnCounter = 0
Values = Clear()
FOREACH (CsvGetItem(__MESSAGE, ",")) DO
    IF(ColumnCounter > 0) THEN
        Value = __ITEM
        Values = Add(Value)
    ENDIF
    ColumnCounter = ColumnCounter + 1
ENDFOR
StoreEvents(Tags, Attributes, timestamp, Values)


IF EOS() == 1 then
    StoreElement("NR", "NR", Tags)
    tags=Clear()
    attributes=Clear()
endif

 

 

PI Interface for UFLのINIファイルと比べるとINIの作成の作業は難しくなりましたが、

このようなINIファイルを書くとデータロガー側にユニットの追加やチャンネルの名前の更新が自動にAFに反映されます。

InteropのiPNTのパネルに参加します。高精度時刻同期のパネルになります。

LBJ-04

6月13日(水) 16:55~17:35 @ 幕張メッセ

 

今回のiPNT(屋内Position Navigation Timing)は、準天頂衛星みちびきのタイムスタンプを、放送の様に安価に屋内にも降らせるというプランです。過去IMESとして活動してきたプロジェクトが、高精度時刻同期の重要性、及び汎用性に気付かれ、それにタイミング情報を追加する形で動いています。つまりNTPの様に問い合わせをする必要がありません。また屋内への再配信は、既に建物に準備されている、TVのアンテナ線を利用するそうです。(6/15追記 TAIMSとしてHPがアップデートされました)

 

<システムイメージ>

建屋・工場上部の屋外受信アンテナ > 建物のTVアンテナ線 > (分配) >各部屋のアンテナ線 > Edgeモジュール(再配信)

     *部屋単位で、GPS情報と高精度時刻を限定範囲に提供

 

<iPNTで提供出来る事> : こんな狙いがあります

準天頂衛星みちびきのタイムスタンプ屋内再配信のシステムを利用し、個々の機器が受信・その高精度時刻ベースでデータを生成。

 >作られたOTデータのタイムスタンプはきれいな状態で生成される

 >PI Systemで幅広く工場単位や建屋単位でデータ統合した際に、タイムスタンプが正確であり正しく解析できる

 

<弊社ディスクリート顧客の課題>

現在ディスクリート業界への取り組みを進めておりますが、秒以下でのデータ収集の際の高精度時刻同期が大変重要になっています。そしてお客様の方で大変苦労されております。秒以下の製造プロセス(切断、溶接、プレス等)を、PLCのログデータ以外に、後付けセンサ+Edgeデバイスで収集された際に、同一現象なのに個々のタイムスタンプがズレている(別のネットワークだから)為に解析に困難が生じる事となってしまっています。この取り組みで根本的に改善されることを期待しています。

 

 

キャプチャ.JPG

2018/5/24に東京にて弊社OSIsoft協賛にて開催されました、マカフィー様のCIP(Critical Infrastructure Protection)セミナーの資料が公開となっております。

PDFにて資料をダウンロード頂けますので、重要インフラのサイバーセキュリティにご関心がある方は是非チェックしてみてください。

 

協賛の弊社からは、本社Cyber Security Managerとして20年以上の経験を有し、米国国土安全保障局(DHS: United States Department of Homeland Security)のIndustry Control Systemワーキンググループ等にて活躍しておりますBryan Owenを呼び、Japan Officeのグローバル・ソリューション・アーキテクト・稲田とのセッションを持たせて頂きました。

 

<資料ダウンロード>

https://japan2.secureforms.mcafee.com/LP=9125

 

基調講演:「産業分野のサイバーセキュリティ:サイバー・フィジカル・セキュリティ対策フレームワークを中心に」

経済産業省 商務情報政策局
サイバーセキュリティ課長 奥家 敏和 氏

特別講演:「テナガ電力におけるIT / OTセキュリティ対策」

Mr. LEE SONG CHOW
Sr. Manager (Asset & Business Intelligence)
Asset Management Department
Generation Division
TENAGA NASIONAL BERHAD

協賛講演:「海外重要インフラ事業者におけるIT/OTの融合事例とセキュリティ対策」

OSIsoft Japan 株式会社
グローバルソリューションズアーキテクト
稲田 悠平 氏
Mr. Bryan Owen
Cyber Security Manager
OSIsoft LLC

主催者講演:「IT/OT融合時代のセキュリティ課題と対策動向」

マカフィー株式会社
サイバー戦略室
シニア・セキュリティ・アドバイザー CISSP
佐々木 弘志

皆様のお役に立てれば幸いです。宜しくお願い致します。

体重の予測モデルを作成したので、簡単に活用してみたいです。

 

例えば、一か月後の予測体重を表示してみたいなら、下記のようにできます。

一か月後の体重の属性を作成し、タグの参照の代わりに体重の予測値の値を参照します。

その後に、「値の取得方法」に一か月後のデータを取得するために「自動」と「+1mo」を記入しました。

 

 

(あぁ、あまり変わらない。。)

 

また、目標を設定して、いつごろ超えることができるのかが、AF分析で簡単に計算できます。

そのために、FindEqの式を利用します。未来のデータであっても、問題なく計算できます。

(今年以内であれば、それでもいいじゃないか)

 

 

その後に、いつもの通り、通信メールの設定をしたり、PI Visionで表示したりできますが、

このような予測をどういうふうに使ったほうがいいかのアイデアがあれば、下記のコメントに挙げてください。

PIに自分の体重のデータを書き込んだので、今後の予測をしたかったです。

(来月はどうなるだろう)

 

まずは結果を紹介させて頂きます。

PIに一週間の体重のデータをいれました。(緑線)

予測値は青い線で表示されています。

 

AF 2017 R2から提供されたLinRegrの関数を利用しています。この関数を利用すると単純な線形回帰の計算ができます。

今回は、LinRegrの関数を利用し、今年の7月の体重を予測しました。

 

(その調子で、やせるじゃないかよ!)

 

AF 2018から、AF分析の出力タイムスタンプを属性の値に設定できます。

つまり、体重を計るとこの計算が実行され、7月1日の体重の予測値が更新されます!

 

(この調子で、頑張って続けたいです)

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

San Franciscoで開催されたPI Worldが終了しました。

グローバルで参加して頂いたお客さんの2100名でした。

その中に日本のお客さんとパートナーの60名以上参加し、誠にありがとうございます。

 

今週の発表はすでに公開しています。

発表の資料か、発表のビデオを閲覧ために、OSIsoft.comのページを開き、「About OSIsoft」の下にEvents-Presentationをクリックしてください。

 

 

今年も、関西電力様が参加して頂きました。

是非、ご覧ください!

Digital Transformation of Thermal Power Plants using the PI System

OSIsoftとそのパートナーのビジネスとが成長するにつれて、

OSIsoftのフィールドサービスエンジニアだけがPIの導入を実装するエンジニアになるとはもはや想定できません。

 

そのため、PIの導入のベストプラクティスの資料を公開されました。(英)

管理者向けのガイドに向いていないコツやアイデアを含めています。

これから、PIを導入するパートナーであれば、是非ご参考ください。

PI Server (PI Data Archive) Install FS Technical Standard

 

注:導入の際はこの資料だけではなく、管理者のガイドも必ず参考してください。

PI Data Archive 2017 R2 Installation and Upgrade Guide (日)

 

この記事とこのような資料についてのご質問があれば、本ポストでご聞きください。

AMChartを使用したレーダーチャートのサンプルがOSIsoftGithubにございます。

PI-Vision-Custom-Symbols/Community Samples/OSIsoft/amcharts-radar at master · osisoft/PI-Vision-Custom-Symbols · GitHub

こちらのサンプルは1つのアイテムの画面表示時間範囲における値をレーダーチャートで表示するものです。

それに対して複数のアイテムのsnapshot値をレーダーチャートに表示したいケースがあります。

例えばタービンの断面の温度をレーダーチャートで表示したい場合などが該当します。

弊社トレーニングなどでもこの要望はよく聞きました。

そこで今回、上記のサンプルコードを変更し、複数タグ、属性の値を表示できるサンプルを作成しました。

コードはgithubにあります。

https://github.com/kenji0711/PIVisionMultiRadarChart

元々の設定の他、ラベルの非表示も可能となっています(Show Label)。是非お試しください。

現在の処、タグ、属性を追加したら消せませんので、再度最初からやり直す必要があります。ラベルの表示内容の変更も対応していません。

ご注意ください。