1
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 Communication Logic Application Logic OPC UA DOOCS Server Application DOOCS Server Control Panel (jddd) Scripting, Prototyping (Matlab, Python) Data Storage (DAQ) OPC UA DOOCS Server Feedback DOOCS Server Pub/Sub DOOCS SET 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 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

OPC UA to DOOCS Bridge - accelconf.web.cern.ch · 2. PLC Publishes OPC UA Information Model Contains name/type information for objects, variables and methods. OBJECT MAIN - OBJECT

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OPC UA to DOOCS Bridge - accelconf.web.cern.ch · 2. PLC Publishes OPC UA Information Model Contains name/type information for objects, variables and methods. OBJECT MAIN - OBJECT

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