REAL

NOTA
  • Solo para el FP-e y para el FP0: No utilizar en los programas de interrupción instrucciones con datos de tipo REAL

  • Los literales enteros como '123' se convierten implícitamente a REAL.

Las variables del tipo de datos REAL son números reales de 32 bits según el estándar IEEE754. Consisten en una mantisa de 23 bits y en un exponente de 8 bits.

  1.  (1) Posición del bit
  2.  (2) Bit del signo: 0 positivo, 1 negativo
  3.  (3) Exponentes (8 bits)
  4.  (4) Mantisa (23 bits)

Rango de valores de tipo REAL:

-3.402823466*E38 a -1.175494351*E-38

0.0

+1.175494351*E-38 a +3.402823466*E38

El valor inicial por defecto, por ejemplo, en la declaración de la variable en la cabecera de la POU o en la lista de variables globales:

0.0

Se pueden introducir valores de tipo REAL en el siguiente formato: [+-] Entero.Entero [(Ee) [+-] Entero]

Ejemplo

5.983e-7

-33.876e12

3.876e3

0.000123

123.0

Función de usuario que comprueba si un número real es válido o no

Problema:

Las instrucciones en coma flotante requieren números reales válidos.

Rango de valores de tipo REAL:

-3.402823466*E38 a -1.175494351*E-38

0,0

+1.175494351*E-38 a +3.402823466*E38

Si un número real es menor que -3.402823466*E38, o mayor que +3.402823466*E38 se activan las variables del sistema sys_bIsOperationErrorHold y sys_bIsOperationErrorNonHold y se detiene la operación si el registro del sistema 26 está configurado como Detener.

Esta condición se comprueba con las funciones IsValidReal y IsValidReal2.

Si un número real está en el rango de -1.175494351*E-38 a +1.175494351*E-38, el PLC toma el valor 0.0 y no se activan las banderas de error.

NOTA

Algunos tipos de PLC antiguos como FP1 o FP-M no soportan números reales.

Ejemplo de IsValidReal

En este ejemplo las funciones IsValidReal y IsValidReal2 está programada en diagrama de contactos (LD) y en lista de instrucciones (IL). Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

Cabecera de la POU

En la cabecera de la POU, se declaran todas las variables de entrada y de salida que van a ser usadas en la programación de esta función.

LD: IsValidReal

LD: IsValidReal2

Modificado el: 2023-05-16Comentarios sobre esta páginaLínea directa de Panasonic