¿Qué es una métrica dataset de Sparkplug?
La mayoría de las métricas Sparkplug son un solo valor escalar, pero a veces la unidad natural de los datos es una tabla: una receta, una curva de consulta, una lista de alarmas activas. El tipo de métrica dataset lleva exactamente eso, filas y columnas tipadas, en una sola métrica. Para el ingeniero que ha estado tentado a aplanar una tabla en docenas de tags numerados, esta página explica qué es una métrica dataset y cuándo es la herramienta correcta.
Métrica dataset Sparkplug en una línea: Una métrica dataset de Sparkplug es un tipo de dato de métrica que contiene datos tabulares: un conjunto de columnas con nombre y tipo, y un número de filas, todo dentro de una sola métrica. En lugar de explotar una tabla en muchas métricas escalares, un dataset lleva la estructura completa, una receta, una curva de consulta o una lista de filas, en un solo payload con los nombres y tipos de columna declarados por adelantado.
Datos tabulares en una sola métrica
Un dataset es uno de los tipos de dato más ricos que puede tomar una métrica Sparkplug. Donde una métrica ordinaria lleva un solo valor de un solo tipo, un dataset declara un conjunto de columnas, cada una con nombre y tipo de dato, y luego lleva cierto número de filas de valores conformes a esos tipos de columna. Es, en efecto, una pequeña tabla tipada transmitida como una métrica. Las definiciones de columna viajan con los datos, así que un consumidor sabe cómo interpretar cada celda sin un esquema externo para esa tabla en particular.
La alternativa, en la que caen muchos sistemas, es aplanar la tabla en una dispersión de métricas escalares: fila1_col1, fila1_col2, y así sucesivamente, o una cuadrícula fija de tags numerados. Eso funciona para una tabla diminuta y fija pero se vuelve inmanejable cuando las filas varían, y pierde el hecho de que esos valores forman una estructura coherente. Un dataset mantiene la tabla junta, lo cual es a la vez más limpio en el modelo de datos y más eficiente que una explosión plana cuando la tabla tiene muchas celdas. Se ubica junto a las otras herramientas estructuradas como el template, pero para datos tabulares en lugar de datos con forma de objeto.
Como un dataset sigue siendo una métrica, fluye por la misma maquinaria Sparkplug. Se declara en el birth como cualquier otra métrica y sus cambios viajan en los mensajes de datos ordinarios. Eso significa que un dataset puede actualizarse como unidad cuando su contenido cambia, que suele ser la granularidad natural para una tabla: usted reemplaza la receta completa o la lista completa de alarmas activas en lugar de mutar celdas individuales repartidas en muchas métricas separadas.
Cuándo un dataset es la elección correcta
Los datasets convienen a datos genuinamente tabulares que viajan como unidad. Una receta de lote con varios ingredientes y sus setpoints es un dataset natural: las filas son los ingredientes, las columnas son los parámetros, y casi siempre quiere la receta completa junta. Una curva de consulta o de caracterización, pares de valores de entrada y salida, es otra. Una lista instantánea, como las alarmas actualmente activas con sus tags y marcas de tiempo, también encaja, porque la lista cambia como un todo y cada fila comparte las mismas columnas.
El criterio es si los valores realmente pertenecen juntos como tabla o son puntos independientes que solo parecen tabulares. Un puñado de lecturas sin relación que casualmente están cerca queda mejor como métricas escalares individuales, porque cada una puede cambiar y graficarse por su cuenta, y forzarlas a un dataset hace incómodos el graficado y el alarmado por valor. Los datasets brillan cuando la estructura de filas es significativa y la tabla se consume como unidad, no cuando solo está evitando declarar varios escalares.
También hay una consideración del lado del consumidor. Un dataset que llega como una métrica debe ser desempacado por el consumidor en sus filas y columnas, y cómo lo presenta un host SCADA en la nube depende de que el host entienda el tipo dataset. Un host que modela Sparkplug fielmente puede presentar un dataset como tabla o alimentar con él una pantalla de recetas; un consumidor ingenuo que solo entiende escalares puede batallar. Así que elegir un dataset lo compromete con un consumidor que maneje el tipo, lo cual vale la pena confirmar cuando diseña el payload, en el mismo espíritu de acordar un esquema de payload que ambos extremos respeten.
Preguntas frecuentes
¿Cuándo debo usar un dataset en lugar de muchas métricas escalares?
Use un dataset cuando los valores forman una tabla genuina que se consume como unidad, como una receta de lote, una curva de consulta o una instantánea de alarmas activas, donde las filas comparten las mismas columnas y casi siempre quiere todo junto. Use métricas escalares separadas cuando los valores son puntos independientes que cambian y necesitan graficarse o alarmarse por su cuenta. Si forzar los valores a filas hace incómodo el graficado por valor, probablemente deberían ser métricas individuales, no un dataset.
¿Una métrica dataset lleva sus propios tipos de columna?
Sí. Un dataset declara sus columnas con nombres y tipos de dato como parte de la métrica, así que la estructura de la tabla viaja con los datos. Un consumidor que recibe el dataset sabe cuántas columnas hay, cómo se llama cada una y qué tipo contiene, sin necesitar una definición de esquema aparte para esa tabla específica. Esta cualidad autodescriptiva es consistente con el resto de Sparkplug, donde las métricas llevan su propia información de tipo en lugar de depender de una descripción fuera de banda.
Fuentes y lecturas
Referencias primarias de los organismos de normas y reguladores que definen este tema:
- Sparkplug Specification - Eclipse Foundation
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.