UINT2_TO_UDINT

Compõe um valor inteiro de 32 bits (UDINT) a partir de duas words de 16 bits (LSW e MSW); é uma função (pura, sem estado ou instância).

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

Função

          UINT2_TO_UDINT
         +-------------+
UINT ----|LSW          |---- UDINT
         |             |
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 numérico de 32 bits, este é enviado em 2 registros (16 bits) MODBUS sequenciais. Esta função agrupa estes registros retornando o valor original do dado.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

LSW

IN

UINT

0

—

Word menos significativa (16 bits inferiores).

MSW

IN

UINT

0

—

Word mais significativa (16 bits superiores).

Retorno / Saídas

Retorna um UDINT: resultado da composição das words LSW e MSW como um valor inteiro de 32 bits (MSW nos 16 bits superiores, LSW nos inferiores).

Observações

  • Se as variáveis de entrada forem do tipo INT, converta-as antes da chamada:

    result := HILS.UINT2_TO_UDINT(LSW := INT_TO_UINT(vlsw), MSW := INT_TO_UINT(vmsw));
    

Ver também

UINT2_TO_REAL, DINT_TO_LSW, DINT_TO_MSW

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    vlsw   : UINT := 16#1234; (* Valor de LSW *)
    vmsw   : UINT := 16#5678; (* Valor de MSW *)
    result : UDINT;           (* Valor de saída *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
result := HILS.UINT2_TO_UDINT(LSW := vlsw, MSW := vmsw);
(* result irá receber o valor 16#56781234 *)