Glosario de Automatización • Comandos DCMD/NCMD de Sparkplug

¿Qué son los comandos DCMD y NCMD de Sparkplug?

Ingeniería Merobix • • 8 min de lectura

La mayoría de las introducciones a Sparkplug se enfocan en los datos que fluyen hacia arriba - nodos de borde publicando mediciones a un host - pero un sistema de control real también necesita enviar comandos en el otro sentido, escribiendo setpoints y conmutando salidas hacia el campo. Sparkplug lleva esa dirección inversa con dos tipos de mensaje de comando: NCMD, que apunta a un nodo de borde, y DCMD, que apunta a un dispositivo específico detrás de ese nodo. Juntos forman la ruta de escritura de vuelta que permite a un host empujar acciones de control al campo sobre MQTT. Esta guía explica qué son NCMD y DCMD, cómo direccionan el nodo frente al dispositivo, y cómo funciona el flujo de escritura de vuelta desde un operador que cambia un setpoint hasta el valor aterrizando en un PLC.

Volver al glosario

Comandos DCMD/NCMD de Sparkplug en una línea: En Sparkplug, NCMD (comando de nodo) y DCMD (comando de dispositivo) son los tipos de mensaje que un host usa para enviar escrituras de control hacia abajo. Un NCMD apunta al nodo de borde mismo - por ejemplo para cambiar una métrica de nivel de nodo o solicitar un renacimiento - mientras que un DCMD apunta a un dispositivo específico conectado detrás de ese nodo de borde, como escribir un setpoint a un PLC. Son la ruta de escritura de vuelta que deja a un host comandar el campo, la imagen espejo de los mensajes de datos que los nodos publican hacia arriba.

La dirección de comando que las introducciones a Sparkplug suelen omitir

Los mensajes de datos de Sparkplug fluyen del campo hacia el host: un nodo de borde publica su certificado de nacimiento y luego un flujo de datos de nodo y datos de dispositivo a medida que los valores cambian. Ese flujo hacia arriba es lo que la mayoría de los tutoriales cubren, porque el monitoreo es el primer caso de uso común. Pero un sistema SCADA no es solo para observar - los operadores necesitan actuar, cambiar un setpoint, abrir o cerrar una válvula, arrancar o parar una bomba. Esas acciones requieren mensajes que viajen en el sentido opuesto, del host hacia el campo, y Sparkplug define tipos de mensaje específicos para exactamente eso.

Los dos tipos de comando son NCMD y DCMD, que reflejan los dos tipos de datos NDATA y DDATA. Donde NDATA y DDATA llevan valores hacia arriba desde un nodo y un dispositivo respectivamente, NCMD y DCMD llevan comandos hacia abajo a un nodo y a un dispositivo respectivamente. El nombramiento es deliberadamente paralelo: los tipos N conciernen al nodo de borde mismo, los tipos D conciernen a un dispositivo detrás de él, e intercambiar DATA por CMD intercambia la dirección de reportar a comandar. Esta simetría es lo que hace de Sparkplug un protocolo bidireccional completo en lugar de un canal de telemetría de un solo sentido.

Entender esta dirección de comando importa porque es donde vive la escritura de vuelta, y la escritura de vuelta es lo que separa un sistema de monitoreo de un sistema de control. Una plataforma que solo puede recibir puede mostrar a un operador que un tanque se está llenando pero no puede dejarlo regular el ingreso. NCMD y DCMD son los mensajes que cierran ese lazo, dando al host una forma definida y estructurada de empujar la intención hacia abajo al equipo. Que estén poco explicados en la mayoría de las introducciones no los hace opcionales - cualquier aplicación de control real sobre Sparkplug depende de ellos.

Direccionar el nodo frente al dispositivo detrás de él

La distinción entre NCMD y DCMD sigue la jerarquía de direccionamiento de Sparkplug. Un nodo de borde es el gateway o componente de software que se conecta al broker y habla Sparkplug a nombre de sí mismo y de cualquier dispositivo conectado detrás de él. Un dispositivo es una pieza de equipo - muchas veces un PLC o instrumento - que se ubica detrás del nodo de borde y no se conecta al broker por sí mismo; el nodo lo representa. Los comandos se direccionan a uno o al otro según lo que usted intente alcanzar.

Un NCMD apunta al nodo de borde mismo. Se usa para escribir métricas que pertenecen al nodo - configuración de nivel de nodo o métricas de control - la más notable siendo la métrica de control de renacimiento que un host escribe para hacer que un nodo reemita su certificado de nacimiento. Un NCMD se direcciona al nodo usando sus identificadores de grupo y de nodo, y el nodo es la entidad que lo recibe y actúa sobre él. Cuando la cosa que usted quiere cambiar vive a nivel de nodo, NCMD es el mensaje.

