SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Internet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLCInternet connected ICS/SCADA/PLC
Internet connected ICS/SCADA/PLC
qqlan
 
"Man-in-the-SCADA": Anatomy of Data Integrity Attacks in Industrial Control S...
"Man-in-the-SCADA": Anatomy of Data Integrity Attacks in Industrial Control S..."Man-in-the-SCADA": Anatomy of Data Integrity Attacks in Industrial Control S...
"Man-in-the-SCADA": Anatomy of Data Integrity Attacks in Industrial Control S...
Marina Krotofil
 
Scada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanismsScada deep inside: protocols and security mechanisms
Scada deep inside: protocols and security mechanisms
Aleksandr Timorin
 
Industrial protocols for pentesters
Industrial protocols for pentestersIndustrial protocols for pentesters
Industrial protocols for pentesters
Aleksandr Timorin
 
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
ICS/SCADA/PLC Google/Shodanhq Cheat Sheet v2
qqlan
 

Was ist angesagt? (20)

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

Andere mochten auch

Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...
AGILE IoT
 
Scada system architecture, types and applications
Scada system architecture, types and applicationsScada system architecture, types and applications
Scada system architecture, types and applications
Uchi Pou
 
Contact Centre China: The Winning Strategy [eBook]
Contact Centre China: The Winning Strategy [eBook]Contact Centre China: The Winning Strategy [eBook]
Contact Centre China: The Winning Strategy [eBook]
Darwin Jayson Mariano
 
Compliance in the framework of corporate governance (side panel 2) - Oliver O...
Compliance in the framework of corporate governance (side panel 2) - Oliver O...Compliance in the framework of corporate governance (side panel 2) - Oliver O...
Compliance in the framework of corporate governance (side panel 2) - Oliver O...
e-Democracy Conference
 
Malaysian code on corporate governance
Malaysian code on corporate governanceMalaysian code on corporate governance
Malaysian code on corporate governance
Wan Zainal
 

Andere mochten auch (19)

Tech f43
Tech f43Tech f43
Tech f43
 
The Best Measure of SCADA Success
The Best Measure of SCADA SuccessThe Best Measure of SCADA Success
The Best Measure of SCADA Success
 
EclipseCon France 2016: Eclipse Speaks PHP
EclipseCon France 2016: Eclipse Speaks PHPEclipseCon France 2016: Eclipse Speaks PHP
EclipseCon France 2016: Eclipse Speaks PHP
 
Boosting the performance of your Eclipse IDE - EclipseCon France 2016
Boosting the performance of your Eclipse IDE - EclipseCon France 2016Boosting the performance of your Eclipse IDE - EclipseCon France 2016
Boosting the performance of your Eclipse IDE - EclipseCon France 2016
 
Electronic payment
Electronic paymentElectronic payment
Electronic payment
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 
FOSDEM 2017 - A different Lua JIT using Eclipse OMR
FOSDEM 2017 - A different Lua JIT using Eclipse OMRFOSDEM 2017 - A different Lua JIT using Eclipse OMR
FOSDEM 2017 - A different Lua JIT using Eclipse OMR
 
Code in the cloud with eclipse che and docker / snowcamp.io 2017
Code in the cloud with eclipse che and docker /  snowcamp.io 2017Code in the cloud with eclipse che and docker /  snowcamp.io 2017
Code in the cloud with eclipse che and docker / snowcamp.io 2017
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
 
Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...Building the Internet of Things with open source and Eclipse IoT projects (Be...
Building the Internet of Things with open source and Eclipse IoT projects (Be...
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
 
Track and Minimize Pump Energy Consumption Using Variable Frequency Drives, F...
Track and Minimize Pump Energy Consumption Using Variable Frequency Drives, F...Track and Minimize Pump Energy Consumption Using Variable Frequency Drives, F...
Track and Minimize Pump Energy Consumption Using Variable Frequency Drives, F...
 
Pay Social Overview (www.Pay.sn) by Pay Solutions
Pay Social Overview (www.Pay.sn) by Pay SolutionsPay Social Overview (www.Pay.sn) by Pay Solutions
Pay Social Overview (www.Pay.sn) by Pay Solutions
 
Scada system architecture, types and applications
Scada system architecture, types and applicationsScada system architecture, types and applications
Scada system architecture, types and applications
 
Contact Centre China: The Winning Strategy [eBook]
Contact Centre China: The Winning Strategy [eBook]Contact Centre China: The Winning Strategy [eBook]
Contact Centre China: The Winning Strategy [eBook]
 
Mccg 2012 & cg
Mccg 2012 & cgMccg 2012 & cg
Mccg 2012 & cg
 
Role of audit committee in cg - Published in SSRN-id2487167
Role of audit committee in cg - Published in SSRN-id2487167Role of audit committee in cg - Published in SSRN-id2487167
Role of audit committee in cg - Published in SSRN-id2487167
 
Compliance in the framework of corporate governance (side panel 2) - Oliver O...
Compliance in the framework of corporate governance (side panel 2) - Oliver O...Compliance in the framework of corporate governance (side panel 2) - Oliver O...
Compliance in the framework of corporate governance (side panel 2) - Oliver O...
 
Malaysian code on corporate governance
Malaysian code on corporate governanceMalaysian code on corporate governance
Malaysian code on corporate governance
 

Ähnlich wie Eclipse NeoSCADA 0.3

LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK
 
Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01
sprdd
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
Etsuji Nakai
 

Ähnlich wie Eclipse NeoSCADA 0.3 (20)

Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
 
Cuda
CudaCuda
Cuda
 
vAccel: Interoperable Application Hardware Acceleration
vAccel: Interoperable Application Hardware AccelerationvAccel: Interoperable Application Hardware Acceleration
vAccel: Interoperable Application Hardware Acceleration
 
Introducing the Sun SPOTs
Introducing the Sun SPOTsIntroducing the Sun SPOTs
Introducing the Sun SPOTs
 
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
 
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
LF_DPDK17_rte_raw_device: implementing programmable accelerators using generi...
 
Simplifying Multi-User SOLIDWORKS Implementations
Simplifying Multi-User SOLIDWORKS ImplementationsSimplifying Multi-User SOLIDWORKS Implementations
Simplifying Multi-User SOLIDWORKS Implementations
 
Rohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual RouterRohit Yadav - The future of the CloudStack Virtual Router
Rohit Yadav - The future of the CloudStack Virtual Router
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
 
Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
 
WSO2Con USA 2015: WSO2 Platform for IoT
WSO2Con USA 2015: WSO2 Platform for IoTWSO2Con USA 2015: WSO2 Platform for IoT
WSO2Con USA 2015: WSO2 Platform for IoT
 
How to Set iRidium Server?
How to Set iRidium Server?How to Set iRidium Server?
How to Set iRidium Server?
 
IRJET- Design of SCADA based Wireless Monitoring and Control
IRJET- Design of SCADA based Wireless Monitoring and ControlIRJET- Design of SCADA based Wireless Monitoring and Control
IRJET- Design of SCADA based Wireless Monitoring and Control
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel Hacking
 
Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01Openstackinsideoutv10 140222065532-phpapp01
Openstackinsideoutv10 140222065532-phpapp01
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
 
DRIVE PX 2
DRIVE PX 2DRIVE PX 2
DRIVE PX 2
 
Open Source Software for Industry 4.0
Open Source Software for Industry 4.0Open Source Software for Industry 4.0
Open Source Software for Industry 4.0
 
123126804 scada
123126804 scada123126804 scada
123126804 scada
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

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.