Automatisierung und Maschinensteuerung mit Open Source

Paradigmenwechsel

Der globale Wettbewerb und sich schnell ändernde Kundenpräferenzen stellen produzierende Unternehmen vor große Herausforderungen, auf die sie agil und flexibel reagieren müssen. Dabei spielt die Maschinensteuerungs-Software eine zunehmend wichtige Rolle. Sie sollte mit Produktions- und IT-Systemen vernetzbar sein, damit die Kommunikation zwischen den unterschiedlichen Komponenten reibungslos möglich ist. Diese Anforderung bringt eine Hinwendung zu offenen Standards und damit zu Open-Source mit sich.
 Lose gekoppelte Betriebssystem-Architektur auf der Basis von Snap-Containern
Lose gekoppelte Betriebssystem-Architektur auf der Basis von Snap-ContainernBild: Canonical Ltd.

Moderne, an offenen Standards orientierte Software ist aus der IT-Welt nicht mehr wegzudenken. Viele Entwickler verwenden Open-Source-Software, Unternehmen können mit ihr schnell und agil auf veränderte Erfordernisse des Marktes reagieren. Im Gegensatz dazu ist die klassische Automatisierungs- und Steuerungstechnik wegen ihrer proprietären Architektur eingeschränkt. In Anbetracht von immer kürzeren Produktionszyklen, zunehmender Integration von Lösungen in und zwischen Unternehmen, Vernetzung und Update-Fähigkeit stoßen diese Insellösungen an ihre Grenzen. Diese miteinander zu integrieren, ist nur mit erheblichem Mehraufwand machbar.

Was unterscheidet offene Systeme von klassischen?

Eine klassische, proprietäre Steuerungstechnik benötigt Experten, die sich mit diesen Systemen auskennen, deren Zahl aber begrenzt ist. Auf Open Source basierende Automatisierungs- und Steuerungstechnik hingegen wird von vielen Entwicklern gemeinsam fortentwickelt und ist für eine viel größere Zahl von ihnen zugänglich. Sie ist so entworfen, dass sie wiederverwendbar ist und lässt sich sowohl im Antrieb, in Embedded-Steuerungen oder auch in IPCs anwenden. Daraus entstehen niedrigere Kosten für Forschung und Entwicklung, aber auch die Möglichkeit, schnell auf Veränderungen zu reagieren. Kurz: dank der Integration mit Informationstechnologie (IT) erreicht die Steuerungs- und Automatisierungstechnik eine deutlich höhere Flexibilität.

Das Industrial Internet of Things (IIoT) ist nur denkbar mit einer Unzahl von vernetzten Geräten, Sensoren, Netzkomponenten, Fahrzeugen, Konnektivität und der Fähigkeit, Daten zu sammeln, auszutauschen und zu verarbeiten – in der Regel ohne menschliche Interaktion. Das geht nur, wenn IT und OT (Operation Technology) zusammenwachsen. Die Daten dafür werden von der Feldebene über die Cloud in unterschiedlichen Systemen bereitgestellt und analysiert. So hält die IT denn auch Einzug in der Automatisierung und Gerätesteuerung: Sie ermöglicht es, Eingaben und Signale aus unterschiedlichen Quellen zu aggregieren und in Automatisierungsalgorithmen einzuspeisen. Und indem Mitarbeiter mit der IT-Technologie aus der Ferne auf die Fertigung zugreifen können, können sie auch schneller auf Störungen und Stillstände reagieren, was Ausfallzeiten verkürzt.

Ein weiterer Unterschied zwischen klassischer aktueller sowie IT-basierter Steuerungstechnik: Bei ersterer ist die Steuerlogik eng an das zugrunde liegende Gerät gebunden, beim neuen Ansatz hingegen entkoppeln Apps Funktionalität und Hardware, lösen die Steuerlogik also von den Geräten. Die Steuerlogik kann auf diese Weise leicht auf andere Geräte übertragen werden. Gleichzeitig sind diese Steueranwendungen auch leichter zu aktualisieren, wiederzuverwenden und zu verbessern. Mit diesen Applikationen wird die Betriebstechnik stärker softwaredefiniert. Die Hardware hingegen wird zur Ware.

Cloud- und Edge-Computing bringen zudem neue Funktionen für die Datenverarbeitung und Speicherung in die Steuerungstechnik. Da sind z.B. Steuerungsanwendungen, die sich Deep Learning zunutze machen. In Echtzeit verarbeiten sie große Mengen von Sensordaten für die vorausschauende Qualitätssicherung oder Wartung. Im Edge-Computing setzt sich derzeit ein Anwendungsfall durch: die Computer-Vision. Intelligente Computer-Vision-Geräte erkennen am Edge ungewöhnliche Vorgänge, Anomalien an Produktionslinien. Wenn sie dabei einen Fehler erkennen, speisen diese Geräte als Reaktion Metadaten in Echtzeit in industrielle Regelkreise ein, die automatisierte Entscheidungen treffen.

Steuerungstechnologien, die die Cloud nutzen, können die Daten, die die Maschine bei der Produktion erzeugt, in der Cloud verarbeiten, analysieren und in ERP- und MES-Geschäftsanwendungen einspeisen. Das steigert die betriebliche Effizienz.

So funktioniert die offene Steuerungstechnik

