OPC UA Server
Integration
Agenda
- Fetching data from OPC UA
- Location of OPC UA Client
Fetching data from OPC UA
Subscription-based approach
Fetching data from OPC UA
Subscription-based approach
Pros:
- No unnecessary calls to OPC UA Server
- Instant granular updates exactly when variable changes
Cons:
- More complex architecture and need for aggregation of single variable updates to project state of the system
- Need to maintain state of the system locally as a part of client
- Needs failover scenario
Fetching data from OPC UA
Subscription-based approach with incremental updates
Fetching data from OPC UA
Subscription-based approach with incremental updates
Pros:
- No unnecessary calls to OPC UA Server
- Instant granular updates exactly when variable changes
- Simple implementation of OPC UA Client
Cons:
- More complex processing architecture on the backend
- Needs failover scenario
Fetching data from OPC UA
Periodic fetch approach
Fetching data from OPC UA
Periodic fetch approach
Pros:
- Simpler architecture
- No need to maintain local state as part of the OPC UA Client
Cons:
- Unnecessary calls to OPC UA Server when no changes are observed
- Needs failover scenario
Placement of OPC UA Client
Co-located with AGV and OPC UA Server
Placement of OPC UA Client
Co-located with AGV and OPC UA Server
Pros:
- Lower latency between OPC UA Server/Client
- Better resilience to outages in Internet connection
Cons:
- More complex architecture at the edge
- More challening maintenance of OPC UA Client at the edge
- Need to create multiple clients if there are AGVs that are not co-located
Placement of OPC UA Client
Located in Cloud environment
Placement of OPC UA Client
Located in Cloud environment
Pros:
- Simpler architecture
- Can support data ingestion from multiple OPC UA Servers
Cons:
- Higher communication latency between OPC UA Server/Client
- Less resilience to Internet connection outages
Potential shape of data
granular updates to specific variables
{
"agvId": "1",
"timestamp": "1588173179673",
"iso_timestamp": "2020-04-29T15:12:59.673Z",
"BRAKES SIGNALS.Brake 1 - permission release": false,
}
Potential shape of data
full state of the system at each event
{
"timestamp": "1588173179673",
"iso_timestamp": "2020-04-29T15:12:59.673Z",
"AGV_EagleOne.6000.[BS] BRAKES SIGNALS.Brake 1 - permission release": false,
"AGV_EagleOne.6000.[BS] BRAKES SIGNALS.Brake 1 - automatic safety release": true,
"AGV_EagleOne.6000.[BS] BRAKES SIGNALS.Brake 1 - manual safety release": false,
...
}
OPC UA Server integration
By progressive
OPC UA Server integration
- 178