MUX
Retorna o valor da entrada indexada pelo parâmetro K (IN[K]); é uma função pura
extensível, suportando um número variável de parâmetros IN.
Biblioteca: IEC_STD · Namespace: IEC · Tipo: função
Função
MUX
+-------------+
INT ---|K |--- ANY_ELEMENTARY
| |
ANY_ELEMENTARY ---|IN0 |
| |
ANY_ELEMENTARY ---|IN1 |
+-------------+
Os parâmetros INx são referenciados sequencialmente a partir de zero, ou seja, o
primeiro é referenciado como IN0, o segundo como IN1 e assim sucessivamente; a
função aceita ainda mais entradas (IN2, IN3, …) além das duas mostradas no
diagrama. Esta função aceita nas entradas INx qualquer um dos tipos do grupo
ANY_ELEMENTARY (ver Grupos de tipos de dados para a lista completa de tipos suportados).
Nota
Se o valor do parâmetro K for menor ou igual a zero, a função retornará o valor
do parâmetro IN0. Se o valor de K for maior ou igual ao número de
elementos - 1, a função retornará o valor do último elemento (IN[K-1]).
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
K |
IN |
INT |
— |
— |
Índice (base zero) da entrada |
IN0 |
IN |
ANY_ELEMENTARY |
— |
— |
Entrada de índice 0. |
IN1 |
IN |
ANY_ELEMENTARY |
— |
— |
Entrada de índice 1. |
Retorno / Saídas
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|
ANY_ELEMENTARY |
— |
Valor da entrada |
Observações
Todos os parâmetros de entrada
INxe o valor de retorno devem ser do mesmo tipo de dados.
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
value_1 : REAL; (* Valor 1 *)
value_2 : REAL; (* Valor 2 *)
value_out : REAL; (* Valor de saída *)
END_VAR
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_1 := 1.5; (* Valor 1 a ser avaliado *)
value_2 := 5.3; (* Valor 2 a ser avaliado *)
value_out := MUX(K:= 0, IN0:= value_1, IN1:= value_2);
(* A variável value_out recebe o valor 1.5 *)
(* ... *)