TwinCAT Event
Der TwinCAT Event Block erzeugt bei einer steigenden Flanke am Blockeingang ein TwinCAT Event. Der Block erfüllt diese Funktion nur, wenn das Simulink®-Modell bereits in ein TcCOM Modul überführt wurde und in einer TwinCAT Runtime ausgeführt wird. Wenn das Simulink®-Modell in Simulink® ausgeführt wird, hat dieser Block keine Funktion. Sie finden hier weiterführende Informationen zu Events in TwinCAT 3.
Das Wichtigste zu Events in TwinCAT 3 in Kürze:
- In TwinCAT gibt es zwei Typen von Events: Nachrichten und Alarme.
- Nachrichten sind zustandslos, während Alarme über die Zustände "Not Raised", "Raised", "WaitingForConfirmation" (optional), und "Confirmed" / "Reset" (optional) verfügen.
- Events werden in einer TMC-Datei definiert.
Die Erzeugung eines Events (Nachricht oder Alarm) erfolgt über eine steigende Flanke an den entsprechenden Eingang des TwinCAT Event Blocks in Simulink®. Im Fall von Nachrichten hat der Block einen Send Eingang. Im Fall von Alarmen hat der Block die Eingänge Raise, Confirm (optional), und Clear.
Zur Nutzung des TwinCAT Event Blocks wird eine TMC-Datei benötigt, in der die Events definiert sind. Die Erzeugung einer solchen Datei ist unten beschrieben.
Der TwinCAT Event Block kann über dieses Fenster konfiguriert werden:

Die einzelnen Optionen bewirken Folgendes:
Number | Name | Description |
|---|---|---|
(1) | Load event from file | Button that opens a new window which provides a selection menu for an event from a source TMC file (refer to 2). |
(2) | Event definition source TMC file | Path to the TMC file that holds the underlying event definition. Is automatically set when using (1). Can also be set manually e.g. relative to the Simulink® project directory: |
(3) | Mode | Switch between |
(4) | Event class name | Name of the selected event class. Is automatically set when using (1). Can also be set manually. |
(5) | Event name | Name of the selected event. Is automatically set when using (1). Can also be set manually. |
(6) | Event severity | Severity level of the to be generated event. Options: |
(7) | Confirmation policy | Only available for alarms (refer to (3)) Defines how the confirmation state of an alarm changes at a rising edge of the
|
(8) | Event source name suffix | Advanced Parameter: adds a suffix to the automatically resolved source name (name of the object instance in TwinCAT). Useful when one event is triggered from multiple points in one Simulink® model. |
(9) | Arguments | Events can have additional (dynamic) data in the event text in the form of arguments. Up to 9 arguments are supported. |
(10) | Enable | Checkbox that enables the respective argument. A new input will be added to the block on the Simulink® block diagram. |
![]() | Funktionsblöcke werden von dem "TwinCAT Event" Block nicht unterstützt Zur Code-Generierung müssen der Parameter „Generate TwinCAT PLC Function Block“ unter „TC PlcFb General“, der Parameter „TcCOM Wrapper FB“ unter „TC TcCom Wrapper“, sowie die Parameter „Generate a PLC library“ und „Install the generated PLC library“ unter „TC PLC Library“ deaktiviert sein. |
Nachfolgend ist zunächst beschrieben wie Sie eine Event Definition in einer TMC-Datei abspeichern und anschließend diese TMC-Datei in den "TwinCAT Event" Block in Simulink® einbinden können, um Nachrichten oder Alarme zu erzeugen.
Voraussetzungen zur Nutzung des TwinCAT Event Blocks: Event Definition in einer TMC-Datei
Zur Nutzung des TwinCAT Event Blocks benötigen Sie eine TMC-Datei, in der die Eventklasse der zu erzeugenden Events definiert ist. Zur Erstellung einer solchen TMC-Datei gehen Sie im TwinCAT 3 Engineering wie folgt vor:
- TwinCAT 3 Engineering ist installiert (XAE Shell oder Visual Studio Integration) und geöffnet.
- Ein TwinCAT XAE Projekt ist geöffnet.
- 1. Erweitern Sie den System Knoten und fügen Sie eine neue TMC-Datei unter dem "Type System" über einen Rechtsklick und "Add New Item…" hinzu.
- 2. Geben Sie der Datei einen Namen und speichern Sie diese (als Beispiel nutzen wir hier: "TE1400SampleEvents.tmc").
- 3. Öffnen Sie den TMC-Editor über einen Rechtsklick und "Edit Project File" auf die erstellte TMC-Datei im TwinCAT 3 Engineering.
- 4. Im TMC-Editor erstellen Sie eine neue "event class" über einen Rechtsklick auf den "Data Types" Knoten.
- 5. Geben Sie der Ereignisklasse einen Namen und geben Sie einen Display-Text an.
- 6. Unterhalb der Ereignisklasse ist bereits ein Ereignis angelegt. Geben Sie dem Ereignis einen Namen und geben Sie einen Display Text und die Severity an. Im Display Text können Sie auch Argumente einsetzen, welche Sie zur Laufzeit mit Werten versorgen und so hilfreiche Zusatzinformationen (wie beispielsweise eine Temperatur) bereitstellen können. (Bspw. "Current temperature: {0}").
- 7. Speichern Sie nun die Ereignisklasse und schließen Sie den TMC-Editor.
- 8. Wählen Sie nun folgende CheckBox in dem "Event Classes" Tab der erzeugten "TE1400SampleEvents" TMC aus (diese CheckBox bewirkt, dass der Ref Count inkrementiert wird und die Event Informationen tatsächlich in der TMC-Datei gespeichert werden).
- 9. Speichern Sie anschließend das TwinCAT Projekt über Save All (Ctr + Shift + S).

