生産保全に関する OSISoft PI セットアップガイド

このセクションでは、PI サーバーに接続して PI データサーバーから時系列データを取得するためにいくつかのコンポーネントを設定する方法について説明します。

PI データサーバーの接続

PI データサーバーは、PI ポイントの設定をホストしたり、PI ポイントの値を保存したり、PI Web API が PI データサーバーに接続してクライアントのデータを取得することを許可したりします。各自のマシンから PI データサーバーの実行中のインスタンスに接続できることを確認します。

  1. Windows メニュー項目または PI System の場所 (通常は C:\ProgramData\Microsoft\Windows\Start Menu\Programs\PI System) に移動します。

  2. PI System Explorer を実行し、[Servers (サーバー)] メニューを選択します。

  3. データサーバー (とアセットサーバー) が接続されている場合、これ以上の設定は必要がありません。接続されていない場合、[Tools (ツール)] > [Options (オプション)] メニューを選択します。

  4. [PI Trust (PI トラスト)] を確認して、[Windows Security (Windows セキュリティ)] をオフにして、[Allow login prompt (ログインプロンプトを許可)] をオンにします。次に、データサーバーを接続しようとすると、Windows 認証と Windows ログイン情報を使用してプロンプトが表示されます。

PI Web API の設定

REST を使用して PI ポイントの属性と値を取得するには、PI Web API を設定する必要があります。

  1. Windows メニュー項目または PI System の場所 (通常は C:\ProgramData\Microsoft\Windows\Start Menu\Programs\PI System) に移動します。

  2. PI Web API Admin Utility を実行して、PI Asset Server インスタンスに接続します。

  3. HTTPS ポート 443 とファイアウォール例外を選択します。

  4. [Bypass Advanced Certification Check (高度な認証チェックをバイパス)] を選択します。

  5. アカウント種別とアカウント名を選択します。

  6. AF サーバーおよびデータベースとデータサーバーを選択します。

  7. 画面に従って設定を続行し、PI Web API URL をメモします。

Web API システムの設定

このセクションでは、サポートされているがデフォルトでは設定されていない設定項目について説明します。Web API システムを設定する手順は、次のとおりです。

  1. PI System Explorer を開きます。

  2. [Database (データベース)] をクリックして [Configuration (設定)] を選択します。

  3. [Elements (要素)] / [OSISoft] / [PI Web API] / [​PI_S​erver_Host] / [System Configuration (システム設定)] を展開し、[Attributes (属性)] タブをクリックします。

  4. 次の項目を設定します。

項目 詳細 コメント

Basic Auth config (基本認証設定)

* AuthenticationMethods を選択する
* [Value (値)] 項目で、[String Array (文字列配列)] をクリックする
* [value (値)] に「Basic」 (基本) と入力し、[Add (追加)] をクリックする
* [Check-In (チェックイン)] ボタンをクリックする

クライアントを認証して Web API に接続する必要があります。

Bulk Request config (一括要求設定)

* IgnoreCacheControlForBulkRequests が表示された場合は、True に設定されていることを確認する
* 表示されない場合は、上部の [New Attribute (新規属性)] ボタンをクリックし、値を IgnoreCacheControlForBulkRequests、型を Boolean、値を True に設定する
* [Check-In (チェックイン)] ボタンをクリックする

複数のポイントのデータを取得するには、値に URL を設定する必要があります。

POST Request config (POST 要求設定)

* EnableCSRFDefense を false に設定する

403 スイートアクセス拒否エラーを回避するには、POST が機能している必要があります。

PI Randomizer インターフェースを設定する

ランダムインターフェースを設定し、Windows サービスとしてインストールする手順は、次のとおりです。

  1. PI Interface Configuration Utility を実行します。

  2. [Interface (インターフェース)] > [New Windows interface instance from a bat file (bat ファイルから Windows インターフェースインスタンスを新規作成)] または [New Windows interface instance from an exe file and browse (exe ファイルから Windows インターフェースインスタンスを新規作成)] を選択し、ランダムインターフェースインストールディレクトリ (通常は C:\Program Files\PIPC\Interfaces\Random (random.exe または random.bat ファイルが含まれる)) を参照します。

  3. [Host PI data server (PI データサーバーをホスト)] を選択し、[追加 (追加)] をクリックします。

  4. [general (全般)] セクションでポイントソースが R であることを確認し、[scan frequency (スキャン頻度)] でランダムインターフェースで PI ポイントをシミュレーションする頻度を指定します。複数の頻度を指定できます。

  5. [Service (サービス)] セクションで、tcp/ip が連動関係として選択されていることを確認します。

PI ポイントの設定

PI Interface for Random Simulator Data は、PI Data Archive (テストデータの優れたソース) と共にインストールされて設定されます。さまざまな種別のランダムデータを生成するようにポイントを設定できます。このインターフェースのデフォルトのポイントソースは R です。

Point Builder で PI ポイントを設定できます。PI System Management Tools を実行し、[Points (ポイント)] > [Point Builder] を選択します。 . [New (新規)] をクリックし、次のセクションで説明されているようにポイントの詳細を入力します。

[General (一般)] タブ

  • Name (名前): すべてのポイントで一意の名前 (FlowLevel-M23 など) にする必要があります。

  • Descriptor (記述子): 一部の重要な情報 (マシンやポイントがアタッチされている場所など) を保存するために使用できます。

  • Stored Value (保存される値): データサーバーへの値の保存方法。リアルタイムデータを選択します。

  • Point Source (ポイントソース): 値のソース。ランダムインターフェースの場合は、[R] を選択します。

  • Point Class (ポイントクラス): [Classic (クラシック)] を選択します。

  • Point Type (ポイントの型): ポイントのデータ型 (整数、浮動小数点、文字列、タイムスタンプ、blob、デジタルなど)

  • Digital Set (デジタルセット): データ型が [Digital (デジタル)] の場合、デジタルセットで定義された値のセットを選択します。

  • Eng Units (工学単位): 測定されるポイントの工学単位 (フローの場合は PSI、温度の場合は F)。

