Beckhoff TwinCAT 3 Programmierung: Ein praktischer Leitfaden für Ingenieure beim Umstieg von herkömmlichen SPSen
Ein Ingenieur, der zehn Jahre lang SPS-Programmierung auf Allen-Bradley- und Siemens-Plattformen programmiert hat, öffnet zum ersten Mal TwinCAT 3 und ist wie erstarrt. Die Projektstruktur befindet sich in Visual Studio. C++-Dateien teilen sich den Speicherplatz mit dem SPS-Code. Es gibt keine zu konfigurierenden Chassis-Steckplätze, keinen Hardwarekatalog zum Durchsuchen. Der Echtzeitkernel installiert sich als Windows-Treiber zusammen mit dem Webbrowser. Das ist Beckhoff TwinCAT 3 – ein softwareorientierter Ansatz für die industrielle Steuerung. Der Umstieg ist zwar etwas gewöhnungsbedürftig, aber der Lohn ist eine Plattform mit Funktionen, die keine herkömmliche SPS bieten kann.
TwinCAT 3 (Windows Control and Automation Technology) verwandelt jeden Windows-PC in eine Echtzeit-SPS und einen Motion-Controller. Im Gegensatz zu herkömmlichen Plattformen, bei denen die Laufzeitumgebung auf proprietärer Hardware läuft, isoliert TwinCAT 3 dedizierte CPU-Kerne von Windows über einen Echtzeit-Kernel-Treiber – also Bare-Metal-Scheduling statt Virtualisierung.
Die Entwicklungsumgebung TwinCAT 3 XAE integriert sich als Shell-Erweiterung in Microsoft Visual Studio. Das SPS-Projekt befindet sich in einer Standard-.sln-Projektmappe. Die Quellcodeverwaltung erfolgt über Git. Mehrere Programmierer können gleichzeitig arbeiten. Für Ingenieure, die mit Studio 5000 oder TIA Portal vertraut sind, fühlt sich die IDE wie eine Softwareentwicklungsumgebung an – weil sie genau das ist.
Die Architektur sprengt vollständig die Grenzen der IEC 61131-3. C++- und MATLAB/Simulink-Module werden als native Echtzeit-Tasks neben dem SPS-Code kompiliert und teilen sich den Speicher direkt über TcCOM (TwinCAT Component Object Model). Der Feldbus basiert auf EtherCAT – Beckhoffs deterministischem Protokoll, das Tausende von E/A-Anschlüssen mit Zykluszeiten im Submillisekundenbereich über ein einziges Kabel in Reihe schaltet. Keine PROFINET-Gerätebenennung, keine GSDML-Dateien, keine Konfigurationstools von Drittanbietern.
Der Software-Stack: TwinCAT 3 XAE (Entwicklung), TwinCAT 3 XAR (Laufzeitausführung) und der Echtzeitkernel. Die Entwicklung ist kostenlos. Sie können vollständige Maschinenprogramme auf einem herkömmlichen Laptop ohne Beckhoff-Hardware schreiben, kompilieren und simulieren.
Ein Verpackungsintegrator in Jeddah implementierte ein Steuerungssystem für Kartonaufrichter mit einem Embedded-PC CX5130, digitalen 8-Kanal-Eingängen EL1008 und digitalen 8-Kanal-Ausgängen EL2008. Das gesamte Projekt – von der Installation bis zur Inbetriebnahme – dauerte einen Nachmittag.
Schritt 1 – Installieren Sie TwinCAT 3 XAE. Laden Sie es von der Beckhoff-Website herunter. Das Installationsprogramm fügt eine TwinCAT-Toolbar in Visual Studio ein und installiert den Echtzeit-Kernel-Treiber. Die Shells von VS 2017, 2019 und 2022 werden unterstützt.
Schritt 2 – Projekt erstellen. Datei → Neu → Projekt → „TwinCAT-Projekt“. Die Lösung enthält einen SPS-Knoten, einen SYSTEM-Knoten für die Echtzeitkonfiguration und einen E/A-Knoten für EtherCAT-Geräte. Zielplattform: x86 für Embedded-PCs wie den CX5130, x64 für neuere IPCs.
Schritt 3 – Programmiersprache auswählen. Klicken Sie mit der rechten Maustaste auf den SPS-Knoten und fügen Sie ein SPS-Projekt hinzu. Beckhoff verwendet standardmäßig Structured Text (ST), und die meisten Programmierer wechseln dorthin, da ST Arrays, Zustandsautomaten und komplexe Logik deutlich besser handhabt als Kontaktplanlogik. Dennoch eignet sich Continuous Function Chart (CFC) – eine grafische Freiformsprache, bei der Sie Blöcke auf einer Arbeitsfläche platzieren und Signalleitungen zeichnen – besonders gut für Prozessregelkreise. Kontaktplanlogik (LD) steht weiterhin für diskrete Verriegelungen zur Verfügung, die von Wartungsteams zur Fehlersuche benötigt werden.
Für den Kartonaufrichter erstellte der Ingenieur in ST eine Zustandsmaschine mit den Zuständen „Ausgang“, „Zuführung“, „Falten“, „Kleben“ und „Auswerfen“. Jeder Zustand wies dem EL2008 Ausgänge zu und las Eingänge vom EL1008.
Schritt 4 – EtherCAT-Geräte scannen. Klicken Sie im E/A-Baum mit der rechten Maustaste auf „Geräte“ und wählen Sie „Scannen“. TwinCAT 3 erkennt automatisch alle angeschlossenen Klemmen, Antriebe und E/A-Schnittstellen. EL1008 wird als 8-Kanal-Eingangsklemme angezeigt. EL2008 wird als 8-Kanal-Ausgangsklemme angezeigt. Verknüpfen Sie die Klemmenkanäle mit SPS-Variablen, indem Sie sie in Ihre Variablendeklaration ziehen.
Schritt 5 – Konfiguration aktivieren. Klicken Sie in der Symbolleiste auf „Konfiguration aktivieren“. TwinCAT 3 kompiliert den SPS-Code, erstellt die Echtzeitkonfiguration und lädt alles in die Laufzeitumgebung. Klicken Sie auf „Anmelden“, wählen Sie „Laufmodus“ aus, und die CX5130 führt die SPS-Logik mit der konfigurierten Zykluszeit aus – typischerweise 1 ms.
Einziges Problem: Der Laptop konnte den CX5130 nicht erreichen, da die AMS-Netzwerk-ID nicht geroutet war. Das Hinzufügen der Netzwerk-ID des Laptops über das TwinCAT-Router-Tool (Symbol in der Taskleiste) löste das Problem in weniger als zwei Minuten.
Das Merkmal, das TwinCAT 3 von allen herkömmlichen SPS-Plattformen unterscheidet: natives C++. Sie fügen ein C++-Modul direkt zum Echtzeitprojekt hinzu, schreiben Standard-C++ mit Echtzeiterweiterungen, und es läuft als TcCOM-Objekt auf demselben isolierten Kern wie die SPS – wobei der Speicher über Zeiger ohne Latenzverlust gemeinsam genutzt wird.
Ein deutscher Verpackungshersteller nutzte dies für eine OpenCV-basierte Flaschenverschlussprüfung mit 400 ppm. Das C++-Vision-Modul tauscht die Ergebnisse (bestanden/nicht bestanden) über eine gemeinsame Struktur mit der Zustandsmaschine der SPS aus. Ein herkömmlicher Ansatz – externe IPC über OPC UA – würde eine Latenz von 10–50 ms und eine zusätzliche Netzwerkverbindung erfordern.
Das TE1400-Zielsystem exportiert Simulink-Modelle als TcCOM-Module. Ein Verfahrenstechniker entwirft eine PID-Kaskade, klickt auf „Code generieren“, und das Modell wird in ein Echtzeitobjekt im TwinCAT 3-Projekt kompiliert. Der SPS-Programmierer ordnet die Modell-Ein- und Ausgänge realen E/A-Anschlüssen zu. Eine Wasseraufbereitungsanlage in den VAE nutzte dies für einen Koagulationsdosierungsalgorithmus: Trübungs- und pH-Sensoren wurden an analoge Eingänge des EL3024 angeschlossen, der Modellausgang steuerte analoge Ausgänge des EL4024 zu den Dosierpumpen. Die vollständige Integration dauerte einen Tag.
NC PTP übernimmt die Standard-Punkt-zu-Punkt-Positionierung mit Trapez- oder S-Kurvenprofilen – für Förderbänder, Linearantriebe und Drehpositionierung. TwinCAT CNC ist ein vollständiger numerischer Steuerungskern, der G-Code, 5-Achs-Kinematik, Werkzeugradiuskompensation und Look-Ahead unterstützt. Ein italienischer CNC-Betrieb führt 5-Achs-Bearbeitungen mit TwinCAT CNC und AX5000-Servoantrieben in 0,1 ms Interpolationszyklen durch.
TwinCAT HMI (TE2000) stellt HTML5/JavaScript-Dashboards von der Beckhoff IPC bereit. Alle browserfähigen Geräte – Panel-PCs, Tablets und Smartphones – zeigen dieselben Ansichten an. Die Kommunikation zwischen HMI-Server und SPS erfolgt über ADS und den lokalen AMS-Router mit Latenz im Submillisekundenbereich. Es ist keine proprietäre Panel-Hardware erforderlich.
TwinCAT 3 weist einzelnen Aufgaben spezifische, isolierte Kerne zu, wobei die Präemption deaktiviert ist. Ein typisches Quad-Core-Layout des CX2040: Kern 1 führt die SPS-Zustandsmaschine mit 1 ms aus, Kern 2 NC PTP mit 0,5 ms, Kern 3 ein C++-Vision-Modul mit 5 ms und Kern 0 Windows. Überschreitet eine Echtzeitaufgabe ihren Zyklus, meldet TwinCAT einen Verstoß und wechselt in einen konfigurierbaren Fehlerzustand. Bei Hochgeschwindigkeits-Packaging- oder CNC-Interpolatoren eliminiert die manuelle Kernisolierung Jitter, der die Maschine destabilisieren würde.
TwinCAT 3-Lizenzen sind einmalige Käufe pro Zielgerät. TC1200 (nur SPS, IEC 61131-3) kostet für eine CX5130 ca. 700 US-Dollar. TC1250 erweitert die Funktionalität um NC-PTP-Bewegungssteuerung. TC1300 schaltet C++ frei. Die Komplettlösung für eine CX2040 kostet 3.000 bis 4.000 US-Dollar. Die Entwicklungsumgebung ist für Entwicklung und Simulation kostenlos.
Eingebettete PCs: CX7000 (Einstiegsmodell ab ca. 400 €), CX2000-Serie (1.500–4.000 €), ultrakompakter IPC C6030 (ab 2.000 €). I/O-Terminals wie EL1008 und EL2008 kosten 80–120 € pro Modul. Standardlieferzeiten gemäß Katalog: 1–3 Wochen.
Entdecken Sie Beckhoff Embedded-PCs, EtherCAT-Terminals sowie Lizenzierungs- und SPS-Lösungen auf tztechio.com.

F: Kann ich TwinCAT 3 auf einem normalen Laptop für Entwicklungszwecke verwenden?
Ja. TwinCAT 3 XAE lässt sich auf jedem Windows 10/11 x64-System installieren. Der Echtzeitkernel läuft lokal mit isolierter CPU-Planung. Sie können vollständige SPS-, C++- und Bewegungsprogramme ohne Beckhoff-Hardware schreiben, kompilieren und simulieren. Für die E/A-Simulation schreiben Sie eine kurze ST-Routine, die Sensorrückmeldungen generiert. Für die Bewegungssimulation aktivieren Sie den Achsensimulationsmodus in der Systemkonfiguration.
F: Ist TwinCAT 3 schwieriger zu erlernen als Studio 5000 oder TIA Portal?
Die Visual Studio-Umgebung erfordert etwas Einarbeitungszeit, wenn man bisher nur mit dedizierten SPS-IDEs gearbeitet hat. Der Workflow für die E/A-Scan-Funktion ist jedoch einfacher als der Hardwarekatalog des TIA Portals, und Ingenieure, die mit strukturiertem Text und grundlegenden Softwarepraktiken (Versionskontrolle, Debugging, Variablenbereich) vertraut sind, finden TwinCAT 3 in der Regel innerhalb der ersten Woche intuitiv. Die F1-Hilfe von Beckhoff ist umfassend und kontextbezogen.
F: Benötige ich einen Beckhoff IPC oder kann ich einen PC eines Drittanbieters verwenden?
Die Laufzeitumgebung läuft auf jedem x86-Windows-PC, Beckhoff validiert das Echtzeitverhalten jedoch ausschließlich auf eigener Hardware. Bei PCs von Drittanbietern besteht das Risiko von Jitter aufgrund von Chipsatz-, BIOS-Energiemanagement- oder Treiberproblemen. Entwickeln und simulieren Sie daher auf einem beliebigen Laptop. Für die Produktion empfehlen wir Beckhoff IPCs – die Kostenunterschiede sind im Vergleich zum Debuggen nicht validierter Hardware vernachlässigbar.
F: Kann ich Kontaktplanlogik und strukturierten Text im selben Projekt mischen?
Ja. Ein einzelnes SPS-Projekt kann PRGs, FBs und FCs in beliebiger Kombination aus ST, LD, FBD und CFC enthalten. Eine Kontaktplanroutine kann einen ST-Funktionsbaustein aufrufen. Ein CFC-Diagramm kann auf Kontaktplannetzwerke verweisen. Kompilierung und Verknüpfung sind sprachunabhängig.
F: Unterstützt TwinCAT 3 OPC UA und MQTT für Industrie 4.0?
Ja. Der TF6100 bietet OPC-UA-Serverfunktionen und stellt SPS-Symbole als konfigurierbare Knoten bereit. Der TF6701 ergänzt diese um MQTT Publish/Subscribe. Beide laufen als TcCOM-Module in Echtzeit, unabhängig von Windows-Diensten.
F: Wie werden Firmware- und Software-Updates auf einem laufenden Rechner durchgeführt?
TwinCAT 3 unterstützt Online-Änderungen – SPS-Code kann geändert, Variablen hinzugefügt und die Aufgabenkonfiguration angepasst werden, während die Laufzeitumgebung im Run-Modus bleibt. Strukturelle Änderungen (neue EtherCAT-Geräte, Zykluszeitänderungen, C++-Module) erfordern eine „Konfiguration aktivieren“ mit einem kurzen kontrollierten Neustart. Für Prozesse, die rund um die Uhr laufen, stehen redundante TwinCAT-Konfigurationen mit automatischer Ausfallsicherung zur Verfügung.
Darüber hinaus möchten wir mit Ihrer Erlaubnis Cookies platzieren, um Ihren Besuch und die Interaktion mit slOC persönlicher zu gestalten. Hierzu verwenden wir Analyse- und Werbecookies. Mit diesen Cookies können wir und Dritte Ihr Internetverhalten innerhalb und außerhalb von super-instrument.com verfolgen und erfassen. Dabei passen wir und Dritte super-instrument.com und Werbung an Ihre Interessen an. Indem Sie auf „Akzeptieren“ klicken, stimmen Sie dem zu. Wenn Sie dies ablehnen, verwenden wir nur die notwendigen Cookies und Sie erhalten leider keine personalisierten Inhalte. Bitte besuchen Sie unsere Cookie-Richtlinie für weitere Informationen oder um Ihre Einwilligung in Zukunft zu ändern.
Accept and continue Decline cookies