Sensor Linkエクステンションの使用
Sensor LinkエクステンションはRapidMinerをOSIsoft PI Systemに接続し、RapidMinerのプロセスを使用して運転データの抽出やデータ点の更新を容易にします。
Sensor LinkはPI Web APIを利用しており、APIバージョン2017 R2以降と互換性があります。
OSIsoftでは、PI Web APIなどのプログラムAPIを使用するため、PI System Access(PSA) ライセンスが必要となりますのでご注意ください。特に、PI Visionのインストールの一部などで、APIが利用可能であっても、PSAライセンスが利用可能であるとは限りません。
Sensor Linkエクステンションのインストール
エクステンションをインストールするには、拡張機能メニューに移動し、 マーケットプレイス(更新と拡張機能)を開いて、Sensor Linkを検索します。詳細については「エクステンションの追加」を参照してください。
PI Web APIの接続
Sensor LinkはRapidMinerの接続フレームワークを利用しています。これにより、接続を一元管理し、オペレータ間の接続を再利用することができます。エクステンションはHTTP Basic認証(ユーザー名とパスワード)と、現在のWindowsユーザー(Kerberos、NTLM)を使用したWindows認証の両方をサポートしています。接続メニューからCreate a new connectionダイアログを開き、新しい接続を設定できます。
どの接続も、PI webのAPI endpointと、使用するDefault root pathを指定する必要があります。ルートパスにはデータサーバーの名前を指定する必要があります。必要に応じて、オペレータのパラメータで上書きすることができます。
HTTP Basic認証
以下はHTTP Basic Authenticationを使用した接続の例です。これは、RapidMinerをOSIsoftのパブリックテストシステムに接続します。
Windows認証
Windows認証(Kerberos)を必要とするインスタンスに接続するには、Authentication methodにWindows SSO (Kerberos/NTLM)を選択します。
この認証方法を使用すると、Sensor Linkは現在のWindowsユーザーを認証に使用します。
SSLの設定とトラブルシューティング
デフォルトでは、RapidMinerがエンドポイントで使用される証明書を認識し、エンドポイントのホスト名に対して証明書が発行された場合にのみ、Sensor Linkはセキュアな接続を信頼します。
内部システムへの接続がSSLエラーで失敗した場合、これらの2つの要件のいずれかが満たされていないことが原因と考えられます。この場合、最初に証明書をRapidMiner Studioに追加することを強くお勧めします。詳しくは、「自己署名SSL証明書を信頼」をご覧ください。
または、任意の自己署名証明書を信頼するように接続を設定することもできます(安全性が低くなります)。さらに、Verify host設定を無効にして、ホスト名が一致しない証明書を信頼することもできます。
例
オペレータパネルでPIを検索すると、Compressed Data、Current Values、Sample Data、Calculate Data、およびPublish Dataオペレータを見つけることができます。
すべてのオペレータでは、入力ポートを接続するか、対応するパラメータで接続を選択することにより、接続を指定できます(入力が接続されていない場合にのみ表示されます)。ほとんどのオペレータでは、最初のデータアイテムまたは式(Performance Equation)が唯一の必須パラメータとなります。デフォルトでは、PI Web APIは過去24時間のデータで応答します。
Calculate Data
以下の例は、(additional data itemsで指定した)データ点BA:CONC.1とBA:TEMP.1の5分間の平均をクエリしています。開始時刻と終了時刻のパラメータには、それぞれyesterday (昨日)とtoday (今日)に相当するYとTを使用します。開始時刻と終了時刻でサポートされている時間式の概要については、Web APIのドキュメントを参照してください。
このクエリの結果は、以下のようなデータテーブルになります。
Calculate Dataでは、数値でないデータ点にはサポートが制限されているのでご注意ください。そのようなデータ点には、計算方法にcountとpercent goodのみ使用できます。
Sample Data
以下の例は、(additional data itemsで指定した)データ点BA:CONC.1とBA:TEMP.1およびBA:ACTIVE.1を10分間隔でサンプリングしています。サンプルは記録された最も近い2つの値の間を補間することによって取得されます。今回は開始時刻と終了時刻に絶対時刻を使用しています。
Sample Dataは数値と非数値データ点の両方をサポートしています。オペレータは自動的に正しいタイプを検索し、対応するRapidMiner属性タイプ(real, integer,polynominal)にマッピングします。
このクエリの結果は、以下のようなデータテーブルになります。
Compressed Data
Compressed Dataオペレータは、生の記録データを取得するのに使用されます。PI Data Archiveは時間の経過とともに記録されたデータを圧縮することがあります。例えば、補間のために重要性の低いデータ点を削除します。まさに、その名の通りのオペレータです。インタフェースは他のオペレータと似ています。
しかし、出力されたタイムスタンプが必ずしも等距離ではないという点で異なります。さらに、複数のデータ点のデータを取得する場合、異なるデータ点に対して同じタイムスタンプが返されるとは限りません。このオペレータはタイムスタンプに外部結合を行い、欠けているセルを空にする(‘?’と表示されます)ことでこれを処理します。
Current Values
Current Valuesオペレータは生の記録データを返すという点で、Compressed Dataオペレータと似ています。しかし、その名前が示すように、各データ点の最新の値のみを返します。
しかし、複数のデータ点を同時にクエリする場合、タイムスタンプの不一致により、複数の行を返すことがあります。
Performance Equationを用いた時間フィルタリング
コネクタにはPI Data Linkで知られるTime Filtered(条件指定時間データ)機能は実装されていません。しかし、Performance Equation自身に含まれる式を使用して、Performance Equationがtrueと評価される時間を計算することは可能です。
上の例では、TimeLt(‘BA:TEMP.1’, ‘*-1h’, ‘*’, 10)という式を1時間に1回評価しています。式自体は記録された温度BA:TEMP.1が直前の1時間に10度以下になった時間を(秒単位で)計算します。
フィルタ式
すべてのデータ検索オペレータはフィルタ式をサポートしています。Sample Dataオペレータの例をもう一度見てみましょう。BA:ACTIVE.1がアクティブな状態を示す行のデータのみを取得したい場合、フィルタに‘BA:ACTIVE.1’ = “Active”を使用することでこれを行うことができます。
フィルタリングの後に返されるデータが等距離であることが保証されなくなることに注意してください。例えば、2行目と3行目の間に20分のギャップがあります。これは非アクティブな行を削除したためです(Sample Dataの例の元のテーブルを参照)。