-

Enumerationen (ENUMs)

Eine Variable eines anwenderdefinierten Datentyps Enumeration (ENUM) kann einen Wert aus einer vordefinierten Liste annehmen. Andere Variablenwerte sind nicht möglich.

Der ENUM-Wert kann entweder ein Literal oder eine lokale bzw. globale Konstante sein (lokal = in einem Datentyp-Arbeitsblatt mit einem VAR CONSTANT...END_VAR Deklarationsblock deklarierte Variable; global = Variable mit markiertem Attribut 'Konstante' in der Variablentabelle/Datenliste).

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:

Eine Variable des Datentyps 'PossibleColors' wird mit dem Wert Green (INT#1) initialisiert.

Weitere Infos
Lesen Sie dazu auch das Thema "Anwenderdefinierte Datentypen".