FAQs Técnicas

Realizar una pregunta

Tratamiento de variables LINT/LREAL en UNITY para lectura de variables procedentes de centrales de medida Powerlogic

La precisión de proceso en Unity es de 32 bits. Si por lectura de registros mediante comunicaciones se obtienen datos de 64 bits es necesario realizar la decodificación del dato y asegurar que aparecen todos los dígitos significativos mediante una cadena de texto (caracteres numéricos) como salida o siguiendo la conversión de la fórmula y dejando el resultado en la precisión máxima admisible (se adjunta proyecto creado en Unity 13 y bloque DFB para convertir LREAL).

Se ha tratado la mantisa con 32 bits, asumiendo que se está en el caso en el que siempre está comprendida entre 1 y 2.

Para tratar los LINT hay que realizar una operación de multiplicación de las dos palabras de mayor peso tratadas como DINT por el valor de 4294967296 (=2^32) y añadir el valor del doble entero de las palabras de menor peso, todo ello operando con números reales.
¿Ha sido útil?
¿Qué podemos hacer para mejorar la información?