Vous êtes sur la page 1sur 87

Eclipse SCADA – an introduction

www.ibh-systems.com
2/87

What is SCADA?

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


3/87

What is SCADA?

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


4/87
What is SCADA?

»SCADA (Supervisory Control and


Data Acquisition) is defined as the
monitoring and control of
technichal processes by means of
a computer system«
(definition from german wikipedia)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


5/87

What is Eclipse SCADA?

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


6/87
What is Eclipse SCADA?

an open source SCADA platform


protocol implementations, server
components, client libraries, …
some utility projects
docdocdoc, »mavenizer«, …
tooling
OSTC, configurator, ...

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


7/87

aim

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


8/87
aim

to provide a comprehensive, state of the art


SCADA system, built on modern technologies
and open to interface with as many other
systems as possible
allow easy integration between hardware (field
devices) and business applications (e.g. ERP)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


9/87

a short history

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


10/87
a short history

started 2006 as openSCADA


1rst module: Utgard
native Java client library to connect to OPC
servers
still the most popular module
main emphasis: connectivity to legacy
hardware
after that more and more functionality added
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
11/87
a short history

What is OPC?
OLE for Process Control (OPC), which stands for Object
Linking and Embedding (OLE) for Process Control, is the
original name for a standards specification developed in
1996 by an industrial automation industry task force. The
standard specifies the communication of real-time plant
data between control devices from different
manufacturers. As of November 2011, the OPC Foundation
has officially renamed the acronym to mean "Open
Platform Communications"
(definition from wikipedia)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


12/87
a short history

Utgard uses LGPL licensed libraries, so it will


not be available within the Eclipse SCADA
project
other adapter implementations based on LGPL
software will have the same problem
→ openSCADA will continue to exist, providing
those implementations

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


13/87
a short history

June 2013
Eclipse SCADA proposed (based on
openSCADA)
Juli 2013
IBH SYSTEMS GmbH becomes Eclipse
foundation member

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


14/87

architecture
a high level overview

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


15/87
architecture – a high level overview

Data Access (DA)


Alarms & Events (AE)
Historical Data (HD)
Configuration (CA)
GUI/HMI (VI)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


16/87
architecture – a high level overview

Data Access (DA)


deals with »real-time« (not hard real-time!)
data
handles single scalar values
Alarms & Events (AE)
handles process alarms, operator actions,
responses generated by the system,
informational messages, auditing messages

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


17/87
architecture – a high level overview

Historical Data (HD)


deals with recording values (provided by DA)
and archiving these for later retrieval
Configuration (CA)
handles creation of configurations for the
server components, reconfiguration of the
running system
GUI/HMI (VI)
provides GUI components, based on Draw2D
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
18/87
architecture – a high level overview

central to all functions: DA (Data Access)


all other functionality is based on the values
provided by it

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


19/87
architecture – a high level overview

GUI (VI)
can be within master
DA AE HD
The Big Picture

Master DA HD
can be within master

DA

Driver
we tend to
separate
these
Field Devices
components
for reliability
reasons

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


20/87
architecture – a high level overview

time for some Eclipse SCADA terminology

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


21/87
architecture – a high level overview
Terminology

Driver (DA)
a protocol adapter, converts device specific
protocol (for instance modbus) into the
Eclipse SCADA protocol(s) (for instance ngp)
Tag, Item, Data Point, DataItem
a singular scalar value provided by a device
or server, identified by a name

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


22/87
architecture – a high level overview
Terminology

Field Device
controls local operations such as opening
and closing valves and breakers, collecting
data from sensor systems (for instance a
data logger or a PLC), speaks some protocol
Master Server (DA, AE, [HD])
central server component, provides
additional functionality based on →DataItems
such as alarm generation
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
23/87

architecture: DA

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


24/87
architecture: DA

The way of a value from sensor to GUI

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


25/87
architecture: DA
The way of a value from sensor to GUI

Sensors Field Device Driver M

DataItem
calibrated temperature
Thermometer current register: 32001
register: 32001
→ meteo.temperature

calibrated solar DataItem


Eclipse SCADA o
Pyranometer voltage Datalogger radiation modbus register:32003 da:ngp
modbus driver m
register:32003 → meteo.glbsolrad

Device specific protocol

Eclipse SCADA protocol


DataItem
calibrated wind velocity
Anemometer voltage register: 32005
register:32005
→ meteo.windvelocity

MasterItem
MY.NS.MET.0
→ MY.NS.MET

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH

aling
ock
26/87
architecture: DA
The way of a value from sensor to GUI

