Der IEC-Operator dient als Multiplexer.
OUT := MUX(K, IN0,...,INn)
bedeutet OUT = IN_K
Erlaubte Datentypen für K
: BYTE
, WORD
, DWORD
, LWORD
, SINT
, USINT
, INT
, UINT
, DINT
, LINT
, ULINT
UDINT
.
IN0
, ..., INn
und OUT
: Beliebiger, identischer Datentyp. Achten Sie speziell bei der Verwendung von benutzerdefinierten
Datentypen darauf, dass an allen drei Positionen Variablen mit identischem Typ verwendet
werden. Der Compiler prüft die Typgleichheit und gibt Übersetzungsfehler aus. Insbesondere
die Zuweisung von Instanzen eines Funktionsbausteins an Schnittstellen(variablen)
wird nicht unterstützt.
MUX
wählt aus einer Menge von Werten den K-ten aus. Der erste Wert entspricht K=0. Wenn
K
größer als die Anzahl der weiteren Eingänge (n) ist, so gibt CODESYS den letzten Wert weiter (INn
).




HINWEIS

Zum Zweck der Laufzeitoptimierung berechnet CODESYS nur den Ausdruck, den Sie IN_K
vorgeschaltet haben. In der Simulation dagegen berechnet CODESYS alle Zweige.
Beispiele
Ergebnis in Var1
ist 30
.
ST:
Var1 := MUX(0,30,40,50,60,70,80);