OPC Classic™
Connect to OPC Classic™ servers using OIBus with the OIBus Agent.
- Industrial communication protocol by OPC Foundation
- Supports both HDA and DA mode
- Requires Windows-based OIBus Agent
- For OPC UA, see OPC UA connector
OIBus Agent must be installed on a Windows machine
Specific Settings
| Setting | Description | Example Value |
|---|---|---|
| Remote agent URL | Agent endpoint (e.g., http://host:2224) | http://192.168.1.100:2224 |
| Retry interval | Time (ms) before connection retry | 10000 |
| Server URL | Address of OPC server (from agent machine) | localhost or IP address |
| Server name | OPC server name (ProgID) | Matrikon.OPC.Simulation |
| Mode | Data access mode (DA or HDA) | HDA |
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 Settings
| Setting | Description | Options/Examples |
|---|---|---|
| Node ID | Path to data in OPC server namespace | Channel1.Device1.Tag1 |
| Aggregate | Data aggregation method (verify server support) | Raw, Average, Minimum, Maximum, ... |
| Resampling | Resample aggregated values at requested interval (requires non-Raw aggregate) | None, 1s, 10s, 1h, ... |
- Aggregation Support: Not all servers support all aggregation methods
- Resampling: Only available when aggregate ≠
Raw - Recommended Settings: Use
Rawaggregation andNoneresampling for maximum compatibility - Server Capabilities: Verify supported features with your OPC server documentation
Configuration Examples
- Basic Configuration:
- Node ID:
Simulation Random.Int4 - Aggregate:
Raw - Resampling:
None
- Aggregated Values:
- Node ID:
Production.Line1.Temperature - Aggregate:
Average - Resampling:
5m
- High-Frequency Data:
- Node ID:
Process.Vessel.Pressure - Aggregate:
Minimum - Resampling:
1s