MUX

Der IEC-Operator dient als Multiplexer.

Syntax: 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 TwinCAT den letzten Wert weiter (INn).

MUX 1:

Zum Zweck der Laufzeitoptimierung berechnet TwinCAT nur den Ausdruck, den Sie IN_K vorgeschaltet haben.

Beispiele:

Ergebnis: nVar ist 30.

ST:

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

FUP:

MUX 2: