Mit TwinCAT 3 und der eXtended Automation Technology (XAT) steht eine
eXtended Automation Architecture
Mit der eXtended Automation Architecture (XAA) werden die von TwinCAT bekannten Features weiter fortgeführt. Zudem werden auch künftig alle verbreiteten Feldbusse unterstützt. Motion Control von Point-to-Point-Bewegungen bis hin zur CNC ist natürlich weiterhin möglich. Mit den schon vorgestellten Scientific-Automation-Themen wie Robotik, Messtechnik und Condition Monitoring wird die reine Automatisierungstechnik deutlich erweitert. Neu ist die Möglichkeit, weitere Programmiersprachen, wie C/C++ und Matlab®/Simulink®, nutzen zu können.
eXtended Automation Engineering
Die eXtended-Automation-Engineering-Umgebung (XAE) ist das weit verbreitete Microsoft Visual Studio®. Beckhoff hat in diese weltweit bekannte Entwicklungsumgebung – neben den schon vorhandenen C/C++-Sprachen – auch die IEC 61131-3-Programmiermöglichkeit integriert. Die Vorzüge des IT-Frameworks werden so für die Automatisierung nutzbar gemacht.
Ebenfalls wurde der TwinCAT System Manager – das Konfigurationstool für I/O und Motion – in die gleiche Entwicklungsumgebung integriert. Der Vorteil liegt in den Möglichkeiten, mit wenig Aufwand weitere Programmiersprachen einzubinden bzw. weitere Tools – wie z. B. Quellcodeverwaltungstools – zu nutzen.
Die Integration in das Visual Studio® erfolgt auf zwei verschiedenen Wegen. In der TwinCAT-Standard-Variante wird lediglich das Framework von Visual Studio® mit all seinen Vorteilen bezüglich des Handlings, der Anbindung an Quellverwaltungssoftware, der Hilfe-Funktionalität etc. genutzt.
In der zweiten Variante integrieren sich die TwinCAT-3-Komponenten direkt in das Visual Studio® 2010, insofern dieses vorhanden ist. Ist es nicht vorhanden, wird das Visual Studio® mit den TwinCAT-3-Komponenten installiert. In dieser Version stehen den Anwendern zusätzlich die Programmiersprachen C/C++ und damit die Anbindung an die Matlab®/Simulink®-Welt über den Matlab®/Simulink®-Realtime-Workshop zur Verfügung. Für die Programmiersprachen C/C++ wurde ein Debugger mit Online-Monitoring-Funktion entwickelt, welcher über die normalen Debugging-Funktionen von C/C++ hinausgeht.
eXtended Automation Runtime
In der eXtended Automation Runtime (XAR) werden alle Module, geschrieben in IEC 61131, C/C++ oder Matlab®/Simulink®, in Echtzeit abgearbeitet. Die bewährte TwinCAT-Echtzeiterweiterung für Microsoft-Betriebssysteme kommt auch hier zur Anwendung. Mit einer minimalen Zykluszeit von 50 μs und sehr kleinem Jitter können die Tasks bearbeitet werden. Erweitert wurde die TwinCAT-Echtzeit um die Möglichkeit, bestimmte Tasks auf unterschiedlichen Kernen einer Multicore-CPU auszulagern. Damit wird die Performance der PC-Steuerung weiter gesteigert.
Auch die mittlerweile vielfach genutzten 64-Bit-Betriebssysteme werden mit TwinCAT 3 unterstützt. Die modulare Softwarearchitektur mit klaren Schnittstellen ermöglicht erst das Bearbeiten von in verschiedenen Programmiersprachen geschriebenen Runtime-Objekten. Diese sogenannten TcCOM-Interfaces sind an das bekannte Component Object Model angelehnt und für die Automatisierungstechnik adaptiert. Module werden über dieses Interface von Tasks aufgerufen und können sich auch gegenseitig aufrufen – unabhängig von der Programmiersprache. Auf unterster Ebene können mit dieser Moduldefinition auch Automation Device Driver (ADD) realisiert werden. Diese können dann z. B. Treiber für neue Feldbusse sein.