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