LCONV
Esta função implementa uma conversão linear do valor de entrada X de acordo com a seguinte equação:
Y = (X - XMIN) * ((YMAX-YMIN)/(XMAX-XMIN)) + YMIN
|
YMAX|- - - - - - - - - - - - - - - .
| . :
| . :
| . :
| . :
Y|- - - - - - - -. :
| . : :
| . : :
| . : :
YMIN |- -. : :
| : : :
| : : :
|_________________________________________
XMIN X XMAX
Nota
Se a entrada X for menor ou igual a XMIN o valor da saída Y será YMIN.
Se a entrada X for maior ou igual a XMAX o valor da saída Y será YMAX.
Bloco
LCONV
+-------------+
REAL ----|X |---- REAL
| |
REAL ----|XMIN |
| |
REAL ----|XMAX |
| |
REAL ----|YMIN |
| |
REAL ----|YMAX |
+-------------+
Dica
Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Função LCONV.
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
X |
Entrada |
REAL |
0.0 |
Valor de entrada |
|
XMIN |
Entrada |
REAL |
0.0 |
Valor mínimo da entrada X |
|
XMAX |
Entrada |
REAL |
0.0 |
Valor máximo da entrada X |
|
YMIN |
Entrada |
REAL |
0.0 |
Valor mínimo da saída Y |
|
YMAX |
Entrada |
REAL |
0.0 |
Valor máximo da saída Y |
Exemplo
Declaração de Variáveis
Nome |
Tipo |
Descrição |
|---|---|---|
inp_X |
REAL |
valor de entrada |
out_Y |
REAL |
valor de saida convertida |
Código ST
(* Exemplo de ativação do bloco LCONV dentro da POU *)
(* ... *)
(* Converte o valor obtido de uma entrada analógica para faixa de 0 .. 100 *)
out_Y := HILS.LCONV( // 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
(* ... *)