- Die Event Definition ist in einer TMC-Datei gespeichert und kann nun von dem TwinCAT Event Block in Simulink® genutzt werden.
Konfiguration des TwinCAT Event Blocks in Simulink®
Das Verhalten des TwinCAT Event Blocks kann über das oben gezeigte Fenster, welches mit Doppelklick auf den Block geöffnet wird, konfiguriert werden. Gehen Sie hierzu wie folgt vor:
- Sie verfügen über eine in einer TMC-Datei gespeicherten Event Definition (siehe Oben).
- Das Konfigurations UI des TwinCAT Event Blocks ist mittels Doppelklicks geöffnet.
- 1. Über den "Load event form file" (1) button wird ein "Browse events" Fenster geöffnet, welches die Auswahl des zu erzeugenden Events erleichtert (zum Einlesen einer TMC-Datei den "Load file" button einsetzen und die Datei auswählen).
- 2. Wählen Sie nun das zu erzeugende Event aus (in unserem Beispiel "MyCustomEvent") und bestätigen Sie über "OK".
- Es werden für Sie im Hintergrund automatisch der "Event class name" (4) und der "Event name" (5) gesetzt.
- 3. Wählen Sie nun über den "Mode" (3) aus, ob eine Nachricht oder ein Alarm erzeugt werden soll (in diesem Beispiel erzeugen wir eine Nachricht; Alarme können analog zu Nachrichten erzeugt werden und unterscheiden sich durch zwei zusätzliche Trigger Eingänge, sowie den
Confirmation state). - 4. Wählen Sie nun die Event severity (6) aus.
- 5. (In diesem Beispiel werden keine Argumente genutzt, wenn Sie Argumente nutzen möchten, können Sie in dem UI unter den entsprechenden Argument Tabs (9) die Argumente erstellen. Für jedes Argument wird ein eigener Eingang generiert. Es können aktuell bis zu 9 Argumente erstellt werden. Beachten Sie, dass die Nutzung der Argumente beim Anlegen im TMC-Editor über den Event Display Text vorgegeben werden muss; Bspw: "Current temperature: {0}")
- 6. Schließen Sie die Konfiguration mit einem Klick auf "Ok" ab.

- Beachten Sie die nicht Unterstützung von Funktionsblöcken und parametrieren Sie die Code-Generierung in Simulink® entsprechend.
![]() | Bei der Generierung der TcCOM Module werden die Event Informationen aus der TMC-Datei kopiert Werden die Event-Informationen in der TMC-Datei anschließend geändert, ist zu einer Übernahme der Änderungen ein erneutes Bauen des Simulink® Models erforderlich. |
