UINT2_TO_UDINT

Recebe 2 valores inteiros de 16 bits e retorna o valor inteiro de 32bits.

Bloco

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

Parâmetro

Nome

Parâmetro

Tipo Dado

V. Ini.

Descrição

LSW

Entrada

UINT

0

Word menos significativa

MSW

Entrada

UINT

0

Word mais significativa

Retorno

Tipo Dado

Descrição

UDINT

Resultado da composição dos valores LSW e MSW como um valor inteiro de 32 bits

Exemplo

Declaração de Variáveis

Nome

Tipo

Valor Inicial

Descrição

vlsw

UINT

16#1234

Valor de lsw

vmsw

UINT

16#5678

Valor de msw

result

UDINT

Valor de saída

Clique aqui para baixar a tabela de variáveis

Código ST

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

Dica

Se as variáveis de entrada forem do tipo INT faça:

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