Driver Master Server GU

DataItem DataItemDataSource MasterItem DataSourceDataItem


register: 32001 meteo.temperature MY.NS.MET.001.M8030.V.source MY.NS.MET.001.M8030.V.master
→ meteo.temperature → MY.NS.MET.001.M8030.V.source → MY.NS.MET.001.M8030.V.master → MY.NS.MET.001.M8030.V

DataItem DataItemDataSource MasterItem DataSourceDataItem


Eclipse SCADA openSCADA
modbus register:32003 da:ngp meteo.glbsolrad MY.NS.MET.001.M8031.V.source MY.NS.MET.001.M8031.V.master da:ngp Clie
modbus driver master server
→ meteo.glbsolrad → MY.NS.MET.001.M8031.V.source → MY.NS.MET.001.M8031.V.master → MY.NS.MET.001.M8031.V
Device specific protocol

Eclipse SCADA protocol


Eclipse SCADA protocol

DataItem DataItemDataSource MasterItem DataSourceDataItem


register: 32005 meteo.windvelocity MY.NS.MET.001.M8032.V.source MY.NS.MET.001.M8032.V.master
→ meteo.windvelocity → MY.NS.MET.001.M8032.V.source → MY.NS.MET.001.M8032.V.master → MY.NS.MET.001.M8032.V

MasterItem LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.hh


MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.ll

LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level. ...


Manual Override

Summary
Markers
Scaling

Scaling

Scaling
Negate

Round
Block

Scale

BitMonitor → MY.NS.MET.001.M8032.V.master.monitor.bit

ListMonitor → MY.NS.MET.001.M8032.V.master.monitor.list

ScriptMonitor → MY.NS.MET.001.M8032.V.master.monitor.script

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS


MasterItem Handlers Monitors
provide additional functionality to wrapped item GmbH
operate on DataSources, creating alarms & events
27/87
Master Server architecture: DAGUI
m
The way of a value from sensor to GUI
DataItemDataSource MasterItem DataSourceDataItem
001 meteo.temperature MY.NS.MET.001.M8030.V.source MY.NS.MET.001.M8030.V.master
erature M
→ MY.NS.MET.001.M8030.V.source → MY.NS.MET.001.M8030.V.master → MY.NS.MET.001.M8030.V

m DataItemDataSource MasterItem DataSourceDataItem


003 da:ngp openSCADA da:ngp
meteo.glbsolrad MY.NS.MET.001.M8031.V.source MY.NS.MET.001.M8031.V.master Client
olrad master server M
→ MY.NS.MET.001.M8031.V.source → MY.NS.MET.001.M8031.V.master → MY.NS.MET.001.M8031.V
Eclipse SCADA protocol

Eclipse SCADA protocol


m DataItemDataSource MasterItem DataSourceDataItem
005 meteo.windvelocity MY.NS.MET.001.M8032.V.source MY.NS.MET.001.M8032.V.master
elocity M
→ MY.NS.MET.001.M8032.V.source → MY.NS.MET.001.M8032.V.master → MY.NS.MET.001.M8032.V

MasterItem LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.hh


MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.ll

LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level. ...


Manual Override

Summary
Markers
Scaling

Scaling

Scaling
Negate

Round
Block

Scale

BitMonitor → MY.NS.MET.001.M8032.V.master.monitor.bit

ListMonitor → MY.NS.MET.001.M8032.V.master.monitor.list

ScriptMonitor → MY.NS.MET.001.M8032.V.master.monitor.script

MasterItem Handlers Monitors


provide additional functionality to wrapped item operate on DataSources, creating alarms & events

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


28/87
architecture: DA
The way of a value from sensor to GUI

GUI

MasterItem DataSourceDataItem
DataItem
MY.NS.MET.001.M8030.V.source MY.NS.MET.001.M8030.V.master
MY.NS.MET.001.M8030.V
→ MY.NS.MET.001.M8030.V.master → MY.NS.MET.001.M8030.V

MasterItem DataSourceDataItem
da:ngp DataItem
MY.NS.MET.001.M8031.V.source MY.NS.MET.001.M8031.V.master Client
MY.NS.MET.001.M8031.V
→ MY.NS.MET.001.M8031.V.master → MY.NS.MET.001.M8031.V

Eclipse SCADA protocol


MasterItem DataSourceDataItem
DataItem
MY.NS.MET.001.M8032.V.source MY.NS.MET.001.M8032.V.master
MY.NS.MET.001.M8032.V
→ MY.NS.MET.001.M8032.V.master → MY.NS.MET.001.M8032.V

LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.hh

LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.ll

LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level. ...


05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
mary

BitMonitor → MY.NS.MET.001.M8032.V.master.monitor.bit
29/87
architecture: DA
The way of a value from sensor to GUI

Sensors Field Device Driver Master Server GUI

DataItem DataItemDataSource MasterItem DataSourceDataItem


calibrated temperature DataItem
Thermometer current register: 32001 meteo.temperature MY.NS.MET.001.M8030.V.source MY.NS.MET.001.M8030.V.master
register: 32001 MY.NS.MET.001.M8030.V
→ meteo.temperature → MY.NS.MET.001.M8030.V.source → MY.NS.MET.001.M8030.V.master → MY.NS.MET.001.M8030.V

calibrated solar DataItem DataItemDataSource MasterItem DataSourceDataItem


Eclipse SCADA openSCADA DataItem
Pyranometer voltage Datalogger radiation modbus register:32003 da:ngp meteo.glbsolrad MY.NS.MET.001.M8031.V.source MY.NS.MET.001.M8031.V.master da:ngp Client
modbus driver master server MY.NS.MET.001.M8031.V
register:32003 → meteo.glbsolrad → MY.NS.MET.001.M8031.V.source → MY.NS.MET.001.M8031.V.master → MY.NS.MET.001.M8031.V
Device specific protocol

Eclipse SCADA protocol


Eclipse SCADA protocol
DataItem DataItemDataSource MasterItem DataSourceDataItem
calibrated wind velocity DataItem
Anemometer voltage register: 32005 meteo.windvelocity MY.NS.MET.001.M8032.V.source MY.NS.MET.001.M8032.V.master
register:32005 MY.NS.MET.001.M8032.V
→ meteo.windvelocity → MY.NS.MET.001.M8032.V.source → MY.NS.MET.001.M8032.V.master → MY.NS.MET.001.M8032.V

MasterItem LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.hh


MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level.ll

LevelMonitor → MY.NS.MET.001.M8032.V.master.monitor.level. ...

Manual Override

Summary
Markers
Scaling
Scaling

Scaling
Negate

Round
Block

Scale
BitMonitor → MY.NS.MET.001.M8032.V.master.monitor.bit

Modbus Driver (DA server interface)


ListMonitor → MY.NS.MET.001.M8032.V.master.monitor.list

ScriptMonitor → MY.NS.MET.001.M8032.V.master.monitor.script

MasterItem Handlers Monitors


provide additional functionality to wrapped item operate on DataSources, creating alarms & events

Master Server (DA client + DA server interface)


GUI (DA client interface)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


30/87
architecture: DA

the admin client (OSTC)


a generic client to browse
and watch live values
(in driver or master server)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


31/87
architecture: DA

Item Value

a da:ngp connection

Attributes

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


32/87
architecture: DA

DA protocol vs. interface

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


33/87
architecture: DA
DA protocol vs. interface

DA defines two things:


a Java API, which is independent from the
underlying protocol
a protocol
actually there are 3 protocols:
da:net (gmpp) – the old protocol
da:ngp – the new protocol
da:sfp – a new protocol for resource
constrained devices
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
34/87
architecture: DA
DA protocol vs. interface

the DA Java interface consists of


a client interface
a visual client uses this interface
a server interface
a »driver« is a specific implementation of
the server interface
the server interface is called a »hive«

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


35/87
architecture: DA
DA protocol vs. interface

OSTC
(uses DA client API)
Simple Example

DA protocol

SNMP driver
(uses DA server API)

device specific protocol


here: SNMP
SNMP enabled
device

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


36/87
architecture: DA
DA protocol vs. interface

Java interface (mostly) independent from


protocol
→ protocol can be changed without changing
client or server code
protocol is defined separately, not Java specific
→ protocol can be implemented with any
other technology

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


37/87
architecture: DA
DA protocol vs. interface

though obviously no complete independence,


when features get added, so protocol and API
has to be changed

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


38/87
architecture: DA
DA protocol vs. interface

OSTC
(uses DA client API)
GMPP/NET NGP SFP
DA Protocol

GMPP/NET NGP SFP


SNMP driver
(uses DA server API)
SNMP

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


39/87
architecture: DA

available drivers

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


40/87
architecture: DA

included protocols:
modbus, SNMP, JDBC, »exec« (shell scripts),
Siemens S7
available through openSCADA:
OPC
available on request:
custom implementations, proprietary drivers
for: card readers, flow controllers, density
meters, scales, ...
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
41/87

