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