4. 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)
6. 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, ...
8. 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)
10. 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
11. 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)
12. 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
13. 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
14. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
14/87
architecture
a high level overview
15. 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)
16. 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
17. 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
18. 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
19. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
19/87
architecture – a high level overview
TheBigPicture
GUI (VI)
Driver
Field Devices
Master
DA
AEDA
HDDA
HD
can be within master
can be within master
we tend to
separate
these
components
for reliability
reasons
20. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
20/87
architecture – a high level overview
time for some Eclipse SCADA terminology
21. 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
22. 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
24. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
24/87
architecture: DA
The way of a value from sensor to GUI
25. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
25/87
architecture: DA
The way of a value from sensor to GUI
Pyranometer
Anemometer
Thermometer
Datalogger
calibrated temperature
register: 32001
calibrated solar
radiation
register:32003
calibrated wind velocity
register:32005
current
voltage
voltage
Eclipse SCADA
modbus driver
modbus
DataItem
register: 32001
→ meteo.temperature
DataItem
register:32003
→ meteo.glbsolrad
DataItem
register: 32005
→ meteo.windvelocity
o
m
da:ngp
MasterItem
MY.NS.MET.0
→ MY.NS.MET
alingock
Sensors Field Device Driver M
Devicespecificprotocol
EclipseSCADAprotocol
26. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
26/87
Eclipse SCADA
modbus driver
modbus
DataItem
register: 32001
→ meteo.temperature
DataItem
register:32003
→ meteo.glbsolrad
DataItem
register: 32005
→ meteo.windvelocity
openSCADA
master server
DataItemDataSource
meteo.temperature
→ MY.NS.MET.001.M8030.V.source
DataItemDataSource
meteo.glbsolrad
→ MY.NS.MET.001.M8031.V.source
DataItemDataSource
meteo.windvelocity
→ MY.NS.MET.001.M8032.V.source
da:ngp
MasterItem
MY.NS.MET.001.M8030.V.source
→ MY.NS.MET.001.M8030.V.master
MasterItem
MY.NS.MET.001.M8031.V.source
→ MY.NS.MET.001.M8031.V.master
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
DataSourceDataItem
MY.NS.MET.001.M8030.V.master
→ MY.NS.MET.001.M8030.V
DataSourceDataItem
MY.NS.MET.001.M8031.V.master
→ MY.NS.MET.001.M8031.V
DataSourceDataItem
MY.NS.MET.001.M8032.V.master
→ MY.NS.MET.001.M8032.V
da:ngp Clie
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
Scaling
ManualOverride
Block
Scaling
Negate
Markers
Scaling
Scale
Round
Summary
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. ...→
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
provide additional functionality to wrapped item
Monitors
operate on DataSources, creating alarms & events
Driver Master Server GU
Devicespecificprotocol
EclipseSCADAprotocol
EclipseSCADAprotocol
architecture: DA
The way of a value from sensor to GUI
27. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
27/87
architecture: DA
The way of a value from sensor to GUIm
001
erature
m
003
olrad
m
005
elocity
openSCADA
master server
DataItemDataSource
meteo.temperature
→ MY.NS.MET.001.M8030.V.source
DataItemDataSource
meteo.glbsolrad
→ MY.NS.MET.001.M8031.V.source
DataItemDataSource
meteo.windvelocity
→ MY.NS.MET.001.M8032.V.source
da:ngp
MasterItem
MY.NS.MET.001.M8030.V.source
→ MY.NS.MET.001.M8030.V.master
MasterItem
MY.NS.MET.001.M8031.V.source
→ MY.NS.MET.001.M8031.V.master
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
DataSourceDataItem
MY.NS.MET.001.M8030.V.master
→ MY.NS.MET.001.M8030.V
DataSourceDataItem
MY.NS.MET.001.M8031.V.master
→ MY.NS.MET.001.M8031.V
DataSourceDataItem
MY.NS.MET.001.M8032.V.master
→ MY.NS.MET.001.M8032.V
da:ngp Client
M
M
M
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
Scaling
ManualOverride
Block
Scaling
Negate
Markers
Scaling
Scale
Round
Summary
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. ...→
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
provide additional functionality to wrapped item
Monitors
operate on DataSources, creating alarms & events
Master Server GUI
EclipseSCADAprotocol
EclipseSCADAprotocol
28. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
28/87
architecture: DA
The way of a value from sensor to GUI
MasterItem
MY.NS.MET.001.M8030.V.source
→ MY.NS.MET.001.M8030.V.master
MasterItem
MY.NS.MET.001.M8031.V.source
→ MY.NS.MET.001.M8031.V.master
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
DataSourceDataItem
MY.NS.MET.001.M8030.V.master
→ MY.NS.MET.001.M8030.V
DataSourceDataItem
MY.NS.MET.001.M8031.V.master
→ MY.NS.MET.001.M8031.V
DataSourceDataItem
MY.NS.MET.001.M8032.V.master
→ MY.NS.MET.001.M8032.V
da:ngp Client
DataItem
MY.NS.MET.001.M8030.V
DataItem
MY.NS.MET.001.M8031.V
DataItem
MY.NS.MET.001.M8032.V
mary
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. ...→
BitMonitor MY.NS.MET.001.M8032.V.master.monitor.bit→
GUI
EclipseSCADAprotocol
29. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
29/87
architecture: DA
The way of a value from sensor to GUI
Modbus Driver (DA server interface)
Master Server (DA client + DA server interface)
GUI (DA client interface)
Pyranometer
Anemometer
Thermometer
Datalogger
calibrated temperature
register: 32001
calibrated solar
radiation
register:32003
calibrated wind velocity
register:32005
current
voltage
voltage
Eclipse SCADA
modbus driver
modbus
DataItem
register: 32001
→ meteo.temperature
DataItem
register:32003
→ meteo.glbsolrad
DataItem
register: 32005
→ meteo.windvelocity
openSCADA
master server
DataItemDataSource
meteo.temperature
→ MY.NS.MET.001.M8030.V.source
DataItemDataSource
meteo.glbsolrad
→ MY.NS.MET.001.M8031.V.source
DataItemDataSource
meteo.windvelocity
→ MY.NS.MET.001.M8032.V.source
da:ngp
MasterItem
MY.NS.MET.001.M8030.V.source
→ MY.NS.MET.001.M8030.V.master
MasterItem
MY.NS.MET.001.M8031.V.source
→ MY.NS.MET.001.M8031.V.master
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
DataSourceDataItem
MY.NS.MET.001.M8030.V.master
→ MY.NS.MET.001.M8030.V
DataSourceDataItem
MY.NS.MET.001.M8031.V.master
→ MY.NS.MET.001.M8031.V
DataSourceDataItem
MY.NS.MET.001.M8032.V.master
→ MY.NS.MET.001.M8032.V
da:ngp Client
DataItem
MY.NS.MET.001.M8030.V
DataItem
MY.NS.MET.001.M8031.V
DataItem
MY.NS.MET.001.M8032.V
MasterItem
MY.NS.MET.001.M8032.V.source
→ MY.NS.MET.001.M8032.V.master
Scaling
ManualOverride
Block
Scaling
Negate
Markers
Scaling
Scale
Round
Summary
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. ...→
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
provide additional functionality to wrapped item
Monitors
operate on DataSources, creating alarms & events
Sensors Field Device Driver Master Server GUI
Devicespecificprotocol
EclipseSCADAprotocol
EclipseSCADAprotocol
30. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
30/87
the admin client (OSTC)
a generic client to browse
and watch live values
(in driver or master server)
architecture: DA
31. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
31/87
a da:ngp connection
Item Value
Attributes
architecture: DA
32. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
32/87
architecture: DA
DA protocol vs. interface
33. 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
34. 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«
35. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
35/87
architecture: DA
DA protocol vs. interface
OSTC
(uses DA client API)
SimpleExample
SNMP driver
(uses DA server API)
SNMP enabled
device
DA protocol
device specific protocol
here: SNMP
36. 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
37. 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
38. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
38/87
architecture: DA
DA protocol vs. interface
DAProtocol
OSTC
(uses DA client API)
SNMP driver
(uses DA server API)
GMPP/NET NGP
GMPP/NET NGP
SFP
SFP
SNMP
39. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
39/87
architecture: DA
available drivers
40. 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, ...
41. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
41/87
The »master« server
(DA)
42. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
42/87
The master server: DA
OSTC
(uses DA client API)
SNMP driver
(uses DA server API)
SNMP enabled
device
DA protocol
device specific
protocol here: SNMP
„master“ server
(uses DA server+client API)
DA protocol
master »enriches«
data coming from a
driver
additional
functionality (e.g. AE)
security
43. 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
44. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
44/87
Client
Driver
DataItemDataSource
DataSourceDataItem
MasterItem
Scaling
Negate
Manual Values
...
The master server: DA
function blocks within
master can be
chained
additionally
»MasterItem«
supports handlers,
which operate on one
item at a time
45. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
45/87
The »master« server
(AE)
46. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
46/87
The master server: AE
a monitor has a state,
based on 1 or more
input values
creates events
may need to be
acknowledged
events can be
buffered in event
pool
Client
Driver
DataItemDataSource
DataSourceDataItem
MasterItem
Scaling
Negate
Manual Values
Monitors
Eventpools
47. 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
48. 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)
49. 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
51. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
51/87
The master server: HD
HD subscribes on DA
permanent update on
live values
can be integrated in
master server
we tend to
separate it from
the master
HMI
Master HDDA
HD
52. 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
54. 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
55. 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
56. 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
58. 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
61. 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
62. 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
63. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
63/87
Eclipse SCADA in production
(actually openSCADA)
64. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
64/87
Eclipse SCADA in production
VIMS
(Versand-
Informations-
System)
65. 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
66. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
66/87
Eclipse SCADA in production: OMV
67. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
67/87
Eclipse SCADA in production: OMV
68. 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
69. 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
70. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
70/87
Eclipse SCADA in production: EON
71. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
71/87
Eclipse SCADA in production: EON
72. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
72/87
hierachical architecture
example
73. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
73/87
hierachical architecture: example
Local control centers
Regional control centers
Global control center
74. 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
75. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
75/87
project repository structure
76. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
76/87
project repository structure
current
Atlantis
core, non UI library
Utgard
OPC DA connectivity
j-interop
DCOM library
common
Aurora
common utility classes
Oxygen
protocol implementations
opcdriver
server client
Orilla
common UI components
Infinity
SWT Time Series Chart
Deploy
Configuration tools
Dakara
UI toolkit
Othala
Admin client
Orion
Eclipse plugins, tooling
snmpdriverjdbcdriver otherdriver
77. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
77/87
project repository structure
future
base utils
(aurora)
scada base
(atlantis)
protocols
(oxygen)
scada drivers
(oxygen, atlantis)
TimeSeriesChart
(infinity)
scada client
(othala/OSTC)
HMI toolkit
(dakara)
IDE components
(orion, configuration)
scada interfaces
(aurora, atlantis)
HMI components
(orilla)
scada sec
(aurora)
releng
release engineering
no Eclipse SCADA
specific dependencies
non UI libraries
UI libraries
key:
78. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
78/87
project repository structure
future
relationship to openSCADA
base utils
(aurora)
scada base
(atlantis)
protocols
(oxygen)
scada drivers
(oxygen, atlantis)
TimeSeriesChart
(infinity)
scada client
(othala/OSTC)
HMI toolkit
(dakara)
IDE components
(orion, configuration)
scada interfaces
(aurora, atlantis)
HMI components
(orilla)
scada sec
(aurora)
releng
release engineering
no Eclipse SCADA
specific dependencies
non UI libraries
UI libraries
key:
scada drivers+
(atlantis: opc driver)
protocols+
(utgard)
openSCADA
specific drivers
79. 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
80. 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→
82. 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?
83. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
83/87
thank you for your attention
84. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
84/87
more information
www.openscada.org
www.eclipse.org/proposals/technology.eclipsescada/
85. 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
86. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
86/87
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.
sources
87. 05.07.13 Eclipse SCADA - an introduction · IBH SYSTEMS GmbH
87/87
All company/product names and service marks may be trademarks or registered trademarks of their respective companies
disclaimer