Conversiones REAL_TO/LREAL_TO

Información general

Para obtener sugerencias de carácter general que hay que tener en cuenta durante la conversión de tipo, consulte el capítulo Funciones de conversiones de tipo.

Definición

Operador IEC para conversiones del tipo de variable REAL o LREAL a otro tipo.

El valor se redondeará al alza o a la baja al número entero más próximo y se convertirá al nuevo tipo de variable.

Los siguientes tipos de variables son excepciones a esta norma:

  • STRING

  • BOOL

  • REAL

  • LREAL

NOTA: La lógica de redondeo aplicada depende del sistema de destino o la FPU (unidad de coma flotante) del sistema de destino. Así, un valor de -1.5 puede convertirse de forma diferente en controladores diferentes.

Resultados de la conversión

Si un REAL o LREAL se convierte en SINT, USINT, INT, UINT, DINT, UDINT, LINT o ULINT y el valor del número real no se encuentra dentro del rango de valores de ese entero, el resultado será indefinido y puede provocar una excepción del controlador.

NOTA: Valide cualquier desborde del rango mediante la aplicación y compruebe que el valor del REAL o LREAL se encuentra dentro de los límites del entero de destino antes de realizar la conversión.

Al realizar la conversión al tipo STRING, tenga en cuenta que el número total de dígitos está limitado a seis. Si el número (L)REAL tiene más dígitos, se redondeará el sexto. Si la longitud de la STRING se define como demasiado corta, se cortará desde el extremo derecho.

Ejemplo en ST

Ejemplos en ST con resultados de la conversión:

Ejemplo

Resultado

i := REAL_TO_INT(1.5);

2

j := REAL_TO_INT(1.4);

1

i := REAL_TO_INT(-1.5);

–2

j := REAL_TO_INT(-1.4);

–1

Ejemplo en IL

LD                2.75
REAL_TO_INT
ST                i

Ejemplo en FBD