IS_NAN

Retorna TRUE quando o valor real de entrada é um número inválido (NAN — Not A Number). É uma função (sem estado; retorno imediato).

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

Nota

Esta função foi classificada como obsoleta e é mantida na biblioteca apenas para compatibilidade com aplicações legadas.

Para novos projetos utilize a função IS_VALID, disponível na biblioteca IEC_STD. Note que IS_VALID retorna TRUE quando o valor é válido (lógica invertida em relação a IS_NAN).

Função

                 IS_NAN
             +--------------+
             |              |
ANY_REAL ----|in            |---- BOOL
             |              |
             +--------------+

A função avalia o parâmetro in e retorna TRUE se ele representar um valor real inválido (NAN), resultante, por exemplo, de operações matemáticas indefinidas como a divisão por zero. Caso o valor seja um número real válido, retorna FALSE.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

in

IN

REAL

—

—

Valor real a ser validado.

Retorno / Saídas

Tipo

Descrição

BOOL

TRUE se in for um valor inválido (NAN); FALSE caso seja um número real válido.

Observações

  • Função obsoleta: prefira IS_VALID (IEC_STD) em novos projetos, atentando para a inversão da lógica de retorno.

Ver também

IS_VALID

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    r_val : REAL := 3.14; (* Variavel a ser avaliada *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
(* ... *)
IF NOT (HILS.IS_NAN(r_val)) THEN
  // r_val é um valor válido
  r_val := r_val / 0;
  IF (HILS.IS_NAN(r_val)) THEN
    // r_val é um valor inválido
    // erro
  END_IF;
END_IF;