OSIsoft PI System™
Connect to OSIsoft PI System™ for industrial data collection and visualization using OIBus with the embedded PI driver in OIBus Agent.
- OIBus Agent must be installed on a Windows machine
- Can be installed on PI Server machine or separate machine with PI SDK configured
Connection Settings
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| Remote agent URL | Agent endpoint (e.g., http://host:2224) | - | Required for all connections |
| Retry interval | Time (ms) to wait before retrying connection | 10000 | Recommended: 5000-15000ms |
Throttling Settings
You can optimize data requests using throttling configurations. These settings help manage large data intervals and network conditions effectively.
Key Throttling Parameters
| Setting | Description | Data Type | Example Value |
|---|---|---|---|
| Max read interval | Maximum duration (in seconds) for each data request interval. Larger intervals are automatically divided into smaller chunks not exceeding this value. | Seconds | 3600 |
| Read delay | Delay (in milliseconds) between consecutive data requests. Helps prevent server overload. | Milliseconds | 1000 |
| Overlap | Time overlap (in milliseconds) between consecutive queries to ensure data continuity. This value is subtracted from the @StartTime of the next query. | Milliseconds | 60000 |
How Throttling Works
- Interval Division:
- Large time ranges are automatically split into smaller intervals
- Each sub-interval does not exceed the
Max read intervalduration - Example: A 24-hour request with
Max read interval = 3600(1 hour) will be split into 24 separate 1-hour requests
- Request Timing:
- The
Read delayintroduces a pause between consecutive requests - Helps manage server load and prevents rate limiting
- Particularly useful during network instability or when querying large datasets
- Data Continuity:
- The
Overlapsetting ensures no gaps in your data - Creates a time buffer between consecutive queries
- Example: With
Overlap = 60000(1 minute), each query will include 1 minute of overlapping data with the previous query
The overlap setting modifies the @StartTime of each query by subtracting the overlap value from the calculated start time. This adjustment applies to the entire query range, not to individual sub-intervals when large requests are split into smaller chunks.
This functionality is particularly useful when:
- New data is ingested after previous queries have executed
- You need to account for potential ingestion delays in the source system
Example:
With overlap=60000 (1 minute), a query for the interval [10:00-11:00] will actually request [9:59-11:00], ensuring capture of any late-arriving data from the previous time period.
Recommended Configurations
| Scenario | Max read interval | Read delay | Overlap |
|---|---|---|---|
| Stable network, small datasets | 3600 (1 hour) | 500 | 0 (no overlap) |
| Unstable network | 1800 (30 min) | 2000 | 0 (no overlap) |
| Large historical retrievals | 7200 (2 hours) | 1000 | 0 (no overlap) |
| Real-time with occasional gaps | 900 (15 min) | 200 | 15000 (15 sec) |
Item Configuration
Point Access Methods
| Setting | Description | Example Value |
|---|---|---|
| Type | Access method: pointId (single point) or pointQuery (multiple points) | pointId or pointQuery |
| Point ID | Fully qualified point ID (without server name) | \\CDT158\SINUSOID |
| Point Query | Query selector for multiple points (see PI Point Query Syntax) | Name:='SINUSOID' |
- For
pointId: Item name serves as reference in JSON payloads - For
pointQuery: PI name is used as reference
OSIsoft PI SDK Configuration
Installation Requirements
- Install PI SDK on agent machine
- During installation, specify default data server
- If installing remotely:
- PI SDK must be properly configured
- PI System Access (PSA) must be installed
User Configuration
- Create domain user account (accessible from both machines)
- If domain doesn't exist, create identical local users with same password
- Configure OIBus Agent service to run as this user
Trust Configuration
- Open PI System Management Tools
- Navigate to
Mapping & Trusts→Truststab - Create new trust with:
- OIBus Agent machine IP and Net Mask
- Domain (if applicable)
- PI Identity to connect with
Mapping Configuration
- In PI System Management Tools
- Navigate to
Mapping & Trusts→Mappingstab - Create new mapping with:
- OIBus Agent service user
- PI Identity from trust configuration
View system logs in PI System Management Tools:
Operation → Messages Logs
Configuration Screenshots
-
SDK Installation:
Specify default data server during installation -
Trust Configuration:
Configure trust for agent machine -
Trust List:
Verified trust configuration -
Mapping Creation:
Map agent user to PI identity -
Mapping List:
Verified user mapping