Interview mit Jürgen Rose

Eclipse SCADA im Fokus: Das Framework für Heimautomatisierung und Anlagen-Steuerung

Hartmut Schlosser
©Shutterstock/Naypong

Die Steuerung von Maschinen, angefangen bei kleinen Heimgeräten bis hin zu großen Industrieanlagen, gehört seit jeher zu einem wichtigen Teilbereich der IT. Einen regelrechten Boom erlebt dieser Sektor derzeit durch die zunehmende Vernetzung dieser Geräte untereinander, die es ermöglicht, Maschinen direkt miteinander kommunizieren zu lassen – das Stichwort heißt hier M2M oder auch „Internet of Things“.

Zur Förderung und Standardisierung von M2M-Technologien hat sich bei Eclipse eine Industry Working Group gegründet, in deren Rahmen derzeit einige vielversprechende neue Projekte entstehen. Eines davon ist Eclipse SCADA, ein Framework für die Entwicklung sogenannter SCADA-Systeme, mit denen sich beispielsweise Photovoltaikanlagen überwachen und steuern lassen. Wir sprachen mit Projekt-Gründer Jürgen Rose von IBH SYSTEMS über Ausrichtung und Potenziale des Eclipse-SCADA-Projektes und der M2M Industry Working Group.

JAXenter: Sie haben Eclipse SCADA als offizielles Projekt bei der Eclipse Foundation vorgeschlagen. Worum geht es bei Eclipse SCADA?

Jürgen Rose: Wir verwenden gerne die Definition aus Wikipedia, um zu erklären, was SCADA ist: „Unter Supervisory Control and Data Acquisition (SCADA) versteht man das Überwachen und Steuern technischer Prozesse mittels eines Computer-Systems.“ SCADA ist also ein generischer Begriff und kann alles Mögliche umfassen, von der kleinen Automatisierung daheim bis zu großen Industrieanlagen.

Eclipse SCADA ist eine Sammlung von Bibliotheken bzw. ein Framework, welches man verwenden kann, um SCADA-Systeme zu entwickeln. Es ist also kein Produkt, das man aus dem Regal zieht und installiert, sondern ein Baukasten, um eigene Lösungen zu realisieren.

Da die Bandbreite der Projekte im SCADA-Bereich so groß ist, hat es dazu geführt, dass praktisch jede Branche ihre eigenen Standards zur Kommunikation entwickelt hat. Bisher bietet Eclipse SCADA-Unterstützung für eine Reihe von Protokollen oder Geräten, wie z.B. OPC, Modbus, Siemens S7, SNMP, JDBC, shell-Aufrufe. Ein Ziel für die Zukunft ist ganz klar die Unterstützung für mehr Protokolle. Hier werden sich sicherlich auch Überschneidungen und Möglichkeiten der Zusammenarbeit mit anderen Projekten aus der M2M Industry Working Group finden.

JAXenter: Können Sie ein typisches Beispiel aus der Praxis nennen, in dem Eclipse SCADA eingesetzt werden kann?

Jürgen Rose: Ein Beispiel wäre die Anbindung von großen Photovoltaikanlagen. Energieversorger kaufen existierende Solarparks auf oder bauen neue. Dabei kann im Laufe der Zeit ein ganzes Sammelsurium an verschiedener Hardware entstehen, die im Rahmen eines globalen Kontrollsystems aber datentechnisch auf den gleichen Nenner gebracht werden müssen. Hier bietet Eclipse SCADA mehrere Hilfestellungen. Zur Anbindung der Geräte können entweder vorhandene Protokolladapter, wie z.B. Modbus, verwendet werden, oder für den Fall, dass es sich um eine nicht vorhandene Schnittstelle handelt, auf einfache Art und Weise neue Adapter entwickelt werden. Zum anderen existiert ein Konfiguratorframework, welches es ermöglicht, die Konfiguration für die Anlage komplett oder teilautomatisiert zu erstellen. Für die globale Überwachung aller Anlagen ist eine gewisse Zusammenführung der Daten erforderlich, hier bietet Eclipse SCADA fertige Module, die solche Funktionen bereits mitbringen. So kann der Operator von oben herab schnell analysieren, wo ein Fehler, der in einer Anlage auftritt, eigentlich herkommt, zum Teil bis zum einzelnen Solarmodul.

JAXenter: Nicht im Fokus steht laut Projekt-Vorschlag die Entwicklung einer Plattform für Embedded-Systeme. Gleichwohl wird Eclipse SCADA im Rahmen der M2M Industry Working Group vorgeschlagen. Wie geht das zusammen?

Jürgen Rose: Die M2M Industry Working Group ist zwar konzentriert auf die Kommunikation der Geräte untereinander, aber am Ende gibt es dann doch immer wieder eine Oberfläche, mit der ein Benutzer die entsprechenden Geräte, sei es nun direkt oder indirekt, ansteuert oder visualisiert.