The »master« server


(DA)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


42/87
The master server: DA

OSTC
(uses DA client API) master »enriches«
DA protocol data coming from a
„master“ server
driver
(uses DA server+client API)
additional
DA protocol
functionality (e.g. AE)
SNMP driver
(uses DA server API) security
device specific
protocol here: SNMP
SNMP enabled
device

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


43/87
The master server: DA

is:
based on OSGi
runtime configurable
is used for
renaming (customer specific namespace)
aggregation (summary alarms)
access control

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


44/87
The master server: DA

Client

function blocks within


DataSourceDataItem
master can be
Scaling chained
Negate
additionally
MasterItem Manual Values
»MasterItem«
...
supports handlers,
which operate on one
DataItemDataSource item at a time

Driver

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


45/87

The »master« server


(AE)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


46/87
The master server: AE

Client

a monitor has a state,


DataSourceDataItem
based on 1 or more
Monitors
input values
Eventpools

creates events
MasterItem
Scaling
may need to be
Negate
acknowledged
Manual Values

DataItemDataSource
events can be
buffered in event
Driver pool
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
47/87
The master server: AE

Level Monitor (Max, HH, H, L, LL, Min; local and


remote)
Bit Monitor
List Monitor
Script Monitor

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


48/87
The master server: AE

Monitor is a state machine


OK, NOT_OK & ACK required, ACK not required
OK, WARN, ALARM
Demotion (ALARM becomes WARN)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


49/87
The master server: AE

events are saved in storage (normally


database)
event has some common properties, and any
number of custom ones
events are held in configurable buffer (pool) to
supply client immediately with latest ones
past events can be queried using simple ldap
like syntax

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


50/87

The HD server
(HD)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


51/87
The master server: HD

HD subscribes on DA
HMI

HD
permanent update on
live values
Master DA HD
can be integrated in
master server
we tend to
separate it from
the master

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


52/87
The master server: HD

storage abstracted
at the moment a file system based storage is
available
can keep actual values, without interpolation,
for some time
comprehension after defined timespan

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


53/87

Configuration - CA

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


54/87
Configuration: CA

point & click easy for 1, 10, 100?, 1000???


items, but doesn't scale pretty soon
past projects had 20,000 to 50,000 items
→ manual config not feasible
configuration framework, based on EMF
world model, application model, device
model, custom model
external sources, »IO-Lists« from 3rd parties

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


55/87
Configuration: CA

automatic generation of IO-Lists as ODF


document
hooks for creating customer system
documentation

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


56/87
Configuration: CA

master server configuration can be changed at


runtime
creation and deployment is separated
OSTC used to apply configuration
diff view
same security applies as for the rest of the
system, separate role may be used for
configuration change

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


57/87

GUI
(VI)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


58/87
GUI: VI

openSCADA Admin client (OSTC) to access drivers,


master, hd server
item (tags) in tree, A&E, HD Trend, configuration
OSVI to load and run UI (bundled as p2 package)
still pretty rough at the moment
customers often require specific clients, including
business functions
→ Eclipse SCADA in production

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


59/87
GUI: VI

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


60/87

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


61/87
GUI: VI

declarative UI using EMF


scriptable with Javascript
only a few available entry points (onUpdate,
onInit, …)
symbols can contain other symbols
properties are propagated to the innermost
element
simple but very flexible
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
62/87
GUI: VI

no GUI editor yet


steep but short learning curve, only a few
concepts

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


63/87

Eclipse SCADA in production


(actually openSCADA)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


64/87
Eclipse SCADA in production

VIMS
(Versand-
Informations-
System)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


65/87
Eclipse SCADA in production: OMV

Automation of all 5 tank farms in Austria & 1


near Sofia (Bulgaria)
largely reused existing hardware
integrated in existing OMV business processes

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


66/87
Eclipse SCADA in production: OMV

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


67/87
Eclipse SCADA in production: OMV

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


68/87
Eclipse SCADA in production

PVSCADA: integrated monitoring and control


solution of all E.ON solar plants

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


69/87
Eclipse SCADA in production: EON

integration of existing hardware (inverters.


meters, meteo stations, network equipment)
limited bandwidth available (3G, satellite
uplink)
security requirements: cryptographically
signed user actions via a PKI
distributed control rooms
involved in development

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


70/87
Eclipse SCADA in production: EON

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


71/87
Eclipse SCADA in production: EON

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


72/87

hierachical architecture
example

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


73/87
hierachical architecture: example

Global control center

Regional control centers

