Capítulo 22
Atributos comunes para instrucciones generales
906
Publicación de Rockwell Automation 1756-RM003T-ES-P - Noviembre 2018
Ejemplos del totalizador
La precisión del tipo de datos REAL afecta a las aplicaciones de totalización, de tal
manera que se producen errores al añadir números muy pequeños a números muy
grandes.
Por ejemplo, añada 1 a un número durante un periodo de tiempo. En algún
momento, la adición ya no cambiará el resultado porque la suma en ejecución es
mucho mayor que 1, y no habrá suficientes bits como para almacenar todo el
resultado. La adición almacena el máximo número posible de bits superiores y
descarta los bits inferiores restantes.
Para solucionar este problema, haga el cálculo con números pequeños hasta que el
resultado sea más grande. Entonces, muévalo a otra ubicación para cálculos
matemáticos con números grandes. Por ejemplo:
x es la variable incrementada pequeña.
y es la variable incrementada grande.
z es el recuento total actual que se puede usar en cualquier lugar.
x = x+1;
si x = 100 000;
{
y = y + 100 000;
x = 0;
}
z = y + x;
Otro ejemplo:
x = x + some_tiny_number;
si (x >= 100)
{
z = z + 100;
x = x - 100; // puede haber un resto muy pequeño
}