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