Automatisierte Echtzeit-Orchestrierung Container-basierter Steuerungsanwendungen

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.
 Ausschnitt der Visual-Studio-Code-Erweiterung zur Orchestrierung und Analyse der Echtzeitanwendungen. Hier wird die Kommunikationskette eines CNC-Kerns analysiert.
Ausschnitt der Visual-Studio-Code-Erweiterung zur Orchestrierung und Analyse der Echtzeitanwendungen. Hier wird die Kommunikationskette eines CNC-Kerns analysiert. Bild: ISW der Universität Stuttgart

SOAs sind ein Architekturstil zur Realisierung modularer, verteilter Systeme, in denen Komponenten, die als Services bezeichnet werden, einander Funktionalitäten als Dienste zur Verfügung stellen. Eine kohäsive Anwendung ist dabei eine Kombination mehrerer Services, die kooperieren, um ein bestimmtes Ziel zu erreichen. Dadurch, dass zusätzlich ein unabhängiges Deployment der einzelnen Services möglich ist, erfolgen die Softwareentwicklung und Updates zielgerichtet und in kürzeren Zyklen als bei monolithischen Systemen wie der klassischen speicherprogrammierbaren Steuerung. Es müssen lediglich einzelne Services und nicht das Gesamtsystem aktualisiert werden. Zur Umsetzung von Updates und zum initialem Deployment können Methoden des kontinuierlichen Deployments eingesetzt werden. Das heißt, die einzelnen Container müssen automatisiert auf Zielsystemen bereitgestellt und zur Laufzeit bei Updates aktualisiert werden können. Das wird als Orchestrierung bezeichnet. Für spezielle Echtzeit-SOAs wurden bereits einige Orchestrierungsansätze entwickelt. Diesen ist vor allem der Nachteil gemein, dass dem Design einzelner Services strenge Rahmenbedingungen gesetzt sind. Deshalb sind Module, die für unterschiedliche SOAs, wie z.B. das Robot Operating System und die IEC61499, entwickelt wurden, nicht interoperabel. Zur Flexibilisierung der Steuerungssoftware wird also ein Mechanismus benötigt, mit dem auch heterogen gestaltete Steuerungscontainer orchestriert werden können. Eine solche Lösung wurde am ISW entwickelt.

Bild: ISW der Universität Stuttgart

Analyse-getriebene Echtzeitorchestrierung

Der Lebenszyklus eines verteilten Echtzeitsystems (DRTApp) beginnt mit einer Beschreibung des verwendeten Ausführungsmodells und der Komposition der DRTApp aus einzelnen Services (Containern). Anschließend weist ein Scheduler, der entweder in einen Echtzeitorchestrator oder ein externes Tool integriert sein kann, den in Containern gekapselten Services, Scheduling-Parameter zu. Um Rückschlüsse auf das Echtzeitverhalten der bereitzustellenden DRTApp zu ziehen, werden spezifische, mit dem Scheduling-Modell verbundene Validatoren und benutzerdefinierte Validatoren verwendet. Schließlich werden Service-Konfigurationsdateien und Deployment-Beschreibungen für die Laufzeitumgebung einer bestimmten Art von Deploymenteinheit generiert. Beispiele für unterstützte Laufzeitumgebungen sind Kubernetes und Docker für Container. Die DRTApp-Beschreibung ist hierbei aussagekräftig genug, um Dienste und deren Kommunikationsverbindungen über ein gemeinsames Kommunikationssystem wie Time-sensitive Networking zu beschreiben. Darüber hinaus können Rahmenbedingungen, QoS-Anforderungen und einfache Ressourcenanforderungen von Diensten sowie deren Gegenstücke, die bereitgestellten Ressourcen von Rechenknoten beschrieben werden. Neben einer graphischen Modellierungssprache steht dem Anwender auch eine textuelle domänenspezifische Sprache (DSL) zur Modellierung der Services und Anwendungen zur Verfügung.

 Grundkonzept der Orchestrierungslösung für Echtzeitcontainer. Die Realisierung erfolgte als Web-IED.
Grundkonzept der Orchestrierungslösung für Echtzeitcontainer. Die Realisierung erfolgte als Web-IED.Bild: ISW der Universität Stuttgart

Umsetzung des Analyse- und Orchestierungswerkzeugs

