Protocolos y datos

Datos de telemetría obsoletos, ausentes y no válidos

Distingue lecturas obsoletas, ausentes, no válidas y estimadas, muestra su estado y trata su efecto en totales, gráficas y alarmas.

Un panel que muestra cada lectura como un número normal presenta un contador averiado como una carga constante. Una lectura puede ser incorrecta de varias maneras, que requieren tratamientos distintos: puede estar obsoleta, ausente, no válida o estimada.

Esta guía forma parte de la serie sobre calidad y transmisión de datos.

Cinco estados

EstadoQué significaCómo mostrarloEn un total
CorrectoLectura actual de una fuente sanaEl valorSe incluye
ObsoletoNo llega ninguna lectura nueva dentro del plazo del puntoEl último valor, marcado como obsoleto y con su antigüedadTotales por intervalos: se trata como ausente. Totales de contador: exactos cuando llega la siguiente lectura
AusenteNo hay lectura para ese periodoUn huecoTotal incompleto, con indicación de cobertura
No válidoLa fuente indicó un fallo o el valor queda fuera de su rango físicoIndicador de fallo, conservando el valor bruto en el registroSe excluye
EstimadoCalculado mediante un método documentadoEl valor, marcado como estimadoSe incluye y se marca el total como parcialmente estimado

Algunos protocolos transmiten esos estados junto a cada valor. Asócielos en el recopilador y conserve el estado con el valor hasta el registro final.

ProtocoloObsoletoAusenteNo válidoEstimado
StatusCode de OPC UAUncertain_LastUsableValueBad_NoCommunicationBad_SensorFailure, Bad_DeviceFailureUncertain_SubstituteValue
Descriptor de calidad IEC 60870-5-101/104NT, no actualNo se recibió actualizaciónIV, no válidoSB, sustituido
BACnetSolo por antigüedadSin respuesta o sin notificación COVFAULT en Status_Flags; causa en ReliabilitySin indicador
ModbusSolo por antigüedadTiempo de espera agotado o excepción 0BExcepción 04 o código de valor no disponibleSin indicador

OPC UA define estos códigos en las tablas 61 y 62 de la parte 8. Uncertain_LastUsableValue significa que se ha detenido la fuente que actualizaba el valor. Uncertain_SubstituteValue representa un valor sobrescrito manualmente. La guía de calidad IEC 60870 explica los cinco indicadores IEC.

BACnet Status_Flags tiene cuatro bits: IN_ALARM, FAULT, OVERRIDDEN y OUT_OF_SERVICE. FAULT se activa cuando Reliability contiene algo distinto de NO_FAULT_DETECTED. Lea también Reliability porque indica la causa: NO_SENSOR, OVER_RANGE, UNDER_RANGE, OPEN_LOOP, SHORTED_LOOP o COMMUNICATION_FAILURE, entre otras. Con OUT_OF_SERVICE activo, Present_Value deja de seguir la entrada física. Exclúyalo de los totales.

Modbus no tiene calidad por valor. El recopilador deduce el estado de tres señales: tiempo de espera agotado, respuesta de excepción y códigos propios del dispositivo para valores no disponibles. La excepción 04 (fallo del dispositivo servidor) significa que el dispositivo falló al procesar la petición. La excepción 0B (el dispositivo de destino de la pasarela no respondió) indica que no contestó el dispositivo serie situado detrás de una pasarela. La guía de diagnóstico Modbus enumera las demás excepciones.

Datos obsoletos

Un valor obsoleto es difícil de detectar porque parece una lectura correcta. Puede proceder de la caché de una pasarela, de un registro que conserva el último valor o de un panel que mantiene el último dato recibido. Una pasarela Modbus puede seguir respondiendo con su última lectura aunque el contador situado detrás haya dejado de responder.

Marque un punto como obsoleto si no recibe una lectura dentro de un plazo. Ajústelo a dos o tres intervalos de notificación. En una red de radio es normal perder un mensaje; perder dos o tres seguidos indica un fallo. Con un plazo de tres intervalos, un punto que informa cada 5 minutos queda obsoleto a los 15 minutos. El plazo también debe superar la secuencia completa de reintentos del recopilador; de lo contrario, un dispositivo lento aparecerá como obsoleto en cada reintento.

Evalúe la vigencia según la última lectura recibida de la fuente, no según la última vez que cambió el valor. Una temperatura constante puede seguir siendo actual.

Una fuente que informa solo cuando ocurre un cambio no tiene intervalo fijo: una fuente inactiva y una averiada parecen iguales. Base el plazo en una señal de actividad garantizada. Un dispositivo Zigbee con notificación de atributos configurada emite un informe al menos una vez por intervalo máximo de notificación, incluso sin cambios; establezca el plazo en dos o tres veces ese intervalo. Una suscripción COV de BACnet caduca si el cliente no la renueva y entonces deja de enviar. Si la fuente no dispone de señal de actividad, consúltela también a intervalos fijos. La guía de COV de BACnet explica las comprobaciones.

