MUX

Panoramica

Operatore di selezione IEC per l’operazione multiplexing.

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

OUT := INk

IN0, ...,INn e OUT possono essere qualsiasi tipo di dati identici. Accertare che le variabili del tipo di dati identico siano usate in queste posizioni, in particolare quando si utilizzano tipi di dati definiti da utente. Il compilatore verifica l'identità dei tipi e restituisce gli errori del compilatore. Non è supportata l'assegnazione delle istanze dei blocchi funzione alle variabili di interfaccia.

K deve essere BYTE, WORD, DWORD, LWORD, SINT, USINT, INT, UINT, DINT, LINT, ULINT o UDINT.

MUX seleziona il valore serie K da un gruppo di valori.

Esempio in IL

Il risultato è 30

LD     0
MUX    30     ,
       40     ,
       50     ,
       60     ,
       70     ,
       80
ST     Var1

Esempio in ST

Var1:=MUX(0,30,40,50,60,70,80); (* Result is 30 *);
NOTA: Un'espressione testuale che si verifica prima di un ingresso differente da INk non verrà elaborata.

Nei linguaggi di programmazione grafica, dove un rilevamento box, jump, return, line branch o edge è connesso a IN0 o INn, queste istruzioni verranno sempre calcolate, indipendentemente dall’ingresso K. Ciò può avere un impatto sulla quantità di codice eseguito e quindi sulle prestazioni. Verificare attentamente il codice per verificare se le espressioni connesse agli ingressi IN0 e INn devono essere sempre eseguite o solo in funzione dell’ingresso K.

Per un esempio che illustri questo problema, fare riferimento all'operatore SEL.