Dreh- und Angelpunkt der offenen Automatisierungs- und Steuerungslösung kann die Linux-Distribution Ubuntu Core sein, die das cloud-native Pardigma in die Maschinensteuerung bringt. Bei Cloud Native geht es darum, Software agiler und schneller zu entwickeln und sie robuster zu bauen. Die Anwendung wird in kleine, voneinander weitestgehend isolierte Bestandteile zerlegt und so konzipiert, dass all diese Komponenten unabhängig voneinander entwickelt und verändert werden können. Unternehmen können damit insgesamt flexibler arbeiten und ihren Kunden schneller Updates, Korrekturen und neue Funktionen zur Verfügung stellen. Bei Ubuntu Core bilden so genannte Snap Container diese Bestandteile. Die Unterteilung in Container teilt Steuerungssoftware in einzelne Module auf, macht sie kostengünstiger in der Entwicklung, einfach wiederzuverwenden und langfristig leicht zu warten.

Damit die Sicherheit dieser produktionskritischen Software jederzeit gewahrt ist, enthält das System zahlreiche Sicherheitsmechanismen, um unternehmenskritische Kontrollgeräte der Steuerungstechnik zu unterstützen. So arbeitet es mit strikter Anwendungseinschränkung. Anwendungen arbeiten dabei als in sich geschlossene Systeme in ihren Snaps. Die in Snaps enthaltene Software ist unveränderbar, was das Risiko von Sicherheitsgefährdungen verringert. Maschinenhersteller, die diese Anwendungen einsetzen, erhalten automatisch Updates für Sicherheitsfixes und Patches für die gesamte Lebensdauer des Geräts, ohne dass Ingenieure eingreifen müssen.

Das Herz von Ubuntu Core ist ein System Daemon namens Snapd. Snapd ist das zentrale Nervensystem in der Steuerung, welches den Austausch von Echtzeit- und Nicht-Echtzeitdaten für alle Apps gewährleistet. Snap-Container sind die kleinsten Einheiten von Systemen. Jede einzelne Komponente des Betriebssystems ist in einem separaten Snap-Container verpackt (Kernel, Bootloader, Root-Dateisystem und Anwendungen), der wiederum eng abgegrenzte Aufgaben hat. Snapd verwaltet die Zugriffsberechtigungen auf das System, um unautorisierte Aktionen zu verhindern, und kümmert sich auch um die Kommunikation zwischen Containern.

Das Betriebssystem stellt eine Rest-API für die Kommunikation der Systeme mit der Cloud bereit, etwa für Software-Updates oder für die Geräteverwaltung. Snapd holt Software-Updates automatisch ab, um kleinste und geplante Systemaktualisierungen durchzuführen. Mit Ubuntu Core und Snaps können Software-Updates auf die letzte bekannte Arbeitsversion zurückgesetzt werden, falls ein Update fehlschlägt oder die zuletzt installierte Version nicht ordnungsgemäß funktioniert, was die Zuverlässigkeit erhöht und die Betriebskosten (OpEx) reduziert.

In Snaps gepackte Anwendungen sind mit all ihren Abhängigkeiten vollständig eingeschränkt, da alles was sie benötigen, in einem Container ist. Das macht es einfach, jede Anwendung auf einem Ubuntu-Core-System auszuführen, unabhängig von der Programmiersprache, die bei der Entwicklung verwendet wurde. Entwicklern stehen Programmiersprachen ihrer Wahl, einschließlich C, C++, Python, Javascript oder Go, zur Verfügung. Traditionell waren sie in einer industriellen Umgebung auf spezielle Programmiersprachen wie IEC61131 oder G-Code beschränkt.

Die Zukunft ist softwaredefiniert

EdgeX Foundry ist eine quelloffene, herstellerneutrale Edge-IoT-Middleware-Plattform, die unter dem Dach von LF Edge angesiedelt ist. EdgeX arbeitet als Snap mit Ubuntu Core als zugrundeliegendem Betriebssystem und ermöglicht ein offenes Framework für die Erstellung von Steuerungsanwendungen am Edge. Es sammelt Daten von Sensoren (das heißt „Dingen“) am Edge und fungiert als duale Transformations-Engine, die Daten an und von Unternehmens-, Cloud- und On-Premise-Anwendungen sendet und empfängt und dabei Sicherheitsstandards gewährleistet.

Seiten: 1 2Auf einer Seite lesen

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: ISW der Universität Stuttgart
Bild: ISW der Universität Stuttgart
Domänenspezifische Sprache

Domänenspezifische Sprache

Ein grundlegender Baustein zur Flexibilisierung von Automatisierungssystemen aus Softwaresicht sind modulare, virtualisierte Echtzeitarchitekturen, die als verteilte Echtzeitsysteme realisiert werden. Um Entwickler in die Lage zu versetzen, robuste Systeme hinsichtlich der Echtzeiteigenschaften zu entwerfen und zu verwalten, wurde am ISW der Universität Stuttgart auf Basis einer domänenspezifischen Sprache ein Werkzeug entwickelt, das die Analyse des Echtzeitverhaltens sowie die automatisierte Echtzeitorchestrierung Container-basierter Steuerungsanwendungen mit Kubernetes und Docker-Compose erlaubt.

mehr lesen