Un DCMD apunta a un dispositivo específico detrás del nodo. Lleva el identificador de dispositivo adicional para que el mensaje se apunte no solo al nodo sino al dispositivo particular al que el nodo da frente, y es como un host escribe un valor de campo real - una velocidad de bomba, un setpoint de temperatura, un estado de salida - a un PLC o instrumento dado. El nodo de borde recibe el DCMD, ve a cuál dispositivo y cuál métrica direcciona, y traduce la escritura a lo que sea que el protocolo nativo del dispositivo requiera. Este es el salto crucial donde un comando Sparkplug se vuelve una acción concreta en equipo real, con el nodo de borde actuando como el puente entre MQTT y el bus de campo.

El flujo de escritura de vuelta del operador al PLC en el SCADA en la nube

Seguir un solo comando de extremo a extremo muestra cómo encajan las piezas. Un operador en un tablero cambia un setpoint - digamos, subir la presión objetivo de un compresor. El host construye un DCMD direccionado al grupo, nodo de borde y dispositivo correctos, llevando la métrica a escribir y su nuevo valor, y lo publica. El broker lo entrega al nodo de borde que posee ese dispositivo. El nodo reconoce el dispositivo y la métrica objetivo, convierte la escritura Sparkplug al protocolo nativo del dispositivo, y escribe el nuevo valor al PLC. El setpoint ahora está vivo en el campo.

El lazo luego se confirma a sí mismo a través de la dirección de datos. Una vez que el valor del PLC en realidad cambia, el dispositivo reporta el nuevo valor de vuelta hacia arriba en un mensaje DDATA, y el host ve el valor reportado coincidir con lo que comandó. Esto cierra la escritura con confirmación real en lugar de esperanza ciega: el operador no solo dispara un comando a la oscuridad sino que ve al campo confirmar que el cambio surtió efecto. Ese reporte de vuelta es por qué las direcciones de comando y de datos funcionan como un par - una lleva la intención hacia abajo, la otra lleva la confirmación hacia arriba.

Para el SCADA en la nube sobre MQTT, esta ruta de escritura de vuelta es lo que convierte un tablero en la nube en control remoto genuino. Cuando una plataforma como Merobix actúa como el host Sparkplug, un operador puede cambiar un setpoint en un pad de pozo remoto desde un navegador, y la plataforma emite el DCMD que viaja a través del broker al nodo de borde del sitio y hacia abajo al PLC, con el valor resultante reportado de vuelta para que el operador vea el cambio confirmado. Como la ruta de comando está definida y estructurada, y como las escrituras se direccionan con precisión a un dispositivo y una métrica, este control remoto se puede gobernar con cuidado - cuáles comandos se permiten, quién los puede emitir - mientras aún da a las operaciones de campo alcance bidireccional real desde donde sea.

Preguntas frecuentes

¿Cuál es la diferencia entre NCMD y DCMD en Sparkplug?

NCMD es un comando direccionado a un nodo de borde mismo - usado para escribir métricas de nivel de nodo como la métrica de control de renacimiento. DCMD es un comando direccionado a un dispositivo específico que se ubica detrás de ese nodo de borde, llevando un identificador de dispositivo adicional, y es como un host escribe un valor de campo real como un setpoint a un PLC particular. Ambos viajan hacia abajo del host al campo; la diferencia es si el objetivo es el nodo o un dispositivo detrás de él.

¿Cómo alcanza un comando Sparkplug un PLC real?

El host publica un DCMD direccionado al grupo, nodo de borde y dispositivo, y el broker lo entrega al nodo de borde que da frente a ese dispositivo. El nodo de borde recibe el comando, identifica el dispositivo y la métrica objetivo, y traduce la escritura Sparkplug al protocolo nativo del dispositivo para escribir el valor al PLC. El nodo de borde es el puente que convierte un comando MQTT en una escritura concreta en el equipo de campo.

¿Cómo confirma un host que un comando Sparkplug de verdad funcionó?

Después de que el comando se aplica, el dispositivo reporta su nuevo valor de vuelta hacia arriba en un mensaje DDATA, y el host ve el valor reportado coincidir con lo que comandó. Esta confirmación cierra el lazo, así que un operador no solo dispara una escritura y espera, sino que ve al campo acusar que el cambio surtió efecto. La dirección de comando envía la intención hacia abajo y la dirección de datos envía la confirmación de vuelta hacia arriba.

Más en Protocolos industriales
Diagnosticar un nodo Sparkplug fuera de linea  •  bdSeq y seq de Sparkplug  •  Sparkplug B  •  Alias de métrica y número de secuencia  •  DDEATH de Sparkplug  •  Todo en Protocolos industriales →
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 →