Ereignisklasse

Ereignisklassen sind Gruppierungen von Events (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).

Ereignisklasse 1:

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, indem 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

Ereignisklasse 2:

Name

Dieser Name bezeichnet die Ereignisklasse z. B. in dem generierten Quellcode.

Namespace

Wie alle Datentypen können auch Ereignisklassen einem Namespace angehören.

DisplayText

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.

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 unter External Types im Kontextmenü des generierten Datentyps den Befehl Pin Global Data Type.

Ereignisklasse 3:

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.

Ereignisklasse 4:

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.

Ereignisklasse 5: