Neben klassischer SPS-Programmierung nach IEC 61131-3 und der Hochsprachenprogrammierung mit C++ unterstützt TwinCAT auch MATLAB® und Simulink®. Bei deren Nutzung hat sich die Beckhoff-Automatisierungssuite bereits als erfolgreiche Softwareplattform etabliert – mit der Nutzung von MATLAB®/Simulink® durch über 2.000 Ingenieure auf mehr als 6.500 TwinCAT-gesteuerten Maschinen.
MATLAB® liefert mit seinen zahlreichen Toolboxen eine ideale Umgebung zur Entwicklung von Algorithmen und zur Analyse von Daten. Es bietet zahlreiche Funktionen für den einfachen Zugriff auf unterschiedliche Datenformate und harmoniert mit den unterschiedlichen Data-Logging-Mechanismen von TwinCAT. Simulink® ist fokussiert auf die durchgängige Unterstützung von Model-based Design. Hierbei wird anhand eines Systemmodells entwickelt, getestet und verifiziert. Die anschließende, automatische Codegenerierung für Plattformen wie z. B. TwinCAT stellt eine optimale Lösung dar, um den getesteten Code in der Produktion anzuwenden.
Targets für Simulink® und MATLAB®
Mit TwinCAT Target for Simulink® (TE1400) können in Simulink® entwickelte Modelle in TwinCAT genutzt werden. Eingebettete MATLAB®-Funktionsbausteine werden ebenfalls unterstützt. Die Modelle werden automatisch mithilfe des Simulink Coder™ in C/C++-Code übersetzt und mit TwinCAT Target for Simulink® als nahtlos in TwinCAT Engineering verwendbare TwinCAT-Objekte umgesetzt. Das im Engineering eingebettete Blockdiagramm kann dabei – neben dem Simulink® External Mode – als Control zur Parameteranpassung sowie für das Debugging, Signal- und State-Monitoring dienen. Einerseits können die automatisch generierten Module als TcCOM-Objekt und andererseits als SPS-Funktionsbaustein in die TwinCAT-Lösung eingebunden werden. Die Module werden dann mit dem gesamten TwinCAT-Projekt in die TwinCAT Runtime heruntergespielt und dort innerhalb der Echtzeitumgebung ausgeführt.
MATLAB®-Funktionen lassen sich mit dem TwinCAT Target for MATLAB® (TE1401) nutzen. Die Funktionen werden automatisch in TwinCAT-Objekte überführt und nahtlos in TwinCAT Engineering verwendet. Auch diese automatisch generierten Module können als TcCOM-Objekt oder SPS-Funktionsbaustein eingebunden und innerhalb der TwinCAT-Echtzeitumgebung ausgeführt werden.
Interface für MATLAB®/Simulink®
TwinCAT Interface for MATLAB®/Simulink® (TE1410) stellt eine performante bidirektionale Kommunikation zwischen der TwinCAT Runtime und MATLAB® oder Simulink® her. Dieses Werkzeug lässt sich in der Engineeringphase einer Anlage zur Software-in-the-Loop-Simulation nutzen und während der Maschinenlaufzeit als einfaches Tool zum verteilten Rechnen. So können MATLAB®-Funktionen lokal auf der Steuerung oder im Netzwerk, z. B. zur Parameteroptimierung oder vorbeugenden Wartung, ausgeführt werden. Zudem sind Maschinenvisualisierungen auf Basis von MATLAB®-Apps möglich.