OSI PI Historian
Overview
OSI PI Historian Integration enables Edge System to connect with PI Historian Web API.
Supported Communication
- Outbound - Publish data from Edge to PI
- Inbound - Subscribe to data from PI to Edge
Configurations
Variable | Detail | Required |
|---|---|---|
Name | Connector Name | Yes |
Description | Enter a description for the connection | No |
Endpoint | Address of OSI PI Historian Web API (configured with OMF plugin) | Yes |
Username | User name | Yes |
Password | User password | Yes |
CA Certificate | SSL CA Certificate | No |
Compression | Enable gzip compression for OMF requests | Yes |
Request Timeout | HTTP Request Timeout in milliseconds | Yes |
Data Source Type | Text to be used as root name for datasource. If empty, PI points will show "PIWebAPI_OMF" | No |
Data Source Version | Text to be used datasource suffix. Requires non-empty DataSourceType | No |
Point Name Format | Text with format-directives to generate PI point names | Yes |
Point DataType Format | Text with format-directives to generate AF type names | Yes |
Point Description Format | Text with format-directives to generate PI point descriptions | No |
Data Timezone | UTC Timezone information to append to Outbound data timestamps | No |
Check Tags | Check if point name exists before attempting to create new | No |
Publish Count Threshold | Publish count threshold (1 disables batching) | Yes |
Publish Delay Threshold | Publish delay threshold in milliseconds (0 disables batching) | Yes |
PIServer | Name of PI Data Archive server. Defaults to first found | No |
Subscribe Interval | Polling interval in seconds | Yes |
Max Subscription Events | Maximum number of events processed per subscription poll (prioritised by most recent) | Yes |
Insecure Skip Verify | InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name. Select to disable verification | No |
Parallel Publish Count | The number of simultaneously publishing messages | Yes |
Persistent Storage | If enabled, messages in the outbound queue are stored on disk. If there are interruptions in connection or power loss, messages will be retained and eventually sent when the connection is restored. | No |
Queue Mode | Select the sequence of data transfer: FIFO or LIFO. Selecting FIFO (First In First Out) will send the earliest message first. Selecting LIFO (Last In First Out) will send the latest message first. | No |
Format Directives
Warning: Ensure to handle format-directives with care when making changes.
- Any change to metadata format settings is only applicable to proceeding data. Once ingested to PI, metadata of existing PI points will not be modified.
- Point names will change if inner variable value changes (e.g. Tag Description). This may result in new PI points being created.
- The following characters will be removed from any format string: *?;{}[]\'"|
Symbol | Definition | Context |
|---|---|---|
$ | Special character indicate a variable character follows. A variable represents some dynamic string value. Supported variables defined as follows: | - |
$S | Data Source Type | from Connector Settings |
$V | Data Source Version | from Connector Settings |
$D | Device Name | from DeviceHub Tag |
$N | Tag Name | from DeviceHub Tag |
$T | Tag Type | from DeviceHub Tag (shown as OPCUA/PI type) |
$R | Raw Tag Type | from DeviceHub Tag |
$P | Tag Description | from DeviceHub Tag |
$H | Hostname | from OS |
| | |
% | Special character indicating a function character follows. A function represents some action to be taken on the next variable. Supported functions defined as follows: | - |
%L | Lowercase() | apply to next variable |
%U | Uppercase() | apply to next variable |
Format Directive Notes:
- To use a special character in its literal form, enter symbol twice: $$ -> $, %% -> % Example: $$$D.%%$N" -> "$deviceABC.%tagXYZ
- A special character must be followed by either itself, or one of the supported characters in the table above. Any other condition will result in an error Example 1: $D.$N$% -> error Example 2: $D.$N$ -> error Example 3: $D.$N$# -> error
- Functions only act on the next variable found in the string