UINT2_TO_REAL
Recebe dois valores inteiros de 16 bits (LSW e MSW) e compõe o valor REAL de 32 bits correspondente; é uma função (pura, sem estado ou instância).
Biblioteca: HI_STD · Namespace: HILS · Tipo: função
Função
UINT2_TO_REAL
+-------------+
UINT ----|LSW |---- REAL
| |
UINT ----|MSW |
+-------------+
Nota
Esta função é normalmente utilizada para conversão de pacotes MODBUS recebidos de equipamentos remotos. Quando o valor a ser obtido for um valor do tipo REAL (32 bits), este é enviado em 2 registros (16 bits) MODBUS sequenciais. Esta função agrupa estes registros retornando o valor original do dado.
Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Trabalhando com Bloco de Função UINT2_TO_REAL.
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
LSW |
IN |
UINT |
0 |
— |
Word menos significativa. |
MSW |
IN |
UINT |
0 |
— |
Word mais significativa. |
Retorno / Saídas
Retorna um REAL — resultado da composição dos valores LSW e MSW como um valor
real de 32 bits.
Observações
Se as variáveis de entrada forem do tipo INT, converta-as antes da chamada, por exemplo:
result := HILS.UINT2_TO_REAL(LSW := INT_TO_UINT(vlsw), MSW := INT_TO_UINT(vmsw));
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
vlsw : UINT := 16#AB93; (* Valor de lsw *)
vmsw : UINT := 16#1638; (* Valor de msw *)
result : REAL; (* Valor de saída *)
END_VAR
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
result := HILS.UINT2_TO_REAL(LSW := vlsw, MSW := vmsw);
(* ... *)