DINT_TO_UINT
Converte um valor do tipo DINT (inteiro de 32 bits com sinal) para o tipo UINT (inteiro de 16 bits sem sinal). É uma função pura (sem estado; retorna o resultado diretamente).
Biblioteca: IEC_STD · Namespace: IEC · Tipo: função
Função
DINT_TO_UINT
+-------------+
DINT ----|IN |---- UINT
+-------------+
Esta função converte o valor recebido em IN (tipo DINT) para o tipo UINT.
Nota
Caso o valor de entrada esteja fora da faixa representável por UINT
(0 a 65535), ocorre perda de dados: apenas os 16 bits menos
significativos do valor original são preservados no resultado. Valores
negativos também produzem resultado incorreto, pois UINT não
representa sinal.
Parâmetros
Nome |
Direção |
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|
IN |
IN |
DINT |
— |
Valor a ser convertido. |
Retorno / Saídas
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|
UINT |
0 .. 65535 |
Valor resultante da conversão de |
Observações
Se o valor de
INestiver fora da faixa deUINT(incluindo valores negativos), o resultado sofre truncamento e não representa corretamente o valor original.
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
value_inp : DINT; (* valor a ser convertido *)
value_out : UINT; (* valor resultante convertido *)
END_VAR
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_inp := 100; (* valor DINT a ser convertido *)
value_out := DINT_TO_UINT(IN := value_inp); (* converte valor DINT para UINT *)
(* ... *)