Einfacher zu Industrie 4.0 – Maschinenanbindung mit Apache Kafka

Ein vielversprechendes Ziel von Industrie 4.0 ist die Optimierung von Instandhaltungs- und Qualitätsprozessen. Wie kann aber die große Heterogenität an Maschinen, Schnittstellen und Daten einfach und flexibel gemeistert werden, wenn die für die Optimierung relevanten Daten aus einer Vielzahl an Quellsystemen zu akquirieren und integrieren sind?

Genau dieser Fragestellung haben wir uns in einer Untersuchung gewidmet. Während in Domänen wie zum Beispiel E-Commerce oder Finance die Daten häufig unmittelbar akquiriert werden können, da die zugrunde liegenden Prozesse weitestgehend durch IT realisiert werden, ist dies in der Produktion nicht unbedingt gegeben. Alte Maschinen auf dem Shop Floor ohne Schnittstellen oder Sensoren, unstrukturierte Daten von proprietären Schnittstellen oder eine Vielzahl von unterschiedlichen Standards und Schnittstellen sind Herausforderungen, die bewältigt werden müssen. Hinzu kommt, dass bei neueren Maschinen höhere Datenaufkommen (Volumen & Frequenz) effizient verarbeitet werden müssen.

Ziel der Untersuchung war daher die Entwicklung einer Architektur, die eine einfache, flexible und schnelle Anbindung von Maschinen ermöglicht. Das Ergebnis basiert auf Apache Kafka, einem verteilten und hoch skalierbaren Messaging und Storage System. Die eingesetzten Technologien und die Vorteile dieser Architektur werden im Folgenden anhand von drei ausgewählten Use Cases näher beleuchtet (siehe Abbildung 1).

Für die Realisierung von Use Case 1 wurde die Producer API von Kafka eingesetzt. Im Kern ermöglicht diese API eine höchst individuelle Anbindung von unterschiedlichen Quellsystemen mittels verschiedenster Programmiersprachen wie bspw. Java, C/C++, Python oder Go. Mit sehr wenigen Zeilen Code werden die Daten nach ihrer Aufbereitung an Kafka geschickt. Im Forschungsprojekt wurde die API eingesetzt, um RESTful Web Services eines Conditioning Monitoring Systems in periodischen Zeitintervallen anzufragen, die empfangenen Daten mit weiteren Informationen (bspw. Sensornamen oder Einheiten) anzureichern und letztendlich auf Kafka zu schicken.

Für Use Case 2 wurde die Connect API von Kafka verwendet. Diese API ermöglicht die Anbindung von Quellsystemen in einer standardisierten „Plug and Play“-Manier. Dafür steht eine Vielzahl von Konnektoren beispielsweise für das HDFS, NoSQL Datenbanken, SQL Datenbanken, CSV, Filesystems aber auch für OPC-UA zur Auswahl. Die Konnektoren lassen sich mit wenigen Konfigurationsparametern entweder im „standalone Modus“ oder im „distributed Modus“ starten. Gerade Letzteres ermöglicht eine einfache Skalierung bei einem erhöhten Datenaufkommen. Konkret wurde im Use Case ein CSV Konnektor verwendet, mit dessen Hilfe ein Verzeichnis auf dem Maschinenrechner überwacht wurde. Hier legt die Maschine zuvor definierte Produktionsdaten in Form von CSV-Dateien ab. Sobald eine neue Datei ins Verzeichnis geschrieben wird, wird diese automatisch eingelesen, mit Hilfe eines Schemas (Apache Avro) strukturiert und an Kafka geschickt.

Use Case 3 wurde mithilfe des Rest-Proxys von Kafka realisiert. Die einzige Voraussetzung für dessen Einsatz ist, dass das entsprechende Quellsystem in der Lage sein muss, http „sprechen“ zu können. Eine Fähigkeit, die in der Regel sehr oft vorhanden ist. Der Rest-Proxy ist somit eine sehr gute Alternative, wenn die Producer API oder die Connect API nicht zum Einsatz kommen können. Somit wird die Möglichkeit gegeben, auch ältere Maschinen, die nicht unmittelbar über die standardisierte Schnittstelle verfügen, anzubinden. Im Forschungsprojekt wurde hiermit die direkte Kommunikation zwischen einer Maschinensteuerung eines Getriebeprüfstandes und Kafka realisiert. Die Steuerung erfasst dabei die relevanten Sensorwerte (ca. 65.000 Datenpunkte pro Messzyklus), strukturiert diese und schickt sie anschließend an Kafka.

Zusammenfassend kann gesagt werden, dass die Implementierungen für die Maschinenanbindungen durch den Einsatz von Apache Kafka, trotz hoher Anzahl an unterschiedlichen Schnittstellen, sehr stark vereinfacht wurde. Zusätzlich ist Apache Kafka in der Lage, auch hohe Datenaufkommen effizient zu verarbeiten. So können die eingesammelten Daten beispielsweise in Real-Time analysiert, Prädiktionsmodelle angewandt und die verarbeiteten Daten schließlich an ein Zielsystem weitergegeben werden (Mehr Info dazu hier:  Industrie 4.0 – (Near-) Real-Time Analyse von Sensordaten.) Hinzu kommt, dass durch den Einsatz einer Schema Registry mittels Apache Avro, die Datenproduzenten und die Datenkonsumenten immer wissen, wie die Daten strukturiert seinen müssen. Somit kann die Datenqualität nachhaltig verbessert werden, da beispielsweise fehlenden Werten vorgebeugt wird.

Die Untersuchung wurde teilweise im Rahmen des vom Bundesministerium für Wirtschaft und Energie geförderten Verbundprojektes OpenServ4P durchgeführt.


Weiterführende Informationen:

Hinterlassen Sie einen Kommentar

Nach oben