Die Grammatik der DSL ist in der Metasprache textX geschrieben. Kommunikationsverbindungen und -flüsse werden als Kanten modelliert, während Rechenknoten, CPUs, Aufgaben und Dienste als grafische Knoten modelliert werden. Die grafische Modellierungssprache basiert auf der Graphical Language Server Platform (GLSP), einem Opensource-Framework für die Erstellung von Diagrammeditoren. Als Plattform für den grafischen Editor wurde eine Visual-Studio-Code-Erweiterung gewählt. Dadurch kann der Benutzer nahtlos zwischen der textuellen und der grafischen Darstellung des Modells wechseln.

Anwendung in der Stuttgarter Maschinenfabrik

In einer klassischen Fabrik hat jede Maschine ihre eigene Computing-Hardware und ein dediziertes Steuerungssystem. Ein Vorteil der Cloud-basierten Steuerungstechnik ist, dass Dienste auf beliebiger Rechnerhardware ausgeführt werden können. Im Anwendungsfall der Forschungsfabrik des ISW werden containerisierte SPSen, CNC-Kernel und Robotersteuerungen auf mehreren Edge-Knoten mit Hilfe des beschriebenen Werkzeugs orchestriert. Dabei werden die Soll- und Istwerte an drei Maschinen der Maschinenfabrik, eine Dreiachs- und eine Fünfachs-Fräsmaschine sowie einen Sechsachsroboter, in Echtzeit über Time-Sensitive Networking übermittelt. Mit Hilfe der vorgestellten Lösung kann hier sichergestellt werden, dass die notwendigen End-zu-Ende-Latenzen eingehalten werden.

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Neuron GmbH
Bild: Neuron GmbH
Einfach, schneller und 
zukunftssicherer

Einfach, schneller und zukunftssicherer

Funktionale Sicherheit ist eine zentrale Aufgabe in der Entwicklung von Automatisierungsanwendungen, da sie der wesentliche Baustein zum Schutz von Mensch, Maschine und Umwelt ist. In einer sich stark verändernden Welt entwickelt sich auch das Thema Safety permanent weiter – Cyber Security, Multicore-Anwendungen und KI lassen grüßen. Das SPS-MAGAZIN hat darüber mit zwei Safety-Experten gesprochen: Axel Helmerth und Robert Mühlfellner, beide CTOs für Functional Safety & Embedded bzw. Engineering Tools & Runtimes bei Neuron Automation, erläutern die Trends und Herausforderungen im Bereich Functional Safety und wie man als Komponentenhersteller schneller zu einer zukunftssicheren Lösung kommt. Dabei geht es auch über die Bedeutung des Fachkräftemangels und welche Rolle künstliche Intelligenz in Zukunft übernehmen kann.

mehr lesen
Bild: Syntegon Technology GmbH
Bild: Syntegon Technology GmbH
Zeit- und kostensparende Modernisierung

Zeit- und kostensparende Modernisierung

Auch wenn der Firmenname selten auf dem Etikett auftaucht, finden sich die Milchprodukte und Getränke von Gropper in Supermärkten in ganz Europa. Um dem hohen Produktionsdruck der Branche gerecht zu werden, braucht es effiziente Anlagen, die ihre Leistung über Jahrzehnte aufrechterhalten – und technisch auf dem neuesten Stand bleiben. Vorausschauendes Obsoleszenzmanagement spielt dabei eine wesentliche Rolle. Claus Mayr, stellvertretender Abteilungsleiter bei Gropper, und Helmut Weissenbach, Projektleiter bei Syntegon, erklären im Interview, wie sie Anlagenmodernisierungen zeit- und kostensparend durchgeführt haben.

mehr lesen
Bild: Nilpeter GmbH
Bild: Nilpeter GmbH
Die Zukunft des 
Flexodrucks

Die Zukunft des Flexodrucks

Der Flexodrucker Nilpeter und B&R haben gemeinsam ein Bildverarbeitungssystem entwickelt, das die Makulatur reduziert, die Qualität verbessert und den Arbeitsaufwand verringert. Es soll einen neuen Standard für die Beibehaltung der Farbregistergenauigkeit auch bei ultraflexiblen Materialien setzen. Die Mikrosekunden-genaue Synchronisation zwischen Bewegung und Bildverarbeitung gewährleistet eine konstante Druckqualität und macht das System so besonders.

mehr lesen