PI Web Data Receiver
    • Dark
      Light

    PI Web Data Receiver

    • Dark
      Light

    Article summary

    The piweb_v1 data receiver loads tag metadata called “webid” and uses that information to load data within the PI Web API.

    Example:

    {
      "connections": [
        {
          "base_url": "https://piwebserver.com/piwebapi",
          "start_datetime": "2022-04-01T00:00:00",
          "username": "username",
          "password": "password",
          "data_server_name": "PI9-5000"
        }
      ],
      "data_receiver_name": "my_piweb_receiver",
      "poll_interval": 10,
      "protocol": "piweb_v1",
      "streams": [
        {
          "asset": "asset",
          "stream_type": "stream_type",
          "tags": [
            {
              "from_regex_name": "PC:.*"
            },
            {
              "from_regex_name": "SM:machine_1:.*"
            },
            {
              "from_webid": "F1DP0wrwSbtoKUCTP8tooVv3eAV8cBAAUEkxLTM3MDFcMC5UT0M",
              "to_field": "glorious_asset_data"
            }
          ]
        }
      ]
    }

    Configuration:

    Required and optional properties that can be configured for an Pi Web receiver:

    • connections: How to connect to an PI Web server and retrieve tags. An PI Web connection has the following configurable settings:
      • base_url: Base url for your PI Web server. It is often prefixed with /piwebapi (e.g: https://piweb-server.com/piwebapi)
      • data_server_name: PI Web servers have specific entities called data servers.username: Username used along with a password to access the PI Web Server
      • password: Password used along with a username to access the PI Web Server
      • start_datetime: Initial datetime for data we want to fetch. Default is earliest datetime possible.
      • max_request_records: Maximum number of records retrieved when loading data.
      • max_request_webids: Maximum number of webids allowed for a single PI Web request when loading data. If the size is exceeded due to the number of webids, this leads to more web requests. Default is 150.
      • timeout: Maximum number of seconds to wait for a response from a PI web server. Default is 30
      • tag_load_options: Tags will need to be refreshed to remain up to date with the PI Web server metadata.
        • max_request_records: Number of tags to retrieve in a single PI Web server call. Default is 10000
        • poll_interval: The number of seconds to wait between attempts to retrieve tags from the PI Web server.
        • timeout: Maximum number of seconds to wait for a response when loading webids. Default is 60
    • streams: How to associate tags with assets and streams. Each input stream has the following configurable settings:
      • asset: Asset identifier
      • stream_type: Type of data stream
      • tags: A list of data fields to fetch from the PI Web server. Each data field configuration can have the following properties:
        • from_regex_name: A regex pattern to fetch from expected field names (e.g. SM..*). This parameter can be reused combine with other tag parameters. (e.g: Having both SM.sub1..* and SM.sub2..* results in a logical OR, so we would fetch tags from both those patterns.)
          OR
        • from_webid: A unique identifier used to retrieve data from specific tag in the PI Web server
        • to_field: Name of the field to use in the Sight Machine platform (e.g. Painting_Oven_Fan_Speed)
    • poll_interval: The number of seconds to wait between attempts to fetch new data from the PI Web server.

    Note

    • In PI Web, we retrieve the data via Streamset Recorded and currently handle pagination by adding a millisecond to the latest timestamp.A UTC timestamp should already be included in the retrieved data and represented as field timestamp.