AVEVA PI システムからのデータの追加

AVEVA PIシステムから以下のデータを取り込むことができます。 Maximo® Monitor.

始める前に

このドキュメントでは、AVEVA PI ヒストリアン用の SCADA コネクタの実装について詳しく説明します。 コンテナ化されたソフトウェアで、Aveva PIデータアーカイブからデータを抽出し、次の場所に送信します。 Maximo Monitor. このツールは、ユーザー・インターフェースを介して設定され、クライアント・システム上のcontainer-runコマンドの助けを借りてデプロイされる。 顧客システムは、SCADA コネクタコンテナを実行するために以下を必要とする:

  • コンテナエンジンツール、 Podman または Docker
  • アクセス Maximo Monitor
  • Aveva PI データアクセスサーバー (OLEDB) 経由での Aveva PI データアーカイブへのアクセス

Aveva PI データアーカイブにアクセスするために、コネクタは以下の Aveva PI コンポーネントに依存しています:

  • PIデータアーカイブと同じホスト、またはPIデータアーカイブに接続できる別のホストにインストールされたPI SQL Data Access Server (OLEDB)
  • PI SQL DAS OLEDB のホストにインストールされた PI OLEDB Provider
  • Aveva コネクタを実行するホスト上にインストールされた PI JDBC ドライバ
注: 上記のコンポーネントは、PI SQL DAS (RQTP) と PI SQL Client コンポーネントが導入される前の Aveva PI SQL 製品ファミリーに属します。 また、使用するにはランタイム用のPIシステムアクセスライセンスが必要です

このタスクについて

Aveva PI システムからデータを取り込むためにコネクタを構成するには、以下の手順を実行します:

手順

  1. SCADA コネクタをセットアップするには、次の場所に移動します。 Maximo Monitor. Setup をクリックし、 Intergrations メニューを選択します。
  2. セットアップ-統合メニュー. Add Integration ボタンをクリックします。
  3. Aveva PI Historian タイルを選択します。
  4. 詳細を設定するには、以下のUIフィールドに設定情報を入力します。
    • 統合名
      英数字、アンダースコア、ハイフンのみを入力してください。 (a-z,A-Z,0-9,_,-)
    • データ取得開始時刻
      データの取得を開始するタイムスタンプ。
    • ホスト名
      JDBC urlを構築するために使用される。 PLSQL DAS サーバーを指します
    • ポート
      PI SQL DAS (OLEB) が HTTP 通信を許可するために設定するポート。 デフォルトは5461。 JDBC ドライバの設定に使用
    • データベース名
      PIデータアーカイブからデータを抽出するために接続するPIシステムサーバーの名前。 JDBC urlを構築するために使用される
    • JDBC ドライバへのパス
      コネクタを実行するホスト・マシンに存在する PI JDBC ドライバへの絶対パス
    • ユーザー名とパスワード
      PI SQL DAS (OLEDB) ログイン用の認証情報
  5. データマッピングの次のステップでは、デバイスタイプとそのメトリックデータタイプを指定する必要がある。 また、PIシステムのタグをそれぞれに対応付けるために、タグ名フィルター式を関連付ける。 記述された各デバイス・タイプについて、そのフィルター式に一致し、同じデータ型(NumberまたはLiteral)を持つPIシステムのタグのみが、そのタグにマッピングされる。 フィルター式とデータ型は、タグを各デバイス・タイプにマッピングするためにコネクタによって使用される。 いずれかのフィルターにマッチし、デバイス・タイプで定義された同じ値のデータタイプを持つタグは、その下のデバイスとしてマッピングされます。
    1. 統合にデバイスタイプのエントリーを追加するには、(+)アイコンをクリックします。
    2. 各エントリでは、AVEVA の既存のデバイスタイプを、ドロップダウンから選択するか、フィールドに名前を入力して選択できます。 または、デバイス・タイプ・フィールドに新しい名前を入力して、新しいデバイス・タイプを作成することもできます。
    3. 新しく作成されたデバイス・タイプに対して、タグ・タイプ・フィールドは、特定のデバイス・タイプにリンクするタグのタイプを選択するためのドロップダウンリストです。
    4. 既存のデバイス・タイプの場合、フィールドのタグ・タイプは、その特定のデバイス・タイプでサポートされているタイプを示します。
    5. タグフィルターテキストフィールドにタグフィルター式を入力する。 これは、そのデバイス・タイプにマッピングするタグをフィルタリングするために使用される。 1つのデバイスタイプは複数のタグ名フィルター式を持つことができ、それらはOR論理で結合されます。
      有効なワイルドカードは以下の通り:
      1. %:ANSI SQL で有効なワイルドカードで、0 個以上の任意の 1 文字にマッチします

      2. ANSI SQLで有効なワイルドカード

      3. * :PI システムのワイルドカード

      4. ワイルドカードに似ている

      注:

      フィルター TagName_ExampleTagName?例 は以下のタグにマッチする: TagName1Example TagNameFExampleTagNameExample. しかし、これらのものとは一致しない: TagName2TestExample, TagNameRandomExample

      フィルター TagName*ExampleTagName%Example で始まり TagName で始まり Example で終わるタグにマッチします

      有効な文字は以下の通り:
      1. 英数字: A-Za-z0-9

      2. コンマ (,)

      3. ピリオド (.)

      4. ブランク・スペース
      注: 一度に統合用に作成できるデバイス・タイプの数は5つまでです。 最初に5つのデバイスタイプで統合を作成し、5つ以上のデバイスタイプで統合を作成する必要がある場合は、それを編集して追加します(5つずつ)
  6. コンテナ実行コマンド、構成された統合の概要、およびレビュー用に提供された最も関連性の高い情報をユーザーに提示するサマリータブに移動します。 上記のステップがすべて正常に完了すると、ユーザーがsubmitをクリックした後にcontainer-runコマンドが表示される。 トグルボタンを使用して、コネクタを検証モードで実行するかどうかを設定できます。 コマンドをコピーし、前提条件を満たすシステムで実行する。

    SCADA コネクタには、主に 2 つの動作モードがある:

    バリデーション・モード
    • ステップ 6 のコンテナ コマンド ポップアップで Validate トグルを有効にすると、Aveva PI Data Archive and Monitor MQTT ブローカーへの接続をチェックし、指定したフィルターに一致する Aveva PI タグを検出します。 これは、各デバイスタイプと関連するタグフィルター式を含むマッピング構成を報告し、各デバイスタイプの下にマッピングされるタグを一覧表示します。
    • システムはまた、フィルターに一致するが、設定されたデバイス・タイプとデータ・タイプが不一致のタグ(例えば、Numberが期待されるところStringタグ)を特定し、複数のデバイス・タイプにまたがって重複するタグにフラグを立てる。
    標準モード
    • validateフラグが設定されていない場合、システムはAveva PI Data Archive and Monitor MQTTブローカーへの接続をチェックし、指定されたフィルターに一致し、デバイスタイプに期待されるデータ型に一致するAveva PIタグを検出します。 Maximo Monitor -必要に応じて作成します。 その後、継続的なクエリ-パブリッシュサイクルを開始し、Aveva PIからデータを取得し、それを Maximo Monitor に送信します
    • クエリーのタイムスタンプが30分以上前の場合、データは現在時刻に達するまで30分ごとにフェッチされる。 1分以上経過している場合は、1分間隔に切り替わる前に現在時刻までのデータが取得される。 1分未満の場合は、現在時刻から1分遅れるまで待ってから1分サイクルを開始する。 コネクタは2分ごとにステータスを更新し、中断された場合に最後の既知の状態から再開できるようにする。
    または、専用の POST API を使用して統合を作成することもできます: /api/v2/core/connectors/scada. 以下のペイロードフォーマットをご参照ください:
    {
              "serviceName": "dev-env-pi",
              "description": "aveva-connector-description",
              "serviceType": "AVEVA_PI",
              "databaseConfig": {
                "type": "PISQL",
                "hostname": "hostname",
                "port": 1234,
                "db": "db",
                "username": "username",
                "password": "pwd",
                "path": "/path/jdbc/driver"
              },
              "startTimestamp": "2024-05-31T14:23:52.674+00:00",
              "extractInterval": 60,
              "mappings": [
                {
                  "deviceTypeName": "aveva-device-01",
                  "tagDataType": "NUMBER",
                  "filters": [
                    "a",
                    "b",
                    "c"
                  ],
                  "action": "CREATE"
              }
         ]
    }
    • serviceName: 統合名
    • 説明(オプション):統合に関する追加情報を記述します
    • serviceType: AVEVA_PIに設定
    • databaseConfig - タイプに設定します:PISQLに設定
    • databaseConfig - hostname: コネクタが接続する必要がある PI SQL DAS (OLEB) サーバーの名前/IP。 JDBC urlを構築するために使用される
    • databaseConfig - ポート:PI SQL DAS (OLEB) サーバーが設定するポート。 デフォルトは5461。 JDBC ドライバの設定に使用
    • databaseConfig - db:PIデータアーカイブからデータを抽出するために接続するPIシステムサーバーの名前/IP。 JDBC urlを構築するために使用される
    • databaseConfig - username: PI SQL DAS(OLEBD) ログイン用のユーザー名
    • databaseConfig - password: 指定されたユーザー名のパスワード
    • databaseConfig - パス:コネクタを実行するホスト・マシンに存在する PI JDBC ドライバへの絶対パス
    • startTimestamp: データの取得を開始するタイムスタンプ(UTC)。 API では、文字列形式のタイムスタンプ ( ""2025-04-25T10:25:32.457+00:00") を設定できます。 または、エポック・ミリ秒を表す整数値
    • extractInterval: 現在のデータを使用する場合、各データクエリ間の秒数
    • mappings - deviceTypeName: 特定のマッピングを作成または使用するデバイス・タイプの名前
    • mappings - tagDataType: 特定のデバイス・タイプでキャプチャするタグのデータ型(NumberまたはLiteralのいずれか)
    • mappings - filters:どのタグを特定のデバイスタイプにマッピングするかを決定するために使用するタグ名フィルターのリスト。 複数のフィルターが存在する場合、それらは論理的に OR 式で連結されます
    • mappings - action:デバイス・タイプ・マッピングに適用するアクション。 CREATEに設定する。 デバイス・タイプがすでに存在する場合でも、アクションはCREATEとなる。これは、マッピング・オブジェクトを参照するためで、マッピング・オブジェクトは存在せず、作成する必要がある。 したがって、新しい統合では、すべてのマッピング・オブジェクトがこのフィールドにCREATEを持つ必要がある