Jump to: navigation, search

OSIPI (Plugin)


Revision as of 10:46, 8 June 2021 by MKR (Talk | contribs) (Attributes {{Version/WinXSince|3.6}} {{Version/XamarinSince|1.1}} {{Version/ServerSince|3.5.0}})

The OSIPI interface module enables support for reading data from OSIsoft PI systems.

Features

  • Supports multiple value types
  • Multi-server configuration
  • Correctly formatted value in Attributes

Prerequesites

To be able to successfully set up the system, the Ubik server/development machine needs access to the OSIPI instance. This can be easily checked in the web browser by navigating to the provided URL. OSIsoft's PiWebAPI is a REST API, from which the plugin reads data.

Configuration in Ubik

Live value servers get added to instances of the OSIPI_SERVER metaclass, whereas the data points are objects of the OSIPI_DATAPOINT metaclass.
With that difference in mind, follow this guide: Implementing Live Values.

Not all data types of OSIPI are available to be configured in Ubik. The following table shows the matches:

OSIPI Data Type Ubik Data Type
Digital Integer (0 or 1)
String String
Int16 Integer
Int32 Integer
Float16 Float
Float32 Float
Float64 Float

Authentication

The OSIPI plugin supports two types of authentication:

  • Basic
  • Current User

In the case of Basic authentication, put the credentials in the respective fields LOGINNAME and PASSWORD. Be aware that domain backslashes might need to be doubled, thanks to their escaping nature: DOMAIN\\USER

If you leave the LOGINNAME field empty, the client tries to authenticate against the OSIPI server with WebClient.UseDefaultCredentials. Should this be the authentication of your choice, be aware that the Ubik Studio/Enterprise Service/Web Service needs to be started as that user that has access to the PI system.

Attributes

The OSIPI Plugin delivers the correctly formatted value in the Live Value Attributes collection, which can be bound to directly from XAML. The value formatting culture can be set in the OSIPI_SERVER configuration with the FORMATTING_CULTURE field, which defaults to EN_US. There's also an option to trim leading zeroes (TRIM_LEADING_ZEROES, defaulting to false).

This functionality is available in Ubik.Server 3.5.x as well, however, the fields FORMATTING_CULTURE and TRIM_LEADING_ZEROES are not generated automatically. They got added with 3.6.0.