SlideShare a Scribd company logo
Eclipse NeoSCADA™ 0.3
An overview
2016-08-03
A little bit of background ...
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
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
(translated definition from German wikipedia)
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
What is SCADA?
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
What is Eclipse NeoSCADA?
■ In short: Eclipse NeoSCADA is an implementation
of a SCADA system based on the Java platform
■ an open source SCADA platform
■ protocol implementations, server components, client
libraries, …
■ some utility projects
■ tooling
■ ESAC, configurator, ...
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Eclipse NeoSCADA – Goals
■ 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)
Features
a high level overview
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Features
■ Data Acquisition (DA)
■ Alarms & Events (AE)
■ Historical Data (HD)
■ Configuration (CA)
■ GUI/HMI (VI)
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Features
■ Data Acqusition (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
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Features
■ 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
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Features
■ central to all functions: DA (Data Access)
■ all other functionality is based on the values
provided by it
Data Acquisition
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Supported Protocols I
■ Modbus
■ Siemens S7
■ “exec” (shell script execution)
■ JDBC
■ REST
■ MQTT
■ A custom Arduino UDP protocol
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Supported Protocols II (through openSCADA)
■ OPC DA 2.0 (Utgard; can't be included with
Eclipse NeoSCADA because of licensing issues)
■ IEC 60870-5-104 (will be reintegrated with
Eclipse NeoSCADA in release 0.4 or 0.5)
■ SNMP
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Supported Protocols III (export)
■ Modbus
■ IEC 60870-5-104 (through openSCADA)
■ MQTT
■ REST
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
The path of a value from sensor to HMI
■ 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
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
The path of a value from sensor to HMI
■ A Driver talks to the field device in the protocol it understands
(for instance: Modbus) and converts it to the Eclipse SCADA
internal protocol “ngp”
■ A driver usually runs in its own process to allow a independent
restart if something goes wrong
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
openSCA
master s
da:ngp
MasterItem
MY.NS.MET.001.M8
→ MY.NS.MET.001.M
Scaling
ManualOverride
Block
MasterItem Handler
provide additional fu
Sensors Field Device Driver Maste
Devicespecificprotocol
EclipseSCADAprotocol
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
The path of a value from sensor to HMI
■ The master server uses ngp to communicate with the driver
■ Within the master server the items are enriched with
additional functionality
■ The items are then exported via ngp again
erature
001
lar
03
elocity
05
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
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
Driver Master Server GUI
Devicespecificprotocol
EclipseSCADAprotocol
EclipseSCADAprotocol
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
The path of a value from sensor to HMI
■ Any client connects via ngp to the master server
and gets notified about any change in the value
ce
ce
ce
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
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→
Monitors
operate on DataSources, creating alarms & events
GUI
EclipseSCADAprotocol
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
The Eclipse NeoSCADA Administration Client
the admin client (ESAC) –
a generic client to browse
and watch live values
(in driver or master server)
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
a da:ngp connection
Item Value
Attributes
Alarms & Events
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Alarms & Events (AE)
■ Alarms are realized through a state machine, we call it
“monitor”
■ Only current state
■ State change (might create) Event→
■ States:
■ OK NOT_OK + (ACK required / ACK not required)↔
■ Base Priorities:
■ OK, WARN, ALARM
■ Demotion:
■ ALARM WARN→
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Alarms & Events (AE)
■ Monitor Implementations:
■ Level Monitor (Min, LL, L, H, HH, Max), as local and
remote variant
■ Bit Monitor
■ List Monitor
■ Script Monitor
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Alarms & Events (AE)
■ Alarms (Monitor states) are transient
■ Events are stored permanently (in SQL 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
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Alarms & Events (AE)
m
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
Historical Data
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Eclipse NeoSCADA – Historical Data (HD)
■ Update on live values
■ 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
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Visual Interface
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Visual Interface
■ Declarative UI using EMF
■ Scriptable with Javascript
■ Only a few entry points to remember
(onUpdate, onInit, …)
■ Component based Symbol editing
■ Properties are propagated to the innermost
element
■ Simple but very flexible
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Visual Interface
■ Wizard which creates
a skeleton project
including maven pom
file for easy build
Configuration & Deployment
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Configuration & Deployment
■ Configuration framework based on EMF
■ Split between infrastructure model (nodes and services)
and component model (hierarchical representation for
the end user)
■ Configuration can be updated at runtime
■ Creation and deployment is separated
■ ESAC used for updating the configuration
■ Configuration changes can be minimized through applying
only diff!
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Configuration & Deployment
■ Create complete installable packages from IDE
■ Debian packages for Debian & Derivates
■ RPM packages for Redhat and SuSE
■ MSI files for Windows
■ Allows start of SCADA servers from IDE
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Other interesting features
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Other Interesting Features
■ Support of cryptographically signed user
actions (e.g. acknowledgement, setting manual
values, etc) using a PKI
■ Also supports user elevation
Q&A
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
FAQ
■ Do you have a web interface?
■ We don't have a standard solution for a web interface yet.
Our HMIs are based on Eclipse RCP
■ Do you have support for OPC UA/IEC 62541?
■ Not yet, but the Eclipse Milo Project provides that
functionality and it is planned to be integrated in 0.5
■ Why don't you use MQTT natively?
■ A couple of features we support just can't be realized with
MQTT (e.g. our callback functionality)
A short History
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
A short History
■ started 2006 as openSCADA
■ main emphasis: connectivity to legacy
hardware
■ after that more and more functionality added
■ since then, most used part of the project by
developers: Utgard library, a platform agnostic
library to access OPC DA 2.0 servers
■ (not part of Eclipse NeoSCADA!)
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
A short History
■ June 2013
■ Eclipse SCADA proposed (based on openSCADA)
■ Juli 2013
■ IBH SYSTEMS GmbH becomes Eclipse foundation
member
■ September 2013
■ officially incubator project
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
A short History
■ April 2014
■ First official release 0.1.0
■ Finale of migration
■ Configuration
■ January 2015
■ 0.2.0 release
■ Much improved tooling (preview, servers within IDE)
■
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
A short History
■ April 2016
■ 0.3.0 released
■ Officially renamed to Eclipse NeoSCADA
■ Mostly small improvements in different areas
■ Improved REST API
■ Upgrade to Eclipse Mars
■ systemd Support
■ Dynamic Configuration through filesystem watcher
■ Memory/Performance Improvements in HMI
Roadmap
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Eclipse NeoSCADA Roadmap
■ Planned: from now on really do two releases
per year
■ 0.4 (3th quarter of 2016)
■ Move to Eclipse Neon & Java 8
■ 0.5 (1rd quarter of 2017)
■ Integrate Eclipse Milo (OPC UA)
■ Move IEC 60870-5-104 implementation from
openSCADA to Eclipse
Thank you for your attention!
Glossary
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Glossary
■ Driver (DA)
■ a protocol adapter, converts device specific protocol
(for instance modbus) into the Eclipse NeoSCADA
protocol(s) (for instance ngp)
■ Tag, Item, Data Point, DataItem
■ a singular scalar value provided by a device or
server, identified by a name
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Glossary
■ 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
Grants
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Eclipse NeoSCADA – research & development
■ Some of the development of
Eclipse NeoSCADA was
supported through a funding
program by the Bavarian
government
■ http://www.vdivde-it.de/projekte/foerderprogramm-informations-und-kommunikationstechnik-bayern
Support
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Eclipse NeoSCADA – support through:
■ IBH SYSTEMS GmbH
Agnes-Pockels-Bogen 1
80992 München
■ T: +49.89.189 17 49 0
F: +49.89.189 17 49 29
info@ibh-systems.com
http://ibh-systems.com
Credits
© 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Credits
■ All company/product names and service marks may be trademarks or registered trademarks of
their respective companies
■ Trierites, »Nuclear Ship Savannah Nuclear Reactor Control Room Center and Left Panels« May 19,
2012 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.

More Related Content

PDF
openSCADA [PLEASE OUR NEW SLIDE DECK ECLIPSE SCADA 0.2]
PDF
Eclipse SCADA 0.2
PDF
Eclipse SCADA
PPT
Sci scada toolbox
PPTX
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
PDF
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
PDF
Never Trust Your Inputs
PDF
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet
openSCADA [PLEASE OUR NEW SLIDE DECK ECLIPSE SCADA 0.2]
Eclipse SCADA 0.2
Eclipse SCADA
Sci scada toolbox
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Johannes Klick, Daniel Marzin. Find Them, Bind Them - Industrial Control Syst...
Never Trust Your Inputs
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet

What's hot (20)

PDF
Never Trust Your Inputs or how to fool an ADC
PPTX
Project P Open Workshop
PDF
Internet connected ICS/SCADA/PLC
PPTX
Tools for Practical Attacks on Analog-to-Digital Conversion
PDF
Hima cyber security
PDF
S4x16 europe krotofil_granular_dataflowsics
PDF
BruCON 2015 - Pentesting ICS 101
PPT
Industrieel Ehternet (NL)
PPTX
Self-commissioning Industrial IoT Systems
PDF
"Man-in-the-SCADA": Anatomy of Data Integrity Attacks in Industrial Control S...
PPTX
Using FPGA in Embedded Devices
ODP
Scada Security & Penetration Testing
PDF
Scada deep inside: protocols and security mechanisms
PDF
SCADA deep inside:protocols and software architecture
PPTX
Industrial protocols for pentesters
PPTX
Safety vs Security: How to Create Insecure Safety-Critical System
PDF
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
PDF
BKK16-502 Suspend to Idle
PDF
SCADA deep inside: protocols and security mechanisms
PDF
ScilabTEC 2015 - Xilinx
Never Trust Your Inputs or how to fool an ADC
Project P Open Workshop
Internet connected ICS/SCADA/PLC
Tools for Practical Attacks on Analog-to-Digital Conversion
Hima cyber security
S4x16 europe krotofil_granular_dataflowsics
BruCON 2015 - Pentesting ICS 101
Industrieel Ehternet (NL)
Self-commissioning Industrial IoT Systems
"Man-in-the-SCADA": Anatomy of Data Integrity Attacks in Industrial Control S...
Using FPGA in Embedded Devices
Scada Security & Penetration Testing
Scada deep inside: protocols and security mechanisms
SCADA deep inside:protocols and software architecture
Industrial protocols for pentesters
Safety vs Security: How to Create Insecure Safety-Critical System
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
BKK16-502 Suspend to Idle
SCADA deep inside: protocols and security mechanisms
ScilabTEC 2015 - Xilinx
Ad

Viewers also liked (16)

PDF
The Best Measure of SCADA Success
PDF
EclipseCon France 2016: Eclipse Speaks PHP
PDF
Boosting the performance of your Eclipse IDE - EclipseCon France 2016
PPTX
Electronic payment
PPTX
FOSDEM 2017 - A different Lua JIT using Eclipse OMR
PDF
Building the Internet of Things with open source and Eclipse IoT projects (Be...
PDF
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
PPTX
Track and Minimize Pump Energy Consumption Using Variable Frequency Drives, F...
PPTX
Pay Social Overview (www.Pay.sn) by Pay Solutions
PDF
Scada system architecture, types and applications
PDF
Contact Centre China: The Winning Strategy [eBook]
PDF
Mccg 2012 & cg
PDF
Role of audit committee in cg - Published in SSRN-id2487167
PDF
Compliance in the framework of corporate governance (side panel 2) - Oliver O...
PPT
Malaysian code on corporate governance
The Best Measure of SCADA Success
EclipseCon France 2016: Eclipse Speaks PHP
Boosting the performance of your Eclipse IDE - EclipseCon France 2016
Electronic payment
FOSDEM 2017 - A different Lua JIT using Eclipse OMR
Building the Internet of Things with open source and Eclipse IoT projects (Be...
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
Track and Minimize Pump Energy Consumption Using Variable Frequency Drives, F...
Pay Social Overview (www.Pay.sn) by Pay Solutions
Scada system architecture, types and applications
Contact Centre China: The Winning Strategy [eBook]
Mccg 2012 & cg
Role of audit committee in cg - Published in SSRN-id2487167
Compliance in the framework of corporate governance (side panel 2) - Oliver O...
Malaysian code on corporate governance
Ad

Similar to Eclipse NeoSCADA 0.3 (20)

PPTX
4-DCSBBVVB BMNBMNBNMV BMNBMNBMNVBMNVBVMN .pptx
PPT
WHAT IS SCADA AND BASIC KNOWLEDGE ABOUT IT.
PDF
Scada pdf
PPT
Supervisory control and data acquisition
PDF
what is Scada in Pipeline Operation .pdf
PPT
PDF
Lecture+9+-+SCADA+Systems.pdf
PDF
Priti-Bhagat-EEE-ICEEEM
PPTX
Scada systems basics winnie mbau
PPTX
Lecture+9+-+SCADA+Systems.pptx
PDF
scada.pdf
PDF
Priti Bhagat -EEE-ICEEM
PPT
scada scadascadascadascadascadascadascadascada
PPT
123126804 scada
PDF
Scada & hmi
PPT
wayne123456892u349823u48327u498327489327498327489327849798.ppt
PPT
wayne scada wayne scada wayne scada wayne scada wayne scada
PPT
Scada
PDF
Practical DNP3 and Modern SCADA Systems
PPTX
Plc automation (prgramming logic controller)
4-DCSBBVVB BMNBMNBNMV BMNBMNBMNVBMNVBVMN .pptx
WHAT IS SCADA AND BASIC KNOWLEDGE ABOUT IT.
Scada pdf
Supervisory control and data acquisition
what is Scada in Pipeline Operation .pdf
Lecture+9+-+SCADA+Systems.pdf
Priti-Bhagat-EEE-ICEEEM
Scada systems basics winnie mbau
Lecture+9+-+SCADA+Systems.pptx
scada.pdf
Priti Bhagat -EEE-ICEEM
scada scadascadascadascadascadascadascadascada
123126804 scada
Scada & hmi
wayne123456892u349823u48327u498327489327498327489327849798.ppt
wayne scada wayne scada wayne scada wayne scada wayne scada
Scada
Practical DNP3 and Modern SCADA Systems
Plc automation (prgramming logic controller)

Recently uploaded (20)

PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
August Patch Tuesday
PDF
project resource management chapter-09.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
A Presentation on Touch Screen Technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Mushroom cultivation and it's methods.pdf
PPTX
TLE Review Electricity (Electricity).pptx
Web App vs Mobile App What Should You Build First.pdf
Zenith AI: Advanced Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Tartificialntelligence_presentation.pptx
Assigned Numbers - 2025 - Bluetooth® Document
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
August Patch Tuesday
project resource management chapter-09.pdf
cloud_computing_Infrastucture_as_cloud_p
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
NewMind AI Weekly Chronicles - August'25-Week II
A Presentation on Touch Screen Technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
1 - Historical Antecedents, Social Consideration.pdf
Mushroom cultivation and it's methods.pdf
TLE Review Electricity (Electricity).pptx

Eclipse NeoSCADA 0.3

  • 1. Eclipse NeoSCADA™ 0.3 An overview 2016-08-03
  • 2. A little bit of background ...
  • 3. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 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 (translated definition from German wikipedia)
  • 4. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. What is SCADA?
  • 5. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. What is Eclipse NeoSCADA? ■ In short: Eclipse NeoSCADA is an implementation of a SCADA system based on the Java platform ■ an open source SCADA platform ■ protocol implementations, server components, client libraries, … ■ some utility projects ■ tooling ■ ESAC, configurator, ...
  • 6. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Eclipse NeoSCADA – Goals ■ 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)
  • 8. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Features ■ Data Acquisition (DA) ■ Alarms & Events (AE) ■ Historical Data (HD) ■ Configuration (CA) ■ GUI/HMI (VI)
  • 9. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Features ■ Data Acqusition (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
  • 10. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Features ■ 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
  • 11. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Features ■ central to all functions: DA (Data Access) ■ all other functionality is based on the values provided by it
  • 13. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Supported Protocols I ■ Modbus ■ Siemens S7 ■ “exec” (shell script execution) ■ JDBC ■ REST ■ MQTT ■ A custom Arduino UDP protocol
  • 14. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Supported Protocols II (through openSCADA) ■ OPC DA 2.0 (Utgard; can't be included with Eclipse NeoSCADA because of licensing issues) ■ IEC 60870-5-104 (will be reintegrated with Eclipse NeoSCADA in release 0.4 or 0.5) ■ SNMP
  • 15. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Supported Protocols III (export) ■ Modbus ■ IEC 60870-5-104 (through openSCADA) ■ MQTT ■ REST
  • 16. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. The path of a value from sensor to HMI ■ 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
  • 17. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. The path of a value from sensor to HMI ■ A Driver talks to the field device in the protocol it understands (for instance: Modbus) and converts it to the Eclipse SCADA internal protocol “ngp” ■ A driver usually runs in its own process to allow a independent restart if something goes wrong 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 openSCA master s da:ngp MasterItem MY.NS.MET.001.M8 → MY.NS.MET.001.M Scaling ManualOverride Block MasterItem Handler provide additional fu Sensors Field Device Driver Maste Devicespecificprotocol EclipseSCADAprotocol
  • 18. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. The path of a value from sensor to HMI ■ The master server uses ngp to communicate with the driver ■ Within the master server the items are enriched with additional functionality ■ The items are then exported via ngp again erature 001 lar 03 elocity 05 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 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 Driver Master Server GUI Devicespecificprotocol EclipseSCADAprotocol EclipseSCADAprotocol
  • 19. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. The path of a value from sensor to HMI ■ Any client connects via ngp to the master server and gets notified about any change in the value ce ce ce 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 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→ Monitors operate on DataSources, creating alarms & events GUI EclipseSCADAprotocol
  • 20. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. The Eclipse NeoSCADA Administration Client the admin client (ESAC) – a generic client to browse and watch live values (in driver or master server)
  • 21. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. a da:ngp connection Item Value Attributes
  • 23. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Alarms & Events (AE) ■ Alarms are realized through a state machine, we call it “monitor” ■ Only current state ■ State change (might create) Event→ ■ States: ■ OK NOT_OK + (ACK required / ACK not required)↔ ■ Base Priorities: ■ OK, WARN, ALARM ■ Demotion: ■ ALARM WARN→
  • 24. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Alarms & Events (AE) ■ Monitor Implementations: ■ Level Monitor (Min, LL, L, H, HH, Max), as local and remote variant ■ Bit Monitor ■ List Monitor ■ Script Monitor
  • 25. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Alarms & Events (AE) ■ Alarms (Monitor states) are transient ■ Events are stored permanently (in SQL 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
  • 26. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Alarms & Events (AE) m 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. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Eclipse NeoSCADA – Historical Data (HD) ■ Update on live values ■ 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
  • 29. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  • 31. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Visual Interface ■ Declarative UI using EMF ■ Scriptable with Javascript ■ Only a few entry points to remember (onUpdate, onInit, …) ■ Component based Symbol editing ■ Properties are propagated to the innermost element ■ Simple but very flexible
  • 32. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  • 33. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  • 34. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Visual Interface ■ Wizard which creates a skeleton project including maven pom file for easy build
  • 36. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Configuration & Deployment ■ Configuration framework based on EMF ■ Split between infrastructure model (nodes and services) and component model (hierarchical representation for the end user) ■ Configuration can be updated at runtime ■ Creation and deployment is separated ■ ESAC used for updating the configuration ■ Configuration changes can be minimized through applying only diff!
  • 37. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Configuration & Deployment ■ Create complete installable packages from IDE ■ Debian packages for Debian & Derivates ■ RPM packages for Redhat and SuSE ■ MSI files for Windows ■ Allows start of SCADA servers from IDE
  • 38. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  • 40. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Other Interesting Features ■ Support of cryptographically signed user actions (e.g. acknowledgement, setting manual values, etc) using a PKI ■ Also supports user elevation
  • 41. Q&A
  • 42. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. FAQ ■ Do you have a web interface? ■ We don't have a standard solution for a web interface yet. Our HMIs are based on Eclipse RCP ■ Do you have support for OPC UA/IEC 62541? ■ Not yet, but the Eclipse Milo Project provides that functionality and it is planned to be integrated in 0.5 ■ Why don't you use MQTT natively? ■ A couple of features we support just can't be realized with MQTT (e.g. our callback functionality)
  • 44. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. A short History ■ started 2006 as openSCADA ■ main emphasis: connectivity to legacy hardware ■ after that more and more functionality added ■ since then, most used part of the project by developers: Utgard library, a platform agnostic library to access OPC DA 2.0 servers ■ (not part of Eclipse NeoSCADA!)
  • 45. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. A short History ■ June 2013 ■ Eclipse SCADA proposed (based on openSCADA) ■ Juli 2013 ■ IBH SYSTEMS GmbH becomes Eclipse foundation member ■ September 2013 ■ officially incubator project
  • 46. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. A short History ■ April 2014 ■ First official release 0.1.0 ■ Finale of migration ■ Configuration ■ January 2015 ■ 0.2.0 release ■ Much improved tooling (preview, servers within IDE) ■
  • 47. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. A short History ■ April 2016 ■ 0.3.0 released ■ Officially renamed to Eclipse NeoSCADA ■ Mostly small improvements in different areas ■ Improved REST API ■ Upgrade to Eclipse Mars ■ systemd Support ■ Dynamic Configuration through filesystem watcher ■ Memory/Performance Improvements in HMI
  • 49. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Eclipse NeoSCADA Roadmap ■ Planned: from now on really do two releases per year ■ 0.4 (3th quarter of 2016) ■ Move to Eclipse Neon & Java 8 ■ 0.5 (1rd quarter of 2017) ■ Integrate Eclipse Milo (OPC UA) ■ Move IEC 60870-5-104 implementation from openSCADA to Eclipse
  • 50. Thank you for your attention!
  • 52. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Glossary ■ Driver (DA) ■ a protocol adapter, converts device specific protocol (for instance modbus) into the Eclipse NeoSCADA protocol(s) (for instance ngp) ■ Tag, Item, Data Point, DataItem ■ a singular scalar value provided by a device or server, identified by a name
  • 53. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Glossary ■ 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
  • 55. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Eclipse NeoSCADA – research & development ■ Some of the development of Eclipse NeoSCADA was supported through a funding program by the Bavarian government ■ http://www.vdivde-it.de/projekte/foerderprogramm-informations-und-kommunikationstechnik-bayern
  • 57. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Eclipse NeoSCADA – support through: ■ IBH SYSTEMS GmbH Agnes-Pockels-Bogen 1 80992 München ■ T: +49.89.189 17 49 0 F: +49.89.189 17 49 29 info@ibh-systems.com http://ibh-systems.com
  • 59. © 2016 by Jürgen Rose. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Credits ■ All company/product names and service marks may be trademarks or registered trademarks of their respective companies ■ Trierites, »Nuclear Ship Savannah Nuclear Reactor Control Room Center and Left Panels« May 19, 2012 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.