Ausführung des generierten Moduls unter TwinCAT
In TwinCAT 3 kann ein TcCOM-Modul direkt von einer zyklischen Echtzeit-Task oder von einem anderen Modul, z.B. einer SPS, aufgerufen werden. Um das Verhalten der einzelnen Modulinstanzen festzulegen, kann die Art der Ausführung in der TwinCAT 3-Entwicklungsumgebung definiert werden.
Kontexteinstellungen
Unter dem Karteireiter Context der Modulinstanz finden Sie eine Liste aller Simulink-Sampletimes des Moduls. Ist in den Solvereinstellungen des Simulink-Modells "SingleTasking" ausgewählt, ist die Anzahl der Tasks auf 1 beschränkt:

Für jeden der in der Tabelle aufgelisteten Kontexte ist eine Task festzulegen, über die der Aufruf des Moduls erfolgen soll. Abhängig von den Einstellungen unter "Depend On" erfolgt die Zuordnung der Tasks unterschiedlich:
Einstellung "Depend On" | Beschreibung |
---|---|
Manual Config | Die Tasks können in der Kontexttabelle manuell zugewiesen werden, indem in der Spalte "Task" die Objekt-IDs der Tasks ausgewählt oder eingetragen werden. Die ausgewählten Tasks müssen alle Kriterien erfüllen, die über die "Aufruf-Parameter" konfiguriert wurden. |
Parent Object | Kann nur verwendet werden, wenn der Eltern-Knoten der Modulinstanz im Projektbaum eine Task ist. In diesem Fall dient das Parent-Object als zyklischer Aufrufer des Moduls. |
Task Properties | Die Tasks werden dem Modul automatisch zugewiesen, wenn Zykluszeit und Priorität den in Simulink festgelegten Werten entsprechen. Gibt es keine entsprechende Task, können unter dem Knoten "System Configuration -> Task Management" neue Tasks erstellt und entsprechend parametriert werden. |
Konfiguration in XAE
Parameter, die das Verhalten des Simulink-Moduls in der Ausführung beeinflussen, sind:
Parameter | Optionen / Beschreibung | |
---|---|---|
CallBy | Task | Das Modul hängt sich automatisch an die in den Kontexteinstellungen festgelegten Tasks an, wenn TwinCAT in den Run-Modus geschaltet wird. Die Tasks rufen das Modul zyklisch auf, bis TwinCAT gestoppt wird. |
Module | Das Modul wird nicht direkt von den zugeordneten Tasks aufgerufen, sondern kann aus der SPS oder einem anderen Modul heraus aufgerufen werden. Wichtig: Dem aufrufenden Modul muss die gleiche Task zugewiesen sein, wie dem aufzurufenden TcCOM-Objects selbst. | |
Step size | RequireMatchingTaskCycleTime | Das Modul erwartet als Zykluszeit der zugeordneten Task die in Simulink festgelegte "Fixed Step Size". Multitasking-Module erwarten, dass alle zugewiesenen Tasks mit der zugehörigen Simulink-Sampletime konfiguriert wurden. Anderenfalls kann das Modul (und auch TwinCAT) nicht gestartet werden. Die Startsequenz wird dann mit entsprechenden Fehlermeldungen abgebrochen. |
UseTaskCycleTime | Das Modul erlaubt Zykluszeiten, die von der in Simulink festgelegten "Fixed Step Size" abweichen. Bei Multitasking-Modulen müssen alle Task-Zykluszeiten das gleiche Verhältnis zur zugehörigen Simulink-Sampletime aufweisen. | |
UseModelStepSize | Das Modul verwendet für alle internen Berechnungen die in Simulink eingestellte SampleTime. Diese Einstellung ist vornehmlich für die Verwendung in Simulationen innerhalb der TwinCAT-Umgebung gedacht. | |
ExecutionSequence | Dieser Parameter ist nur in Modulen verfügbar, die ab TE1400 Version 1.1 generiert wurden. Mit ihm kann die Reihenfolge der Berechnungs- und Kommunikationsprozesse angepasst werden, um Jitter und Reaktionszeit für den jeweiligen Anwendungsfall zu optimieren. Mit TE1400 Version 1.0 generierte Module verwenden immer die Reihenfolge "StateUpdateAfterOutputMapping ". Die Unterschiede zwischen den verschiedenen Optionen sind unter „ Ausführungsreihenfolge“ beschrieben. | |
IOAtTaskbeginn | Ausführungsreihenfolge: | |
StateupdateAfterOutputMapping | Ausführungsreihenfolge: | |
StateupdateBeforeOutpunkUpdate | Ausführungsreihenfolge: |
Zugriff auf diese Parameter erhält man in der TwinCAT-Entwicklungsumgebung (XAE) über den Objektknoten unter folgenden Karteireitern:
- Parameter (Init) :
- Blockdiagramm :
![]() | Wird keiner dieser Karteireiter angezeigt, müssen die Simulink-Coder-Einstellungen für Parameterdarstellung in XAE angepasst werden. |