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 IN para UINT.

Observações

  • Se o valor de IN estiver fora da faixa de UINT (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 *)
(* ... *)