Industrial control systems are complex, software-intensive systems that manage mission-critical production processes. Commissioning such systems requires installing, configuring, and integrating thousands of sensors, actuators, and controllers and is still a largely manual and costly process. Therefore, practitioners and researchers have been working on ``plug and produce'' approaches that automate commissioning for more than 15 years, but have often focused on network discovery and proprietary technologies. We introduce the vendor-neutral OpenPnP reference architecture, which can largely automate the configuration and integration tasks for commissioning. Using an example implementation, we demonstrate that OpenPnP can reduce the configuration and integration effort up to 90 percent and scales up to tens of thousands of communicated signals per second for large Industrial Internet-of-Things (IIoT) systems. OpenPnP can serve as a template for practitioners implementing IIoT applications throughout the automation industry and streamline commissioning processes in many thousands of control system installations.
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
1. —ABB CORPORATE RESEARCH CENTER, LADENBURG, GERMANY
OpenPnP: a Plug-and-Produce Architecture
for the Industrial Internet of Things
Heiko Koziolek, Andreas Burger, Marie Platenius-Mohr, Julius Rückert, Gösta Stomberg
PUBLIC
4. —
Commissioning
1) Place, connect sensor („plug“)
2) Set fieldbus address
3) Retrieve sensor type
4) Select device package, download
5) Enter configuration parameters
6) Get addresses to logic engineering
7) Map program variables
8) Compile and download control logic
Repeat for all devices (go to 1)
…
Production start („produce“)
60 – 90 minutes per device!
5. —
60 – 90 minutes per device!
Commissioning
1) Place, connect sensor („plug“)
Production start („produce“)
60 – 90 minutes per device!Target: <10 sec per device!
6. —
May 29, 2019 Slide 6
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Typical Control Loop Example
8. —
May 29, 2019 Slide 8
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Open PnP Architecture
9. —
May 29, 2019 Slide 9
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
SERVER
CLIENT & SERVER
SERVER
Open PnP Architecture
10. —
May 29, 2019 Slide 10
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Plug & Produce
Software Service
SERVER
CLIENT & SERVER
SERVER
CLIENT
Open PnP Architecture
11. —
May 29, 2019 Slide 11
Industrial Boiler
Laser Level
Transmitter
Pneumatic Valve
Automation Controller
Plug & Produce
Software Service
SERVER
CLIENT & SERVER
SERVER
CLIENT
Open PnP Architecture
Our Main Contribution
13. —
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<informat ion model>>
PLCOpen
OPC UA
LDS
<<informat ion model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal conf ig,
arbitrat e 61131Runt im e
t ransfer configs,
browse signals,
enable subscr.
upload
control logic
monit or
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
mult icast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
paramet ers
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
May 29, 2019 Slide 13
14. —
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<informat ion model>>
PLCOpen
OPC UA
LDS
<<informat ion model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal conf ig,
arbitrat e 61131Runt im e
t ransfer configs,
browse signals,
enable subscr.
upload
control logic
monit or
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
mult icast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
paramet ers
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
May 29, 2019 Slide 14
15. —
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<informat ion model>>
PLCOpen
OPC UA
LDS
<<informat ion model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal conf ig,
arbitrat e 61131Runt im e
t ransfer configs,
browse signals,
enable subscr.
upload
control logic
monit or
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
mult icast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
paramet ers
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
May 29, 2019 Slide 15
16. —
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<informat ion model>>
PLCOpen
OPC UA
LDS
<<informat ion model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal conf ig,
arbitrat e 61131Runt im e
t ransfer configs,
browse signals,
enable subscr.
upload
control logic
monit or
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
mult icast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
paramet ers
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
May 29, 2019 Slide 16
17. —
Controller
IEC 61131
Runtime Controller
OPC UA
Server
OPC UA
LDS
Field Device (Sensor / Actuator)
Device
OPC UA
Server
<<informat ion model>>
PLCOpen
OPC UA
LDS
<<informat ion model>>
OPC UA for Devices,
NAMUR NE131,
IEC 61987
PLCOpen
Comm.
Channel
Operations Server
Ethernet
Supervision
Plug-and-
Produce Service
Engineering Server
Engineering
Repository
Device
Management
Internet
Public Driver Repository
retrieve signal conf ig,
arbitrat e 61131Runt im e
t ransfer configs,
browse signals,
enable subscr.
upload
control logic
monit or
process
OPC UA LDS
UDP
Sub.
UDP
Pub.
UDP
Sub.
UDP
Pub.
mult icast
probe
& announce
exchange
signal
values
OPC UA OPC UA OPC UA
download
device driver,
device
paramet ers
retrieve
device
driver
HTTP
HTTP
OPC UA LDS
cyclic
signal
exchange
retrieve
engineering
data
exchange
signal
values
cyclic
signal
exchange
Reference
Architecture
Plug & Produce
May 29, 2019 Slide 17
Requirement 1:
Automated Network
Discovery
Requirement 2:
Standardized Device
Descriptions
Requirement 3:
Automated
Signal Matching
Requirement 4:
Real-time
Communication
Requirement 5:
Device Replacement
18. —
Reference
Architecture
Plug & Produce
May 29, 2019 Slide 18
newState = suspended
Plug-and-
Produce Service
Cont roller
OPC UA Server
Device
OPC UA Server
Device
UA Server X
get subscribed devices
from pub/ sub config in router
approve replacement get device configuration
device configuration
store device
configuration
stop device
change to simulat ion modeloop
newState = simulated
get signal configuration
matched Signals
for all subscribing devices
announce new device via mDNS
upload stored configuration
change to running modeloop
newState = running
remat ch signals
acknowledge
resume controller
change to suspend mode
1
2
3
4
19. —
Implementation
Plug & Produce
May 29, 2019 Slide 19
Level
Sensor
Temperature
Sensor
Commu-
nication
Boards
Power
Supply
Ethernet
Connection
20. —
60 – 90 minutes per device!
Commissioning
1) Place, connect sensor („plug“)
Production start („produce“)
Target: <10 sec per device!
21. —
Time for Typical Commissioning
Effort Comparison
May 29, 2019 Slide 21
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
22. —
Time for Typical Commissioning
Effort Comparison
May 29, 2019 Slide 22
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
23. —
Time for Typical Commissioning
Effort Comparison
May 29, 2019 Slide 23
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
24. —
Up to 90% reduced efforts for config
• Automated transfer of parameters
• Automated identification of devices
• Automated signal matching of devices
• Faster Ethernet communication
For a plant with 10,000 devices,
this can accumulate to 1500h time saving
(≈ 1 person year).
Time for Typical Commissioning
Effort Comparison
May 29, 2019 Slide 24
# Phases
Classic Approach
HART comm.
+ PC Tool Steps L M H
OpenPnP Approach
OPC UA comm. +
PnP Service Steps L M H
1 Prepare
replacing
Store config via HART,
unmount device
05:30 13:00 22:00 Store config via OPC
UA, unmount device
03:11 07:32 14:05
2 Mount the
device
physically
Prepare, use
accessories, fix the
device
05:00 20:00 40:00 Prepare, use
accessories, fix the
device
05:00 20:00 40:00
3 Connect
the cabling
Run cabling to device,
attach to device
05:30 09:00 21:00 Run cabling to device,
attach to device
05:30 09:00 21:00
4 Establish
basic
comm.
Power on, connect,
download device
package
00:43 01:18 03:38 Power on, network
discovery, connect via
OPC UA
00:11 00:21 00:46
5 Calibrate
the device
Manually use
calibration tool
00:00 03:00 04:30 Manually use
calibration tool
00:00 03:00 04:30
6 Set basic
parameters
Manually set basic
parameters via laptop
01:00 01:20 02:50 Automatically transfer
parameters
00:02 00:02 00:02
7 Set adv.
parameters
Manually set advanced
parameter via laptop
00:00 00:55 02:10 Manual set + automatic
transfer of parameters
00:00 00:12 00:42
8 Conduct
loop check
Set simulation value,
check loop back
00:20 00:40 01:10 Perform automatic
connection check
00:01 00:01 00:01
9 Integrate
device into
DCS
Map logic variables to
IO channels, download
logic
02:00 04:30 12:00 Discover controller, set
up, match signals, set
up communication
00:03 00:08 00:11
(Phase 1-9) 20:03 53:43 01:49:18 13:58 40:16 01:21:17
(Phase 1-3) 15:30 41:00 01:21:00 13:40 36:30 01:15:00
(Phase 4, 6-9) 04:33 09:43 00:23:48 00:18 00:46 00:01:47
Total sum
Installation time
Config time
25. —
Performance Measurements
Slide 25
CPU Utilization
Pub/sub:
40,000 signals/s
Client/server (1 client):
25,000 signals/s
Client/server (30 clients):
10,000 signals/sExemplary control use case
– 6,000 I/O points with 100ms updates (= 60,000 signals/s)
– 2 controllers share 8 field communication interfaces (FCIs)
Industrial
controllers
Sensors &
actuators
Field comm.
interfaces
… …
………
… …
May 29, 2019
CPU is bottleneck.
But good scalability even on small devices.
Clients/Subscribers:
Raspberry Pi 3, Model B,
Quad Core 1.2GHz 64bit CPU,
1GB RAM, RTLinux
Server/Publisher:
Raspberry Pi Zero,
1GHz single-core CPU,
512MB RAM, RTLinux
26. —
Summary
May 29, 2019 Slide 26
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
Reference architecture
that can be implemented with
many libraries
in many applications
Based on OPC UA technology
for the Internet-of-Things
Good effort reduction
for commissioning
and good scalability
Future work
- Handling data integrity
- Self-calibration
- Virtual commissioning
Editor's Notes
Recorded measurements from the first twenty seconds of each experiment are discarded to limit the analysis to the stable phase and ignore transient effects.
All experiments were repeated at least five times to rule out random effects caused by the testbed setup and, e.g., operating system processes.
We report results in the form of average values over the individual measurement repetitions.
Configuration: 100ms target publishing rate
C/S:
More than 30 client sessions led to error messages issued by the server, therefore, these measurements could not be finalized