UINT4_TO_ULINT

Recebe 4 valores inteiros de 16 bits (words) e os agrupa retornando o valor inteiro de 64 bits correspondente. É uma função.

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

Função

         UINT4_TO_ULINT
         +-------------+
UINT ----|W_0          |----- ULINT
         |             |
UINT ----|W_1          |
         |             |
UINT ----|W_2          |
         |             |
UINT ----|W_3          |
         +-------------+

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 64 bits, este é enviado em 4 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

W_0

IN

UINT

0

—

Word menos significativa.

W_1

IN

UINT

0

—

2ª word menos significativa.

W_2

IN

UINT

0

—

3ª word menos significativa.

W_3

IN

UINT

0

—

Word mais significativa.

Retorno / Saídas

Retorna um ULINT com a composição dos valores W_0, W_1, W_2 e W_3 como um único valor inteiro de 64 bits (W_3 na parte mais significativa, W_0 na menos significativa).

Observações

  • Se as variáveis de entrada forem do tipo INT, converta-as com INT_TO_UINT:

    result := HILS.UINT4_TO_ULINT(W_0 := INT_TO_UINT(v0), W_1 := INT_TO_UINT(v1),
                                  W_2 := INT_TO_UINT(v2), W_3 := INT_TO_UINT(v3));
    

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

 VAR
     v0     : UINT := 16#1234; (* Valor de W_0 *)
     v1     : UINT := 16#5678; (* Valor de W_1 *)
     v2     : UINT := 16#9ABC; (* Valor de W_2 *)
     v3     : UINT := 16#DEF0; (* Valor de W_3 *)
     result : ULINT;           (* Valor de saída *)
 END_VAR

 (* Exemplo de ativação da função dentro da POU *)
 result := HILS.UINT4_TO_ULINT(W_0 := v0, W_1 := v1, W_2 := v2, W_3 := v3);
 (* result irá receber o valor 16#DEF09ABC56781234 *)