Ereignisklasse
Ereignisklassen sind Gruppierungen von Ereignissen (möglicherweise zu einem Thema) und im Sinne des TwinCAT-Typsystems Datentypen, die in unterschiedlichen Modulen verwendet werden können. Aus diesem Grund werden sie als Datentypen im TwinCAT-Typsystem angelegt (System > Type System > Event Classes).
Im TwinCAT-Typsystem in der Registerkarte Event Classes werden alle bekannten Ereignisklassen aufgelistet. Über die Kontextmenübefehle Edit und New kann der TMC-Editor geöffnet werden, in dem die Ereignisklassen definiert und bearbeitet werden können.
TwinCAT stellt neben den Ereignisklassen des Projekts weitere Ereignisklassen bereit, z. B. ADS-Returncodes und Systemereignisse.
Eigenschaften von Ereignisklassen
Name | Beschreibung |
---|---|
Name | Dieser Name bezeichnet die Ereignisklasse z. B. in dem generierten Quellcode. |
Namespace | Wie alle Datentypen können auch Ereignisklassen einem Namespace angehören. |
Display Text | Dieser Text wird für die Ereignisklasse zur Anzeige verwendet. Er ist internationalisierbar (siehe Internationalisierung/Translations). |
Guid | Wie bei allen Datentypen identifiziert sie die aktuell beschriebene Ereignisklasse. Sie wird automatisch berechnet und verändert sich bei Änderungen innerhalb der Ereignisklasse. |
Optional properties | Durch das Setzen von Properties kann das Verhalten der Ereignisklassen verändert werden:
|
Ereignisklassen in SPS-Bibliotheken
Wenn Ereignisklassen in einer SPS-Bibliothek genutzt werden, sollten diese auch Bestandteil der Bibliothek sein, sodass sichergestellt ist, dass die Datentypen im TwinCAT-Typsystem jeder Applikation, die die SPS-Bibliothek nutzt, enthalten sind.
Hierfür müssen die Ereignisklassen in der SPS-Bibliothek „gepinnt“ werden. Wählen Sie dazu im SPS-Bibliotheksobjekt im Kontextmenü Add den Befehl Add Global Data Type … (in TwinCAT 3.1 4024: External Types -> Pin Global Data Type).
Wählen Sie den Datentyp der Ereignisklasse aus:
Ereignisklassen in C++-Projekten
Für C++-Projekte gibt es analog zu den anderen TwinCAT-Datentypen die Möglichkeit Ereignisklassen lokal im C++-Projekt zu definieren.
Die Ereignisklassen werden zur Verwendung in den entsprechenden C++-Modulen deklariert (unabhängig davon, wo sie definiert wurden). Wenn in einem C++-Modul eine Ereignisklasse ergänzt wird, wird diese automatisch in die TMC-Datei des Moduls eingebettet.