2. PLC Publishes OPC UA
Information Model
Contains name/type information for
objects, variables and methods.
OBJECT MAIN - OBJECT fbAmp1 - OBJECT fbPower - VARIABLE iValue INT16 - VARIABLE iPublicMin INT16 - METHOD setPublic - INPUTARGUMENT iMin INT16 - INPUTARGUMENT iMax INT16 - OUTPUTARGUMENT returnValue BOOL - OBJECT fbVoltage - VARIABLE bError BOOL - OBJECT fbPreAmp1 - ...
1. PLC Programm with
Objects, Variables, Methods
Written in Structured Text or other
programming languages. FUNCTION_BLOCK FB_Amp
VAR fbPower : FB_Element; bError AT%Q* : BOOL; END_VAR FUNCTION_BLOCK FB_Element ... VAR iValue AT%I* : INT; iPublicMin : INT; iPublicMax : INT; END_VAR
OPC UA to DOOCS Server Architecture
Performance Metrics
Device-Specific Communication
OPC UA-Based Communication
DOOCS-Based Feedback: Round-Trip Time vs. PLC Cycle Time
Digital and analog input signals.
OPC UA to DOOCS Bridge: A Tool for Automated Integration of Industrial Devices into the Accelerator Control Systems at FLASH and European XFEL.
Open Platform Communication Unified Architecture (OPC UA) A machine to machine communication protocol
for industrial automation.
• Open - freely available and implementable
without restrictions or fees
• Cross-platform - not tied to one operating
system or programming language
• Focus on communicating with industrial
equipment and systems for data collection
and control
• Robust security (Encryption, Authentication)
• Integrated information model
• Service-oriented architecture (SOA)
F. Peters*, I. Hartl, C. Mohr, L. Winkelmann, DESY, Hamburg, Germany *[email protected], Deutsches Elektronen-Synchrotron (DESY), Notkestrasse 85, 22607 Hamburg, Germany
Feedback: Behavior Under Load
DOOCS Server DOOCS Server Communication Logic Application Logic
OPC UA
DOOCS Server
OPC UA
DOOCS Server
Application
DOOCS Server
Application
DOOCS Server
Control Panel (jddd) Control Panel (jddd)
Scripting, Prototyping
(Matlab, Python)
Scripting, Prototyping
(Matlab, Python)
Data Storage (DAQ) Data Storage (DAQ)
OPC UA
DOOCS
Server
OPC UA
DOOCS
Server
Feedback
DOOCS
Server
Feedback
DOOCS
Server Pub/Sub
DOOCS SET
Beckhoff
PLC
Beckhoff
PLC
OPC UA
3. DOOCS Properties
Generated from Information
Model Types matching PLC objects, variables,
methods.
5. Event-Based OPC UA Communication
4. jddd Control Panel
Objects, variables, methods integrated in
control system, here displayed in user
interface.
Pub/Sub
GET/SET
OPC-UA Device OPC-UA
DOOCS Server
Application
DOOCS Server jDDD Control Panel
Input Change
Set Property Set Node Output Change
Get Property
Set Node
DataChange Event Push
Set Property
Output Change
User Interaction
Front-End Device Front-End Device
Device
Properties
OPC UA
Server
Every new hardware needs
a communication module
implementing the device‘s
protocol as part of its
DOOCS integration.
Output Signal
Input Signal
Test parameters:
• Beckhoff CX5140 PLC
• 2 Hz square input signal, sweep 0.2 Hz.
• Client update-period 1ms.
• Measure rising-edge delay between
input and output signals.
Test results:
• Round-trip time is proportional to PLC
cycle time in the measured range.
• 10 Hz feedback requires
cycle time <= 20ms
Test results:
• Round-trip time remains constant until the system is „overloaded“.
• System load with 1000 variables: ~70% CPU, ~13MB/s ethernet.
Conclusions:
• CPU load is the limiting factor for scaling.
• Code performance improvements might be possible.
• Using many small variables is a „worst-case“ scenario. Arrays or
other „large“ variable types are more efficient.
Test parameters:
• Same set-up as
before.
• Fixed PLC cycle
time 10 ms.
• Changing number
of 16bit variables
that update with
changing input
signal.
FLASH and European XFEL: Free-Electron Laser Facilities
By separating communication
and application logic, the
communication module can
be device-agnostic and is
reusable. The device‘s
properties are dynamically
generated and available as
DOOCS properties.
Round-Trip Time (ms)
0
100
200
PLC Cycle Time (ms)
0 20 40
Round-Trip Time (avg, min, max)
Slope = 3.52
Time between Bursts (10 Hz)
Round-Trip Time (ms)0
50
100
Number of OPC UA Variables
1 10 100 1000
Round-Trip Time (avg, min, max)
at PLC Cycle Time = 10ms
ADC
DAC
• European XFEL: 3.4km • FLASH: 300m • DOOCS control system
• 1000s of devices • 100s of computer nodes
• Devices are mix of • Commercial • In-house development • Collaborator’s contribution