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 *)
(* ... *)