Glosario de Automatización • Reporte por excepción (Sparkplug)

¿Qué es el reporte por excepción en Sparkplug?

Ingeniería Merobix • • 5 min de lectura

El reporte por excepción es la idea que silenciosamente impulsa la eficiencia de Sparkplug: enviar un valor solo cuando cambia, no en un calendario fijo. Para un ingeniero acostumbrado al sondeo, es a la vez una enorme ganancia de ancho de banda y un giro en cómo interpretar un tag callado. Esta página explica qué significa el reporte por excepción, cómo una banda muerta decide qué cuenta como cambio, y cómo cambia la forma de razonar sobre la señal de vida y los datos viejos.

Volver al glosario

Reporte por excepción (Sparkplug) en una línea: El reporte por excepción es la práctica de publicar una métrica solo cuando su valor cambia más allá de un umbral definido, en lugar de en un intervalo fijo de sondeo. En Sparkplug, un nodo de borde envía un mensaje de datos para una métrica cuando esta rebasa su banda muerta y guarda silencio en lo demás, lo que reduce fuertemente el tráfico del enlace pero significa que una métrica callada se presume sin cambio, no fallada.

Publicar al cambiar en lugar de sondear con reloj

El sondeo SCADA tradicional pide a cada dispositivo cada valor en un ciclo fijo, se haya movido algo o no, lo que significa que el enlace carga el mismo volumen de tráfico en un proceso en calma total que en uno desbocado. El reporte por excepción invierte esto: el nodo de borde retiene el valor actual y publica solo cuando el valor cambia. Un nivel de tanque quieto no genera tráfico; el mismo nivel subiendo durante un llenado genera un flujo de actualizaciones. El tráfico ahora sigue la actividad del proceso y no un reloj, que es el argumento fundamental de eficiencia.

Este es un acomodo natural para el modelo de publicación-suscripción y para un enlace medido. Como Sparkplug viaja sobre publicación-suscripción sobre MQTT, el nodo simplemente no publica cuando no hay nada que decir, y ningún consumidor gasta una solicitud preguntando. En un plan celular donde cada byte se factura, enviar datos solo ante un cambio genuino es la diferencia entre un presupuesto de datos manejable y uno doloroso, lo que conecta directamente con manejar la sobrecarga de protocolo en enlaces restringidos.

El mecanismo que decide qué cuenta como cambio es la banda muerta. En lugar de publicar por cada parpadeo del bit menos significativo de una lectura analógica ruidosa, la métrica se configura con un umbral, y solo un cambio mayor que ese umbral dispara una publicación. Fije la banda muerta demasiado apretada y una señal ruidosa inunda el enlace con actualizaciones sin sentido; fíjela demasiado floja y se pierde movimiento real. Ajustar la banda muerta por métrica es donde el reporte por excepción pasa de buena idea a sistema bien portado.

Cómo el silencio cambia lo que se puede inferir

El costo sutil del reporte por excepción es que el silencio se vuelve ambiguo salvo que la señal de vida se maneje por separado. En un mundo de sondeo, un valor que deja de llegar significa que el sondeo falló, una señal de falla clara. Bajo reporte por excepción, un valor que deja de llegar casi siempre significa que simplemente no ha cambiado, lo cual es enteramente sano. Usted no puede mirar el flujo callado de una métrica y concluir algo sobre si el nodo está vivo.

Sparkplug resuelve esto deliberadamente separando los datos de la señal de vida. La salud del nodo viene de los certificados de nacimiento y defunción y del keepalive subyacente de MQTT, no del flujo de datos. El consumidor confía en que una métrica conserva su último valor reportado hasta que un nuevo mensaje de datos lo cambia o un certificado de defunción invalida todo el estado del nodo. Esta es precisamente la razón por la que el ciclo de vida de NBIRTH y NDEATH no es decoración opcional; es lo único que permite a un consumidor distinguir un proceso en calma de un nodo muerto.

Esto también genera la necesidad de una forma de resincronizarse. Si un consumidor llega tarde, o pierde la pista del estado, no tiene un lazo de sondeo al cual recurrir para releer todo, así que pide al nodo que reemita su cuadro completo mediante un rebirth. El nodo entonces vuelve a publicar su nacimiento con los valores actuales de cada métrica, dándole al consumidor una línea base fresca. Entender el reporte por excepción queda incompleto sin entender el canal de vida de nacimiento-defunción y la vía de resincronización del rebirth, porque son lo que hace seguro el reporte por cambio.

Preguntas frecuentes

¿Cómo ahorra ancho de banda el reporte por excepción frente al sondeo?

El sondeo solicita cada valor en un ciclo fijo sin importar si algo cambió, así que un proceso estable sigue generando tráfico constante. El reporte por excepción publica una métrica solo cuando realmente rebasa su banda muerta, así que un valor estable no genera tráfico alguno y el enlace carga datos en proporción a la actividad real del proceso. En un enlace celular medido, donde se paga por byte, enviar solo cambios genuinos en lugar de re-reportar valores sin cambio es un ahorro grande y directo.

Si una métrica se calla, ¿cómo sé que el nodo no está simplemente muerto?

Revisando la vida del nodo por separado de sus datos. Bajo reporte por excepción una métrica callada normalmente solo significa que el valor no ha cambiado, así que no se puede inferir una falla del silencio solo. Sparkplug provee la señal de vida mediante los certificados de nacimiento y defunción del nodo y el keepalive de MQTT: mientras el nacimiento del nodo siga en pie y no se haya emitido una defunción, el nodo está vivo y la métrica callada simplemente está estable. Si duda del estado del consumidor, dispare un rebirth para obtener una línea base fresca.

Fuentes y lecturas

Referencias primarias de los organismos de normas y reguladores que definen este tema:

Más en Fundamentos de SCADA
¿Qué es el reporte por excepción?  •  Banda muerta de reporte vs de control  •  Reporte no solicitado  •  Borrar una excepcion Modbus de direccion de datos ilegal  •  Excepcion Modbus de valor de datos ilegal (codigo 03)  •  Todo en Fundamentos de SCADA →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →