LCONV

Converte linearmente o valor de entrada X de uma faixa de origem (XMIN .. XMAX) para uma faixa de destino (YMIN .. YMAX), saturando nos limites. É uma função.

Biblioteca: HI_STD · Namespace: HILS · Tipo: função

Função

              LCONV
         +-------------+
REAL ----|X            |---- REAL
         |             |
REAL ----|XMIN         |
         |             |
REAL ----|XMAX         |
         |             |
REAL ----|YMIN         |
         |             |
REAL ----|YMAX         |
         +-------------+

A conversão segue a equação linear:

Y = (X - XMIN) * ((YMAX - YMIN) / (XMAX - XMIN)) + YMIN

Nota

Se a entrada X for menor ou igual a XMIN, a saída Y será YMIN.

Se a entrada X for maior ou igual a XMAX, a saída Y será YMAX.

Dica

Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Função LCONV.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

X

IN

REAL

0.0

—

Valor de entrada a ser convertido.

XMIN

IN

REAL

0.0

—

Valor mínimo da faixa de entrada.

XMAX

IN

REAL

0.0

—

Valor máximo da faixa de entrada.

YMIN

IN

REAL

0.0

—

Valor mínimo da faixa de saída.

YMAX

IN

REAL

0.0

—

Valor máximo da faixa de saída.

Retorno / Saídas

Retorna um REAL com o valor X convertido para a faixa YMIN .. YMAX, saturado nos limites definidos por XMIN e XMAX.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    inp_X : REAL; (* valor de entrada *)
    out_Y : REAL; (* valor de saida convertida *)
END_VAR

(* Exemplo de ativação da função LCONV dentro da POU *)

(* ... *)
(* Converte o valor obtido de uma entrada analógica para faixa de 0 .. 100 *)
out_Y := HILS.LCONV(
          X    := inp_X,  (* [REAL] Valor de entrada *)
          XMIN := 0.0,    (* [REAL] Valor mínimo da entrada X *)
          XMAX := 4095.0, (* [REAL] Valor máximo da entrada X *)
          YMIN := 0.0,    (* [REAL] Valor mínimo da saída Y *)
          YMAX := 100.0   (* [REAL] Valor máximo da saída Y *)
          );

(* out_Y representa o valor da entrada na faixa de 0 .. 100 *)
(* ... *)