Enumerationen (ENUMs)
Eine Variable eines anwenderdefinierten Datentyps Enumeration (ENUM) kann einen Wert aus einer vordefinierten Liste annehmen. Andere Variablenwerte sind nicht möglich.
Beispiel: Die Enumeration 'PossibleColors' beinhaltet die Werte Red, Green und Blue, von denen jeder den Datentyp INTeger hat, d.h. Red = 0, Green = 1 und Blue = 2.
In ST wird die Variable 'Color' vom Datentyp ENUM auf INT = 1 gesetzt, d.h. Green, wenn Start = TRUE.
Datentypdefinition | |
Variablen-Deklaration (Variablentabelle/Datenliste) | ![]() |
Verwendung im Code | ![]() |
Hinweis
Wenn zwei oder mehr Enumerationen gleichnamige Elemente enthalten, dann können Sie vor dem Elementnamen optional den ENUM-Namen angeben, gefolgt vom Hash-Zeichen. Beispiel: Zwei Enumerationen enthalten das Element Green. TYPE EnumColor : (Red := 0, Green := 10, Blue := 20) OF INT := Green; EnumBackgound : (Red := 255, Green := 128, Blue := 0) OF INT := Green; END_TYPE Die Anweisung eColor := EnumBackgound#Green; ist im Code eindeutig. |
Enumerationen (ENUMs) initialisieren
Enumerationen können auf zwei Arten initialisiert werden:- Jedem Element kann in der Namensliste ein Wert zugewiesen werden (Blue := 5 im Beispiel unten). Ohne Initialisierung dieser Listenelemente werden sie fortlaufend nummeriert, angefangen mit 0 beim ersten Element.
- Für ein Listenelement kann entweder im Datentyp-Arbeitsblatt oder in der Variablentabelle ein Anfangswert (Init) zur Initialisierung vorgegeben werden (im folgenden Beispiel ist dies der Anfangswert Green).
Sie können den voreingestellten Anfangswert einer Enumeration auch mit dem 'Init-Werteeditor' definieren.
Eine Variable des Datentyps 'PossibleColors' wird mit dem Wert Green (INT#1) initialisiert.
Weitere Infos
Lesen Sie dazu auch das Thema "Anwenderdefinierte Datentypen". |