OPC UA to DOOCS Bridge - accelconf.web.cern.ch · 2. PLC Publishes OPC UA Information Model...

Post on 23-Jun-2020

4 views 0 download

transcript

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 *falko.peters@desy.de, 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