Eclipse SCADA ist offen für die Unterstützung aller möglichen Schnittstellen. Es bietet ein Framework für übliche Funktionen, wie z.B. Auslösen von Alarmen, Aufzeichnung von historischen Daten, eine eigene Visualisierung. D.h. für alle Daten, die von Geräten zur Verfügung gestellt werden, wollen wir die Möglichkeit einer Weiterverarbeitung bieten.

Die Schnittpunkte zu den Embedded Devices haben wir daher trotzdem, wir müssen ja auf irgendeine Weise mit den Geräten reden. Zum einen bauen wir gerade eine Unterstützung für MQTT ein, ein publish/subscribe-Mechanismus, der hauptsächlich von anderen Projekten im M2M-Umfeld verwendet wird. Und als zweites haben wir gerade damit begonnen, ein eigenes schmales Protokoll zu entwickeln, welches besonders für Embedded Devices geeignet ist.

Dabei arbeiten wir eng mit zwei Firmen zusammen, die sich auch im Eclipse-Umfeld bewegen und sich mit verteilten Automatisierungssystemen beschäftigen; d.h. Lösungen basierend auf diesen Projekte bieten in Zukunft native Eclipse-SCADA-Unterstützung und können somit sofort nahtlos eingebunden werden.

JAXenter: Die Ursprünge von Eclipse SCADA liegen ja im Projekt openSCADA, das 2006 ins Leben gerufen wurde. Können Sie ein wenig von der Projekt-Geschichte erzählen? Wie kam es dazu, auf welches Problem wurde mit openSCADA reagiert, wer hat openSCADA entwickelt, wer steht heute hinter dem Projekt?

Jürgen Rose: Unser damaliger Kunde kam auf uns zu und wollte sein bestehendes proprietäres SCADA-System durch eine neue Lösung ersetzen. Ein wesentlicher Faktor war dabei die Integration in die zum Teil bestehenden, zum Teil neu zu entwickelnden Geschäftsprozesse. Das Know How für die Anbindung der existierenden Hardware war in unserem Hause vorhanden. Da das Kundenprojekt eine längere Laufzeit haben sollte, entschieden wir recht schnell, die Anbindung der Feldgeräte etwas zu abstrahieren. Zu diesem Zeitpunkt gab es einfach kein Java-basiertes, frei verfügbares SCADA, welches unseren Ansprüchen genügte. Es war klar, dass während des Projektes mehr SCADA-Funktionalitäten (z.B. Alarmierung, Archivierung,…) dazu kommen würden. Es war uns bewusst, dass es praktisch unmöglich ist, sich damit als Produkt am Markt gegen die existierende Konkurrenz durchzusetzen – dafür haben gerade in der Anfangsphase zu viele Funktionalitäten gefehlt. Trotzdem hatten wir viele interessante Bibliotheken, die auch anderweitig einsetzbar waren. Damit wurde entschieden, openSCADA als Open-Source-Projekt zu gründen. Als eine Teilkomponente wurde die OPC-Bibliothek „Utgard“ schnell zu einer beliebten Möglichkeit, aus Java heraus mit OPC-DA-Servern zu kommunizieren.

Über die Jahre kamen immer mehr Funktionalitäten dazu, bis 2012 dann im Wesentlichen alle wichtigen Features, die von einem kompletten SCADA-System benötigt werden, realisiert waren (Data Acquisition, Alarms & Events, Historical Data, User Interface, …). Damit haben wir uns darauf konzentriert, ein openSCADA 1.0 Release herauszubringen, welches dann im März 2013 verfügbar wurde.

Im inzwischen veröffentlichten 1.1 Release wurde openSCADA mit einem interessanten Sicherheitsfeature ergänzt, wobei der Server bei bestimmten Operationen den Client benachrichtigen kann, dass ein anderer Benutzer mit höherer Berechtigung und/oder einer kryptographischen Signatur benötigt wird.

Der nächste große Schritt ist die Überführung von openSCADA in die Eclipse Repositories, um damit bei Eclipse SCADA in die Incubation Phase zu kommen. Dafür werden wir einige unserer Dependencies gegen Bibliotheken aus Eclipse Orbit austauschen. Oder z.B. von Apache XML Beans zu EMF wechseln. Diese Schritte haben es uns auch erlaubt, die Eclipse IDE mehr in den Fokus von openSCADA zu rücken. Treibermodule (= Protokolladapter) können nun testweise direkt aus der IDE heraus gestartet werden, und aktuell arbeiten wir an diversen IDE Plug-ins, welche die Konfiguration von openSCADA deutlich vereinfachen sollen.

JAXenter: Weshalb fiel nun die Entscheidung, openSCADA als Eclipse-Projekt weiterzuführen? Eclipse-Projekte sollten ja möglichst von einer vielfältigen Schar von Committern aus unterschiedlichen Unternehmen entwickelt werden. Wie stehen die Chancen für Eclipse SCADA, sich von einem IBH SYSTEMS Projekt zu einem Anbieter-neutralen Projekt zu entwickeln?

