Container
Mit der TwinCAT Runtime for Linux® steht ein neues, leistungsfähiges Betriebssystem für Beckhoff-Steuerungen zur Verfügung, das die Echtzeitfähigkeit von TwinCAT mit der Flexibilität moderner Linux-Systeme verbindet. Eine der zentralen Neuerungen ist die native Unterstützung von Container-Technologien wie Docker, wodurch sich TwinCAT Functions erstmals auch als Container-Applikationen installieren und betreiben lassen.
Durch den Einsatz von Docker®-Containern ergeben sich neue Möglichkeiten für die Bereitstellung, Versionierung und Wartung von TwinCAT Functions. Funktionen können gekapselt, reproduzierbar deployt und unabhängig vom restlichen System aktualisiert werden. Gleichzeitig profitieren Anwender von etablierten Linux- und DevOps-Workflows, ohne auf die deterministischen Echtzeiteigenschaften der Beckhoff-Steuerungsplattform verzichten zu müssen.
Dieser Artikel beschreibt, wie Sie diese TwinCAT Function unter Linux® in einem Docker®-Container installieren und betreiben können. Ziel ist es, die grundlegenden Konzepte, Voraussetzungen und Schritte verständlich darzustellen und damit eine Grundlage für den praktischen Einsatz containerbasierter TwinCAT Functions zu schaffen.
Der folgende Beispielaufbau zeigt eine typische Systemarchitektur für den Betrieb einer TwinCAT Function als Docker®-Container unter Linux®. Die TwinCAT Function wird dabei als eigenständiger Container ausgeführt und über definierte Schnittstellen in das TwinCAT-System integriert.
Die Steuerung basiert auf der TwinCAT Runtime for Linux® und stellt sowohl die Echtzeitumgebung für TwinCAT als auch die Container-Runtime (Docker®) bereit. Die TwinCAT Function läuft innerhalb eines Docker®-Containers und nutzt die vom System bereitgestellten Ressourcen sowie die entsprechenden TwinCAT-Schnittstellen zur Kommunikation mit der Steuerung und weiteren Applikationen. In diesem Beispiel läuft die Function zusammen mit der TwinCAT SPS Laufzeit in demselben Container, eine Trennung dieser Komponenten ist jedoch ebenfalls möglich.
Für die TwinCAT-seitige Kommunikation zwischen mehreren Containern bietet sich der Einsatz von ADS-over-MQTT an. Durch die Nutzung von MQTT als vermittelnde Transportschicht werden die einzelnen TwinCAT Komponenten voneinander entkoppelt, wodurch sich das Einrichten und Verwalten von ADS-Routen deutlich vereinfacht.
Anstelle statischer, Punkt-zu-Punkt definierter ADS-Routen kommunizieren die beteiligten Container über einen gemeinsamen MQTT Message Broker. Änderungen an IP-Adressen, Containernamen oder Deployment-Strukturen erfordern somit in der Regel keine Anpassungen der ADS-Routen, was insbesondere in containerisierten und dynamischen Umgebungen von Vorteil ist.
Der für ADS-over-MQTT benötigte Message Broker kann ebenfalls als Docker®-Container auf der Beckhoff-Steuerung oder auf einem separaten System betrieben werden und fügt sich damit nahtlos in den containerbasierten Systemaufbau ein.
![]() | Das folgende Diagramm dient der konzeptionellen Übersicht und stellt keine vollständige Systemkonfiguration dar. |

Überblick zur Einrichtung
Die folgenden Schritte geben einen Überblick über den grundlegenden Ablauf zur Installation und Inbetriebnahme der TwinCAT Function als Docker®-Container. Detaillierte Anweisungen sowie vollständige Konfigurationsbeispiele sind im verlinkten GitHub-Repository zu finden (siehe unten).
Voraussetzungen prüfen
Sicherstellen, dass die Steuerung mit der TwinCAT Runtime for Linux® ausgestattet ist und Docker® als Container-Runtime installiert und aktiviert ist.
Erstellung des Container Images
Über ein Docker®-File wird ein neues Container Image erstellt, welches diese TwinCAT Function und etwaige abhängige Komponenten beinhaltet.
Container konfigurieren
Die Konfiguration der benötigten Parameter für den Betrieb des Containers erfolgt über ein Docker® Compose File. Solche Parameter können zum Beispiel wie folgt sein:
- Einstellungen zu Netzwerk- und Kommunikationsschnittstellen
- Zugriffsrechte und Ressourcen
- TwinCAT-spezifische Einstellungen (z. B. ADS-Routen)
- Volume-Mappings zur Speicherung von benutzerspezifischen Konfigurationsdateien
Container starten
Start des Docker®-Containers auf der Beckhoff-Steuerung und Überprüfung des ordnungsgemäßen Hochlaufs der TwinCAT Function.
Integration in das TwinCAT-System
Einbindung der TwinCAT Function in das bestehende TwinCAT-Projekt und Test der Kommunikation und Funktionalität.
Überwachung und Wartung
Überwachung des Container-Status, Auswertung von Logs sowie Durchführung von Updates oder Neustarts bei Bedarf.
Ein vollständiges, lauffähiges Beispiel mit detaillierter Dokumentation, Konfigurationsdateien und Quellcode steht im folgenden GitHub-Repository zur Verfügung:
