Eine Aufzählung ist ein benutzerdefinierter Datentyp, der aus einer Reihe von String-Konstanten besteht. Diese Konstanten werden als Aufzählungswerte bezeichnet.
Aufzählungswerte werden in allen Bereichen des Projekts erkannt, auch wenn sie innerhalb einer POU deklariert wurden. Am besten legen Sie Ihre Aufzählungen als Objekte im Object Organizer unter der Registerkarte „Datentypen“ an. Sie beginnen mit dem Schlüsselwort TYPE und enden mit END_TYPE.
Syntax:
TYPE <Identifier>:(<Enum_0> ,<Enum_1>, ...,<Enum_n>); END_TYPE
Eine Variable vom Typ <Bezeichner> kann einen der Aufzählungswerte annehmen und wird mit dem ersten initialisiert. Diese Werte sind mit ganzen Zahlen kompatibel, was bedeutet, dass Sie mit ihnen genauso wie mit INT operieren können. Sie können der Variablen eine Zahl x zuweisen. Wenn die Aufzählungswerte nicht initialisiert sind, beginnt die Zählung bei 0. Bei der Initialisierung ist darauf zu achten, dass die Anfangswerte steigen. Die Gültigkeit der Nummer wird zum Zeitpunkt der Durchführung überprüft.
Beispiel:
TYPE TRAFFIC_SIGNAL: (Red, Yellow, Green:=10); (*The initial value for each of the colors is red 0, yellow 1, green 10 *) END_TYPE TRAFFIC_SIGNAL1 : TRAFFIC_SIGNAL; TRAFFIC_SIGNAL1:=0; (* The value of the traffic signal is red*) FOR i:= Red TO Green DO i := i + 1; END_FOR;
Ein und derselbe Aufzählungswert darf weder innerhalb einer Aufzählung noch innerhalb aller Aufzählungen, die in ein und derselben POU verwendet werden, zweimal verwendet werden.
Beispiel:
TRAFFIC_SIGNAL: (red, yellow, green); COLOR: (blue, white, red); Error: red may not be used for both TRAFFIC_SIGNAL and COLOR.