Gibt es Limitierungen hinsichtlich der Ausführung von Modulen in Echtzeit?
Nicht alle Zugriffe, die in Simulink® unter Nicht-Echtzeit-Bedingungen möglich sind, können in der TwinCAT-Echtzeit-Umgebung durchgeführt werden. Im Folgenden werden bekannte Limitierungen beschrieben:
- Direkter Dateizugriff: Aus der TwinCAT-Runtime ist kein direkter Zugriff auf das Dateisystem des IPC realisierbar. Zum Schreiben von .mat-Dateien nutzen Sie bitte den TwinCAT-File-Writer-Block anstatt den ToFile-Block von Simulink®.
- Direkter Hardware-Zugriff: Ein direkter Zugriff auf Geräte/Schnittstellen setzt einen entsprechenden Treiber voraus, z. B. RS232, USB, Netzwerkkarte, …
Aus dem Echtzeitkontext kann nicht auf die Gerätetreiber des Betriebssystems zurückgegriffen werden. Zum Beispiel ist es daher nicht einfach möglich, mit der Instrument Control ToolboxTM eine RS232-Kommunikation für den Nicht-Echtzeit-Betrieb herzustellen und diese dann direkt in der TwinCAT-Runtime zu nutzen. Zur Anbindung von externen Geräten kann aber seitens TwinCAT auf eine Vielzahl von Kommunikationsmöglichkeiten zurückgegriffen werden, siehe TwinCAT 3 Connectivity TF6xxx. - Zugriff auf die Betriebssystem-API: Es ist nicht möglich, aus der TwinCAT-Runtime die API des Betriebssystems direkt zu nutzen; ein Beispiel ist die Einbindung der windows.h in C/C++-Code. Diese wird bspw. durch den Simulink CoderTM bei Verwendung der FFTW-Implementierung (aber nicht bei der Radix-2-Implementierung) des FFT-Blocks aus der DSP Systems ToolboxTM eingebunden.
- Precompiled libraries: Es ist möglich, dass bei der Code-Generierung durch den Simulink CoderTM kein plattformunabhängiger C/C++-Code erzeugt wird, sondern vorkompilierte Bibliotheken eingebunden werden. In diesen Fällen ist keine Echtzeitausführung in TwinCAT möglich.