Local control centers

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


74/87
hierachical architecture: example

relevant items are mirrored from local master


server to regional master to global
Alarms are maybe proxied completely,
alternatively just summary alarm, or one
summary alarm per device
in need of more information, higer level
operator will connect directly to site
→ reduced traffic in difficult network
environments
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
75/87

project repository structure

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


76/87
project repository structure
current

Dakara Othala Orion


UI toolkit Admin client Eclipse plugins, tooling

Deploy Orilla
Configuration tools common UI components

Atlantis
core, non UI library

opcdriver jdbcdriver snmpdriver otherdriver

server client

common

Oxygen
protocol implementations

Utgard Aurora Infinity


OPC DA connectivity common utility classes SWT Time Series Chart

j-interop
DCOM library

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


77/87
project repository structure
scada client future
(othala/OSTC)

HMI toolkit IDE components


(dakara) (orion, configuration)

HMI components scada drivers


(orilla) (oxygen, atlantis)
key:
UI libraries

scada base
non UI libraries
(atlantis)
no Eclipse SCADA
specific dependencies

scada sec scada interfaces protocols


(aurora) (aurora, atlantis) (oxygen)

release engineering

TimeSeriesChart base utils


releng
(infinity) (aurora)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


78/87
project repository structure
scada client future
(othala/OSTC) relationship to openSCADA

HMI toolkit IDE components openSCADA


(dakara) (orion, configuration)
specific drivers

HMI components scada drivers scada drivers+


(orilla) (oxygen, atlantis) (atlantis: opc driver)
key:
UI libraries

scada base
non UI libraries
(atlantis)
no Eclipse SCADA
specific dependencies

scada sec scada interfaces protocols protocols+


(aurora) (aurora, atlantis) (oxygen) (utgard)

release engineering

TimeSeriesChart base utils


releng
(infinity) (aurora)

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


79/87
project repository structure

the basic idea is, for development, it should be


possible to do so without checking out all of
Eclipse SCADA
only protocol: 2 repositories
only driver: 5 repositories
only GUI: 4 repositories + libs as p2
complete Eclipse SCADA checkout: ca 400
projects in IDE, 360,000 loc

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


80/87
project repository structure

very fine granularity


client api separated from server api
for each of da, ae, hd, ca there is
interface - api
core – some abstract impl
common – basic functionality
impl – one or more impl of above
GUI components are extracted in smallest possible
elements → reusable in custom client app
05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
81/87

next steps

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


82/87
next steps

proposal entered creation phase


until end of year release of first complete
Eclipse SCADA version (not 1.0)
finish SFP (small footprint protocol)
finish rewrite of configurator
finish mqtt adapter
new protocols?

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


83/87

thank you for your attention

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


84/87

more information
www.openscada.org
www.eclipse.org/proposals/technology.eclipsescada/

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


85/87

IBH SYSTEMS GmbH


Läutenring 43
85235 Pfaffenhofen an
der Glonn
T: +49.89.189 17 49 0
F: +49.89.189 17 49 29
info@ibh-systems.com
http://ibh-systems.com

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


86/87
sources

Green Mamba, »gui(10)« December 15, 2010 via Flickr, Creative Commons Attribution.

Green Mamba, »gui(18)« December 15, 2010 via Flickr, Creative Commons Attribution.

AdAstraRG, »TRACE MODE SCADA HMI Development system« September 1, 2011 via Wikimedia Commons, Creative Commons Attribution.

Cheremnykh Dmitry, »SCADA HMI software operator interface« August 31, 2011 via Wikimedia Commons, Creative Commons Attribution.

Stefan Kühn, »Schalenkreuzanemometer« May 13, 2004 via Wikimedia Commons, Creative Commons Attribution.

Lumos3, »A Maximum Minimum thermometer« March 20, 2006 via Wikimedia Commons, Creative Commons Attribution.

Avisaro AG, »Data logger Cube storing technical and sensor data« June 10, 2010 via Wikimedia Commons, Creative Commons Attribution.

Arne Nordmann, » Illustration of a wind turbine.« February, 2007 via Wikimedia Commons, Creative Commons Attribution.

RRZEicons »user, expert, workstation«, November 17, 2009 via Wikimedia Commons, Creative Commons Attribution.

Harbin »BlankMap-World-v2.svg«, February 26, 2011 via Wikimedia Commons, Creative Commons Attribution.

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH


87/87
disclaimer

All company/product names and service marks may be trademarks or registered trademarks of their respective companies

05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH

Vous aimerez peut-être aussi