ISW Stuttgart
Von der Forschung in die Praxis
Virtualisierung ist ein zentraler Baustein softwaredefinierter Produktionssysteme und gewinnt auch im Echtzeitbereich, insbesondere durch virtuelle SPSen (vPLCs), an Bedeutung. Das ISW zeigt anhand ausgewählter Beispiele, wie sich diese Technologie in der Praxis anwenden lässt.
Die zunehmende Konvergenz von IT- und OT-Systemen erfordert flexible und sichere Methoden für das Software-Deployment. Virtualisierung unterstützt dies, indem sie Hardware und Software entkoppelt und somit eine einheitliche und einfache Verwaltung von Echtzeit- und Nicht-Echtzeit-Anwendungen ermöglicht. Die Vorteile der Virtualisierung für das Software-Deployment lassen sich in drei Punkten zusammenfassen:
- Erstens werden Anwendungen und deren Abhängigkeiten zu Paketen zusammengefasst, was reproduzierbare Deployments und einfache Installationen ermöglicht.
- Zweitens erhöhen Funktionen der Virtualisierungsplattform wie Ressourcenzugriffskontrolle und Rechtemanagement die Verlässlichkeit und Verfügbarkeit von Software.
- Drittens bildet Virtualisierung die Grundlage für kontinuierliche Entwicklungsprozesse (Continuous Integration / Continuous Deployment, CI/CD), bei denen Änderungen automatisch getestet und ausgerollt werden können, ohne Wartungsfenster abzuwarten.
Die Virtualisierung erleichtert somit die Einhaltung regulatorischer Vorgaben, etwa des Cyber Resilience Acts (CRA). Dieser fordert, dass Sicherheitsupdates ohne Verzögerung eingespielt werden. Ein wesentlicher Bestandteil von Virtualisierungslösungen im produktionstechnischen Umfeld ist Time-Sensitive Networking (TSN), das Echtzeit- und Nicht-Echtzeitkommunikation auf Basis von Standard-Ethernet vereint. Im Folgenden werden technische Grundlagen, die Virtualisierungsplattform des ISW und deren Anwendung in der Produktion erläutert.
Virtualisierung: von IT-Lösung zu Echtzeitplattform
Der steigende Bedarf an flexiblen, skalierbaren IT-Ressourcen führte zur Entwicklung von Virtualisierungslösungen, die physische Ressourcen wie Server, Speicher, Netzwerke oder Software zu logischen Einheiten zusammenfassen, wodurch Anwendungen bedarfsgerecht auf sie zugreifen können. Grundsätzlich wird zwischen der Virtualisierung von Hardware, also der Verwaltung physischer Ressourcen, und der Virtualisierung von Software wie Betriebssystemen oder Applikationen unterschieden.
Hypervisor-basierte Ansätze bieten vollständige Virtualisierung, bei der Gastbetriebssysteme auf virtueller Hardware als virtuelle Maschinen (VMs) betrieben werden. Ein Hypervisor übersetzt systemkritische Aufrufe, während Nutzer-Code direkt ausgeführt wird. Diese Methode bietet hohe Isolation und Sicherheit gegenüber anderen Virtualisierungslösungen, erhöht die Portabilität und erleichtert Migrationen. Aufgrund des zusätzlichen Betriebssystems neben dem Hpervisor verursacht diese Methode jedoch zusätzlichen Virtualisierungsoverhead, der Echtzeiteigenschaften beeinträchtigen kann. Dadurch sind diese Ansätze in der industriellen Steuerungstechnik nicht für jeden Anwendungsfall geeignet.
Die Virtualisierung auf Betriebssystemebene, auch Container-Virtualisierung, führt Anwendungen in isolierten Bereichen aus, die sich den Kernel des Host-Betriebssystems teilen. Dadurch werden Ressourcen effizienter genutzt. Ein gewisser Grad an Isolation erfolgt über Kernel-Namespaces und Control Groups, mit denen CPU-, Speicher- oder Netzwerknutzung begrenzt werden kann. Beide Ansätze eignen sich grundsätzlich für den Betrieb von Echtzeitsoftware (Bild 1).
In Verbindung mit modernen Software-Entwicklungsverfahren wie CI/CD können Steuerungssysteme durch Echtzeit-Virtualisierung in private oder öffentliche On-Premise-Clouds verlagert, ressourceneffizient konsolidiert und automatisiert ausgerollt und getestet werden. So lassen sich virtuelle Echtzeit-Steuerungen sowie Nicht-Echtzeitaufgaben einheitlich verwalten.
Softwareinfrastruktur für die Virtualisierung
Am ISW wird für den konvergenten Betrieb von IT-Software wie modernen KI-Diensten und Echtzeitsteuerungen eine mehrschichtige Virtualisierungsarchitektur eingesetzt, die Container und VMs kombiniert. Ressourcen von On-Premise-Cloud-Knoten werden zunächst in mehrere VMs aufgeteilt, die anschließend als Worker-Nodes für die Dienste fungieren. Dadurch können unabhängige Dienste, etwa aus Test- und Produktivumgebungen, sauber voneinander getrennt werden. Echtzeitkritische Workloads werden als Container direkt auf Edge-Knoten des Compute-Clusters ausgeführt. Auf zusätzliche VMs wird hier verzichtet, um Latenzen und Jitter zu minimieren. Die Isolation zwischen den Containern erfolgt wie oben beschrieben durch Control Groups.
Für die automatische Verteilung der Container wurde Kubernetes erweitert, um die Verwaltung von Echtzeit-Containern zu ermöglichen. Basierend auf Ressourcenanforderungen entscheidet das Orchestrierungstool, auf welchem Rechnerknoten ein Container ausgeführt wird. So wird eine dynamische Lastverteilung ermöglicht. Alle containerisierten Dienste werden in Git-Repositories verwaltet und mittels CI/CD automatisiert erstellt und aktualisiert.
Ein GitOps-Ansatz steuert Deployments, Updates und Änderungen deklarativ, wodurch der aktuelle Systemzustand jederzeit nachvollziehbar ist und Rollbacks möglich werden. Eine grafische Bedienoberfläche vereinfacht die Bereitstellung: Anwender geben nur dienstspezifische Informationen wie Umgebungsvariablen oder Konfigurationsdateien ein, während Kubernetes-Ressourcen automatisch erzeugt und der Clusterzustand ins Repository zurückgespielt wird. So entsteht eine skalierbare Architektur, die den zuverlässigen Betrieb komplexer KI-Dienste in verteilten Umgebungen gewährleistet. Die Besonderheit der Lösung gegenüber anderen Virtualisierungsplattformen liegt dabei in der einheitlichen Verwaltung von Echtzeit- und Nicht-Echtzeit-Containern.
Der offene Ansatz der Virtualisierungsplattform wird nun konsequent weitergeführt, indem auch die Steuerungsarchitektur neu gedacht wird. Dabei zeigt sich, dass neben virtuellen SPSen (vPLCs) auch Hochsprachen-basierte Echtzeitanwendungen integriert werden können. So sind beispielsweise C++-Module des ‚Robot Operating System 2‘ (ROS2), eine Leitsteuerung sowie eine in Rust entwickelte Programmierumgebung zur Steuerung der weiter unten beschriebenen Fräsmaschinen-/Roboter-Kombination im Einsatz.
Die in Rust implementierte SPS ermöglicht eine speicher- sichere Maschinenprogrammierung und kann von Softwareentwicklern ohne spezifisches Domänenwissen in der Automatisierungstechnik genutzt werden. Ein Umstieg auf Rust wird aus Sicherheitsgründen unter anderem vom Office of the National Cyber Director (ONCD) empfohlen.
Die echtzeitfähige Feldbusanbindung erfolgt über einen offenen und flexiblen Konnektor, der die I/O-Daten über verschiedene Schnittstellen, etwa Shared Memory, MQTT oder WebSocket, bereitstellt. Der Konnektor kann sowohl mit dem Standard-Linux-Netzwerkstack als auch mit echtzeit- optimierten Netzwerkkartentreibern betrieben werden und ist zudem TSN-kompatibel. Bild 2 zeigt eine Fertigungsanlage des ISW sowie die Anwendung der Virtualisierungsplattform an zwei ausgewählten Stationen, die auch auf der SPS 2025 präsentiert werden. Der schematische Aufbau ist in Bild 3 dargestellt.
Virtualisierung in der Praxis
Drei Anwendungsfälle zeigen, wie sich durch Virtualisierung Mehrwerte in Produktionssystemen erzielen lassen.
Fräsmaschine OSACA: Eine Fräsmaschine wird mit einem Industrieroboter des Typs Stäubli TX2-40 kombiniert. Durch modellbasierte Verfahren verbessert sich die Genauigkeit des Roboters. Die Steuerung läuft als virtuelle Instanz auf einer konsolidierten Plattform. Mehrere Steuerungsanwendungen können parallel in einer virtualisierten Umgebung betrieben und flexibel zwischen verschiedenen Aufgaben umschalten. Die virtuelle Inbetriebnahme ermöglicht zudem, Bewegungsabläufe vorab zu testen und abzusichern. Dies erhöht Flexibilität und Prozesssicherheit.
Zweiarmroboter YuMi: Ein Zweiarmroboter wird direkt aus einer virtualisierten ROS-Steuerung betrieben. Eine unterlagerte CNC übernimmt sowohl die Werkzeug- als auch die Robotersteuerung. Dies ermöglicht eine durchgehend einheitliche Programmierung sowie eine besonders ruhige Bahnführung aufgrund des großen Look-Ahead der CNC, der bei komplexen Raumtrajektorien entscheidende Vorteile bietet. Eine Herausforderung stellt jedoch die kollisionsfreie Pfadplanung dar, da CNC-Steuerungen hierfür keine nativen Funktionen besitzen. Eine eigens entwickelte Schnittstelle verbindet die TwinCAT-CNC mit ROS-Algorithmen zur kollisionsfreien Pfadplanung. In der virtuellen Umgebung wird gezeigt, wie CNC-Steuerung und ROS zusammenarbeiten können.
Zusammenspiel von Steuerungen und KI: Die Virtualisierungsplattform erlaubt die Kombination von Steuerungssoftware mit KI-Services. Als Beispiel dient die Verarbeitung großer Datenmengen und der Zugriff auf hochentwickelte Sprach- und Generierungsmodelle. Der Demonstrator ‚LLM4PLC‘ zeigt, wie Anforderungen in natürlicher Sprache direkt in funktionsfähigen SPS-Code übersetzt werden können, unterstützt durch Multi-Agenten-Systeme, die Engineering-Disziplinen wie Entwicklung, Testing und Inbetriebnahme automatisieren. ‚SimGen‘ veranschaulicht, wie aus unstrukturierten Daten und Textinformationen industrielle Simulationsmodelle automatisch generiert und fehlende Komponenten ergänzt werden, einschließlich 3D-Daten und Kinematik.
Durch den Einsatz von KI werden Entwicklungsprozesse beschleunigt, Fehler reduziert und neue Möglichkeiten in der Automatisierung erschlossen. Der Vorteil des Zusammenspiels wird besonders deutlich: Echtzeitfähige Steuerungen ermöglichen die enge Kopplung mit Diensten für komplexe Datenprozesse und KI-Anwendungen innerhalb eines durchgängigen Entwicklungsansatzes.
Virtualisierung und TSN als Basis moderner Steuerungssysteme
Virtualisierung in Kombination mit TSN ermöglicht die konsistente Verwaltung sowie CRA-konforme Aktualisierung von Echtzeitanwendungen. Sie bildet die Basis für moderne Steuerungsarchitekturen, etwa auf Rust-Basis, und unterstützt automatisierte Entwicklungs- und Deployment-Prozesse. Anwendungen wie KI-Services lassen sich dadurch standardisiert in Produktionsumgebungen integrieren – unabhängig davon, ob sie Echtzeitbedingungen unterliegen oder nicht.
Die gezeigten Technologien und Anwendungsbeispiele wurden auf der SPS 2025 vorgestellt und sollen Anregungen für vergleichbare Anwendungen geben.