[Archive (アーカイブ)] タブ

  • Typical Value (通常の値): ポイントの通常の値 (50 など)

  • Zero (ゼロ): ポイントの最小値 (10 など)

  • Span (範囲): ポイントの最大値 (100 など)

  • [Scan (スキャン)] と [Archiving (アーカイブ)] がオンになっていることを確認します。

[Classic (クラシック)] タブ

[Location (場所)] の値 (1 ~ 5) は、使用されるランダムインターフェースのデータ型とスキャンクラス、各値間の目的の変化量、中間ポイントが現在の値にリセットされる前に変更する値の数によって決まります。すべての場所の値が各ポイントで必要なわけではありません。次に例を示します。

項目 説明

Location1

Location2

10

範囲が 100 の場合、各スキャンで 1 10*(100/1000 = 1) ずつ値を変更できます。

Location3

25

25 個のランダムな値の後に、現在の値にリセットされます。

Location4

1

PI ポイントのスキャンクラス。random.bat またはランダムインターフェース設定を確認します。PI ポイントは 1 行目に従って変更されるため、それが 30 秒だった場合、PI ポイントは 30 秒ごとに変更されます。

Location5

1

ポイントのデータ型に応じた 0 ~ 5 の数値。

デジタルステートの設定

ポイントのデータ型として [Digital (デジタル)] を選択した場合、その値は、デジタルステートで指定されたいずれかの値になります。

  1. [Points (ポイント)] > [Digital States (デジタルステート)] を選択し、[Add (追加)] アイコンをクリックします。

  2. ステート値のセットにステート名を付けます。

メンテナンス状況のデジタルステートは、​0=アクティブ​および ​1=破損​になります。

PI Web API を使用した PI ポイントの属性と値の取得

PI サーバー、データサーバー、Web API、ランダムインターフェースおよび PI ポイントが設定されたら、PI Web API を使用して PI サーバーのポイントの属性と値を取得および更新できます。Web API では、Web を介して PI サーバーとやりとりするための REST インターフェースが提供されます。

次の表に、PI ポイント情報を取得するための一般的なエンドポイントを示します。PI サーバーの各ポイントおよびアセットは、一意の webId を使用して識別されます。

説明 Web API URL

PI Web API のホームページ

https://host:port/piwebapi/

すべての PI ポイントの属性を取得する

https://host:port/piwebapi/dataservers/DataServer_webId/points

指定された複数の PI ポイントの属性を取得する

https://host:port/piwebapi/points/multiple?webId=Point1_WebId_&webId=Point2_WebId

特定の PI ポイントの値を取得する

https://host:port/piwebapi/streams/Point_webId/value

指定された複数の PI ポイントの値を取得する

https://host:port/piwebapi/streamsets/value?webId=Point1_webId_&webId=Point2_webId

POST を使用して指定された複数の PI ポイントの属性を取得する POST メソッド

POST: https://host:port/piwebapi/batch
Body:{ "1" : { "Method": "GET", "Resource": "https://host:port/piwebapi/points/multiple?webId=Point1_webId& webId=Point2webId" } }

POST メソッドを使用して指定された複数の PI ポイントのデータ値を取得する

POST: https://host:port/piwebapi/batch
Body:{ "1" : { "Method": "GET", "Resource": "https://host:port/piwebapi/streamsets/value?webId=Point1_webId&webId=Point2_webId" } }

このユースケースの PI ポイントの設定

このユースケースでは、いくつかのマシンの振動の差分、温度、油量、騒音レベル、メンテナンス状況を測定します。次の表に、あるマシンの以下の PI ポイントの設定を示します。

属性 Point1 Point2 Point3 Point4 Point5

[General (一般)] タブ

Name (名前)

Vibration Delta (振動の差分)

Temperature (温度)

Oil Level (油量)

Noise Level (騒音レベル)

Maintenance Status (メンテナンス状況)

Descriptor (記述子)

Machine1

Machine1

Machine1

Machine1

Machine1

Stored Values (保存される値)

リアルタイムデータ

リアルタイムデータ

リアルタイムデータ

リアルタイムデータ

リアルタイムデータ

Point Source (ポイントデータソース)

R

R

R

R

R

Point Class (ポイントクラス)

classic (クラシック)

classic (クラシック)

classic (クラシック)

classic (クラシック)

classic (クラシック)

Point Type (ポイントの型)

Int32

Int32

Int32

Int32

Digital (デジタル)

Digital Set (デジタルセット)

MachineStatus

Eng Units (工学単位)

Hz

F

Percentage (パーセント)

Decibels (デシベル)

Display Digits (表示桁数)

[Archive (アーカイブ)] タブ

Typical Value (通常の値)

500

125

50

115

1

Span (範囲)

1000

160

100

160

1

Zero (ゼロ)

10

90

0

70

0

Scan (スキャン)

オン

オン

オン

オン

オン

Archiving (アーカイブ)

オン

オン

オン

オン

オン

[Classic (クラシック)] タブ

Location1

Location2

Location3

100

100

100

100

Location4

1

1

1

1

1

Location5

2

2

2

2

1

Misc (その他)

データ型

Station Data (定常データ)

Station Data (定常データ)

Station Data (定常データ)

Station Data (定常データ)

Random Data (ランダムデータ)

Scale (スケール)