«Obsoleto» es un estado del valor en directo. El historial no tiene ese estado: un intervalo que termina sin lecturas está ausente.

Datos ausentes

Muestre un hueco como un hueco:

  • una gráfica interrumpe la línea o sombrea el periodo;
  • una tabla no muestra valor, nunca 0;
  • un total diario o mensual indica su cobertura, por ejemplo 44 de 48 medias horas.

En un contador acumulativo de energía, una interrupción de comunicaciones no pierde energía. La lectura siguiente incluye toda la energía consumida durante el hueco. Solo se desconoce cómo se distribuye entre los intervalos ausentes. La pérdida de potencia instantánea es distinta: no puede recuperarse.

Que pueda calcularse una cifra con datos incompletos depende de la cifra. Un total diario de kWh obtenido de lecturas acumulativas al principio y al final del día es exacto aunque falten lecturas intermedias. Una demanda máxima calculada con intervalos incompletos es solo un límite inferior, porque el pico podría estar en un intervalo ausente: indíquela como «al menos». Una media o una carga base se sesga si los huecos se concentran. Una interrupción nocturna elimina precisamente los intervalos necesarios para calcular la carga base. Defina en la especificación una cobertura mínima para cada cifra y señálela u omítala por debajo de ese umbral. La guía de kW frente a kWh explica acumulados e intervalos.

Valores no válidos

Un valor no es válido si la fuente indica un fallo o si queda fuera del rango físicamente posible. Por ejemplo, humedad relativa por encima del 100 % o factor de potencia superior a 1.

Muchos dispositivos Modbus devuelven un código fijo para un valor que no pueden proporcionar. El modelo de información SunSpec utiliza 0x8000 para int16, 0xFFFF para uint16 y 0xFFFFFFFF para uint32 como «no implementado», y 0 para un acumulador acc32 como «no acumulado». Sin comprobarlo, un registro de tensión uint16 con escala 0,1 V que devuelva 0xFFFF (65.535) se interpreta como 6.553,5 V. Compruebe los códigos en el registro bruto antes de aplicar la escala. En un dispositivo SunSpec, un acumulador de energía que marca exactamente 0 representa un código, no un reinicio. La guía de mapas Modbus enumera códigos habituales de valores no disponibles.

Los mayores valores no válidos suelen proceder de tres problemas en los contadores de energía.

Desbordamiento: el contador vuelve a cero al alcanzar su máximo. Un registro de 16 bits que cuenta kWh enteros se desborda en 65.535 kWh, cifra que una carga constante de 50 kW alcanza en unos 55 días. Corrija el desbordamiento sumando el rango del registro a la diferencia, pero solo cuando el resultado sea verosímil para el tiempo transcurrido.

Reinicio o sustitución: un contador nuevo comienza cerca de cero. La diferencia es un número negativo grande. Aplicar aquí una corrección de desbordamiento crea un consumo falso casi tan grande como el rango del registro. Registre el cambio como lectura de cierre del contador antiguo y lectura inicial del nuevo.

Lecturas separadas: si se leen los dos registros de un acumulado de 32 bits mediante peticiones distintas, pueden combinarse palabras de dos momentos y el total saltará 65.536 cuentas y volverá. Lea ambos registros en una sola petición.

Rechace cualquier incremento de intervalo negativo o mayor de lo físicamente posible en el circuito. Un circuito trifásico de 100 A a 400 V entrega como máximo unos 69 kVA, por lo que no puede consumir más de unos 35 kWh en 30 minutos.

Excluya los valores no válidos de totales y cálculos, muestre un indicador y conserve el valor bruto para diagnóstico.

Estimaciones

Una factura o un informe reglamentario puede necesitar una serie completa. Si rellena un hueco:

  • Utilice un método documentado. Para un contador, distribuya el total conocido entre los intervalos ausentes de forma uniforme o proporcional al perfil de un día similar, para que sigan sumando la diferencia del acumulado.
  • No calcule energía a partir de potencia interpolada. Una línea interpolada de kW no tiene un total que preservar, y los kWh integrados no coincidirán con el contador.
  • Marque todos los valores estimados como tales, tanto en el almacenamiento como en pantalla.
  • Nunca sustituya una medición por una estimación. Consérvelas separadas para poder reemplazar las estimaciones.

Pueden llegar lecturas reales después de rellenar un hueco: desde la cola de envío diferido tras una interrupción, o desde el perfil de carga del contador leído más tarde. Sustituya las estimaciones por esas mediciones. Recalcule todos los totales que las utilizaron y deje constancia de la revisión del informe. La guía de marcas temporales explica cómo colocar lecturas tardías según su hora de origen.

Efecto de cada estado en los sistemas posteriores

Decida de antemano qué hará cada consumidor y documéntelo en la especificación. Estos valores predeterminados sirven para muchos proyectos de monitorización energética:

ConsumidorComportamiento predeterminado
GráficasInterrumpir la línea en un intervalo ausente. Nunca unir puntos a través de un hueco. Mostrar la antigüedad de los valores obsoletos en directo y dibujar las estimaciones de otro modo.
Totales e informesExcluir valores no válidos. Incluir estimaciones, marcadas. Indicar la cobertura y presentar un pico calculado con datos incompletos como «al menos».
AlarmasGenerar una alarma de comunicaciones aparte cuando un punto quede obsoleto. Suprimir las alarmas por umbral de ese punto mientras esté obsoleto o no sea válido, para que un fallo produzca una sola alarma. Restablecerla después de dos lecturas correctas, no una.
AutomatizaciónComprobar el estado de cada entrada antes de actuar. Si una entrada está obsoleta o no es válida, pasar a una salida segura definida.
ExportacionesEnviar un campo de calidad con cada valor, en la carga útil MQTT o como columna CSV. Enviar un valor ausente como campo vacío o null, nunca como 0.

Una regla que apaga una enfriadora cuando la temperatura del agua fría es baja no debe actuar sobre una lectura baja obsoleta. Si lo hace, mantiene la enfriadora apagada mientras se calienta el edificio. En este caso, la salida segura consiste en devolver el control de la enfriadora a su propio controlador. La guía de fallos de enclavamientos explica cómo elegir salidas seguras.

Pruebe cada estado

Durante la puesta en marcha, provoque cada estado y compruebe qué muestra cada consumidor:

  1. Desconecte la comunicación de un dispositivo. Compruebe que sus puntos queden obsoletos dentro del plazo, que se active la alarma de comunicaciones y que el historial muestre los intervalos perdidos como ausentes, no como cero.
  2. Desconecte una entrada de sensor, como una sonda de temperatura. Si el dispositivo puede detectarlo, compruebe que el valor quede marcado y excluido de los totales.
  3. Restablezca ambos. Compruebe que desaparezcan el indicador de obsolescencia y la alarma, y que la primera lectura acumulativa tras la recuperación cierre el hueco sin crear un pico de demanda en un único intervalo.
  4. Si hay una pasarela Modbus entre el recopilador y un contador, desconecte el contador de la pasarela. Compruebe si esta devuelve la excepción 0B, agota el tiempo de espera o sigue devolviendo el último valor.

La lista de comprobación de puesta en marcha incluye estas pruebas.

Estados de los datos en Edge

Edge guarda una marca temporal con cada lectura y un estado de funcionamiento para cada dispositivo Modbus y OPC UA. Un dispositivo Modbus se marca como desconectado tras perder dos consultas esperadas, con un mínimo de cinco minutos. El sensor habilitado más rápido del dispositivo determina la frecuencia esperada; por eso un contador horario no queda desconectado a los cinco minutos. Un dispositivo OPC UA queda desconectado después de cinco minutos sin comunicación.

Para cada sensor Modbus y OPC UA, Edge también calcula el porcentaje de lecturas esperadas recibidas en una ventana móvil de 15 minutos. Si el intervalo supera los 15 minutos, muestra un recuento de lecturas en su lugar. Esta cifra mide la entrega respecto al intervalo configurado: no es el StatusCode de OPC UA ni indica si un valor es físicamente válido.

El relleno de huecos para dispositivos Modbus y OPC UA está desactivado por defecto. Si se activa, Edge rellena huecos hasta un máximo configurable, de 15 segundos por defecto, con ceros, el último valor o valores interpolados, y marca cada punto generado como sintético. Una base de datos posterior podría no conservar esa marca; mantenga desactivado el relleno de huecos para datos usados en facturación, alarmas o control. La exportación CSV de la página de Datos deja en blanco los valores ausentes, no los convierte en cero. En cada plataforma que reciba datos de Edge, realice las pruebas anteriores para comprobar que aplica las mismas reglas.

Preguntas frecuentes

¿Qué son los datos obsoletos?

Un valor que ya no es actual pero sigue mostrándose como si lo fuera. Ocurre cuando una fuente deja de actualizarse y una pasarela o un panel conserva el último valor. Marque un punto como obsoleto si no llega ninguna lectura nueva en un plazo definido, por ejemplo dos o tres intervalos de notificación.

¿Cómo se deben mostrar los datos ausentes de un sensor?

Como un hueco. La gráfica debe interrumpir la línea o señalar el periodo; la tabla no debe mostrar valor; y un total del periodo debe indicar su cobertura. Mostrar el hueco como cero hace pensar que el consumo se detuvo.

¿Hay que rellenar los datos de energía ausentes?

Solo con un método documentado y marcándolos como estimados. Si el contador siguió acumulando durante una interrupción de comunicaciones, la lectura siguiente proporciona exactamente la energía del hueco; solo se estima su reparto entre los intervalos perdidos. Si el propio contador dejó de medir, esa energía se perdió y el total está incompleto.