Skip to main content

Datentyp: Implizite Enumeration

Die implizite Enumeration ermöglicht auf einfache Weise die Deklaration einer neuen Enumerationsvariablen, die nur innerhalb der lokalen POU gültig ist. Eine Variable diesen Typs kann eine begrenzte Anzahl von ganzzahligen Werten annehmen, die in der Komponentenliste deklariert werden.

Die implizite Enumeration hat keinen Datentyp-Namen oder Bezeichner.

Deklaration:

<variable name> : ( <list of component names> ) := <initialization>;

<list of component names>

Komma separierte Liste von Komponentennamen mit der gewünschten Anzahl von Komponenten

Jede Komponente steht für einen ganzzahligen Wert, beginnend bei 0. Der Wert der nachfolgende Komponente erhöht sich jeweils um 1.

Beispiel: Alfa, Bravo, Charlie, Delta, Echo

Den Komponenten kann auch ein fester Wert zugewiesen werden.

Beispiel: Zero, Alfa:=10, Bravo:=20, Charlie:=30, Delta:=40, Echo

<initialization>

Optional

Initialisierungswert, üblicherweise eine Komponente

Aufruf:

Beispiel 233. Beispiel
PROGRAM PLC_PRG
VAR
    iAlphabet : (Alfa, Bravo, Charlie, Delta, Echo) := Echo;
    strText : STRING;
    iNumber : INT;
END_VAR
CASE iAlphabet OF
	Alfa:
	strText := 'A';
	
	Bravo: 
	strText := 'B';
	
	Charlie:
	strText := 'C';
	
	Delta:
	strText := 'D';
	
	Echo:
	strText := 'E';
END_CASE
iNumber := iAlphabet;


Interner Datentyp

Bei einer impliziten Enumeration wird intern ein Datentyp erzeugt, dessen Namen folgendem Schema folgt:

IMPLICIT_ENUM_ <POU name> _ <variable name>

Sie sollten diesen internen Bezeichner jedoch nicht verwenden, da es immer möglich ist, dass der interne Bezeichner anders lautet.