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 *)