Jürgen Rose: Ende 2012 kamen wir mit einer anderen Firma ins Gespräch, die ihr Projekt auch als Eclipse-Projekt veröffentlicht haben. Bis dahin war unser Verständnis auch eher durch Eclipse als Anbieter von Entwicklungstools geprägt. Aber gerade im Automotive Sektor gibt es inzwischen eine ganze Reihe von Speziallösungen, die auch auf Eclipse basieren, einige davon sind auch Open Source. Unsere Hoffnung ist natürlich, als offizielles Eclipse-Projekt von der gesteigerten Aufmerksamkeit zu profitieren. Dazu kommt, dass der ganze Bereich der Industrieautomatisierung recht konservativ eingestellt ist. Da macht das Auftreten mit einer etablierten Marke wie Eclipse es leichter, oder überhaupt erst möglich, für Lösungen in Betracht gezogen zu werden. Der Eclipse IP Prozess und das damit verbundene rechtliche Rahmenwerk, welches die Eclipse Foundation bietet, stellt sicher, dass sowohl der Kunde als auch wir vor möglichen Ansprüchen dritter geschützt sind.

In den ersten Gesprächen mit der Eclipse Foundation wurde uns dann schnell klar, dass es schon seit 2010 die Bestrebungen gibt, das Tätigkeitsfeld der Eclipse Foundation in den M2M-Bereich auszuweiten. Wir fanden, dass eine SCADA-Lösung eine gute Ergänzung in dem M2M-Projektportfolio darstellen würde und beschlossen, unsere Bewerbung entsprechend voranzutreiben. Wir denken, dass es gerade an den Berührungspunkten mit den anderen Projekten sehr schnell zur Zusammenarbeit kommen wird. Die Projektstruktur ist absichtlich so gewählt, dass gewisse Komponenten sich komplett unabhängig vom Rest von openSCADA verwenden lassen. So haben wir ein SWT-basierendes Chart für die Darstellung von Zeitreihen, welches sich auch exzellent in Nebula integrieren ließe. Sicher wird es eine ganze Weile dauern, bis Eclipse SCADA mehr als ein reines IBH SYSTEMS Projekt ist, aber wir sind da recht optimistisch gestimmt.

JAXenter: Welche Schritte stehen nun als nächstes an? Werden wir bald ein Release sehen? Und vor allem: Wie soll dieses Release weiterentwickelt werden?

Jürgen Rose: Der nächste Schritt ist das Eintreten in die Inkubator-Phase, etwas, das jedes neue Eclipse-Projekt durchmacht. Wie erwähnt, eine MQTT Anbindung ist am Entstehen, außerdem das SFP-Protokoll, welches auf kleinen Geräten laufen soll. Potentiell nächste Schritte sind auch die Implementierung von einigen Standards wie z.B. IEC 60870 oder DNP3. Es gibt zwar teilweise Open-Source-Implementierungen, aber die sind entweder von der API oder der Qualität nicht so, wie wir es uns vorstellen, oder von der Lizenz her in kommerziellen Umgebungen problematisch. Durch die große Anzahl der Einzelprojekte wird es sicher eine Weile dauern, bis wir es geschafft haben, openSCADA auf Eclipse SCADA umzuziehen. Wir planen zumindest, dass wir bis Ende des Jahres ein Release auf der Eclipse-Infrastruktur herausbringen, ob das dann eine 1.0 Version ist, wird sich zeigen. Danach sollen die Releases halbjährlich stattfinden.

Da inzwischen alle wesentlichen Features vorhanden sind, ist das nächste größere Ziel, Eclipse SCADA mehr in Richtung eines fertigen Produkts zu entwickeln. Es sollte einem Anfänger möglich sein, die Software herunterzuladen und mit der Konfiguration seines eigenen Projektes sofort loszulegen.

JAXenter: Auf dem Weg dahin wünschen wir viel Erfolg. Herr Rose, vielen Dank für dieses Interview!

Jürgen Rose ist Senior Developer bei der IBH SYSTEMS GmbH in München. Er ist Mitentwickler des Eclipse SCADA Projektes (bisher bekannt als openSCADA http://openscada.org). Obwohl eigentlich ein Python Liebhaber, findet er Java inzwischen gar nicht mehr so übel.

Aufmacherbild: Hand with PC RAM and computer monitor von Shutterstock / Urheberrecht: Napong

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare
  1. teichsta2013-07-18 09:43:59

    Ich finde die Headline dieses Interviews etwas unglücklich/irreführend gewählt, denn aktuell hat das genannte Projekt aus meiner Sicht eigentlich gar nichts mit dem Thema Heimautomatisierung zu tun.

    DAS es THEORETISCH möglich ist, mit der vorhandenen Architektur auch UseCases aus dem Bereich der Heimautomatisierung abzudecken, bedeutet meiner Meinung nach nicht, dass das eine gute Idee ist, weil der Fokus der Architektur letztlich ein anderer war/ist.

    Für den HA-Bereich gibt es andere Projekte, wie openHAB, die genau für diesen Zweck aus der Taufe gehoben wurden ...

    1. cptmauli2013-07-18 12:35:22

      Da gebe ich Ihnen recht, Fokus von Eclipse SCADA ist nicht Heimautomatisierung sondern kleine bis mittelgroße technische Anlagen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.