MUX

Retorna o valor da entrada indexada pelo parâmetro K ou seja IN[K]. Esta é uma função extensível suportanto um número variável de parâmetros IN. Estes parâmetros são referenciados sequencialmente a partir de zero ou seja, o primeiro parâmetro é referenciado como IN0, o segundo como IN1 e assim sucessivamente.

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

Bloco

                        MUX
                  +-------------+
           INT ---|K            |--- ANY_ELEMENTARY
                  |             |
ANY_ELEMENTARY ---|IN0          |
                  |             |
ANY_ELEMENTARY ---|IN1          |
                  +-------------+

Nota

Esta função aceita nas entradas INx qualquer um dos parâmetros do tipo ANY_ELEMENTARY como entrada a ser selecionada. Consulte os Grupos de tipos de dados para identificar quais os tipos suportados pela função.

Note que, todos os parâmetros de entrada INx e o valor de retorno devem ser do mesmo tipo.

Parâmetro

Nome

Classe

Tipo

Descrição

K

Entrada

INT

Entrada de seleção

IN0

Entrada

ANY_ELEMENTARY

Entrada 0

IN1

Entrada

ANY_ELEMENTARY

Entrada 1

Retorno

Tipo Dado

Descrição

ANY_ELEMENTARY

Valor resultante da operação.

Exemplo

Declaração de Variáveis

Nome

Classe

Tipo

Descrição

value_1

Local

REAL

Valor 1

value_2

Local

REAL

Valor 2

value_out

Local

REAL

Valor de saída

Clique aqui para baixar a tabela de variáveis

Código ST

// 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 variavel value_out recebe o valor 1.5 *)
(* ... *)