Programación flexible de CN
1.5 Corrección de precisión en caso de errores de comparación (TRUNC)
1.5
Corrección de precisión en caso de errores de comparación (TRUNC)
Función
El comando TRUNC recorta el operando multiplicado con un factor de precisión.
Precisión ajustable en comandos de comparación
Los datos de telegrama de pieza del tipo REAL se representan a nivel interno en el formato
IEEE con 64 bits. Debido a esta forma de representación, los números decimales se reflejan
de forma imprecisa, lo cual puede producir resultados inesperados en una comparación con
valores calculatorios ideales.
Igualdad relativa
Para evitar que las imprecisiones causadas por la forma de representación alteren el flujo
del programa, la comprobación en los comandos de comparación no se efectúa con vistas a
la igualdad absoluta, sino a la igualdad relativa.
Sintaxis
Corrección de precisión en caso de errores de comparación
TRUNC (R1*1000)
Descripción
TRUNC:
Igualdad relativa tenida en cuenta de 10
● Igualdad: (==)
● Desigualdad: (<>)
● Mayor-igual: (>=)
● Menor-igual: (<=)
● Mayor/menor: (><) con igualdad absoluta
● Mayor: (>)
● Menor: (<)
Compatibilidad
Por motivos de compatibilidad, puede desactivarse la comprobación de la igualdad relativa
con (>) y (<) definiendo el dato de máquina DM10280 $MN_ PROG_FUNCTION_MASK bit0
= 1.
Nota
Por las razones citadas, las comparaciones con datos del tipo REAL muestran
generalmente una cierta imprecisión. En caso de desviaciones inaceptables se tiene que
recurrir al cálculo de ENTEROS, multiplicando el operando con un factor de precisión y
recortándolo después con TRUNC.
68
Supresión de decimales
con
-12
Manual de programación, 06/2009, 6FC5398-2BP20-0EA0
Preparación del trabajo