Skip to main content

Operator: MUX

Der IEC-Operator dient als Multiplexer.

OUT := MUX(K, IN0,...,INn)

Das 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).

Wichtig

Zum Zweck der Laufzeitoptimierung berechnet CODESYS nur den Ausdruck, den Sie IN_K vorgeschaltet haben. In der Simulation dagegen berechnet CODESYS alle Zweige.

Beispiel 126. Beispiele

Ergebnis in Var1: 30

ST

Var1 := MUX(0,30,40,50,60,70,80);