¿Qué es el direccionamiento broadcast de DNP3?
Normalmente un maestro DNP3 habla con una estación remota a la vez usando su dirección de enlace única. A veces necesita decirles lo mismo a todas a la vez, casi siempre para congelar contadores o fijar la hora en todo un sitio de manera simultánea. Para eso existe el direccionamiento broadcast. Esta página explica las direcciones broadcast reservadas de DNP3, cómo se comporta una trama broadcast y por qué deliberadamente no recibe confirmación.
Broadcast DNP3 en una línea: El direccionamiento broadcast de DNP3 permite a un maestro enviar una trama a todas las estaciones remotas de un enlace a la vez usando una dirección de destino broadcast reservada (0xFFFF, y las variantes 0xFFFD y 0xFFFE) en lugar de la dirección de una estación específica. Se usa para acciones simultáneas como congelar contadores o sincronizar la hora en todo un sitio. Las tramas broadcast no se confirman - las estaciones actúan sobre ellas pero no responden - porque muchas respuestas simultáneas chocarían entre sí.
Las direcciones broadcast reservadas
Toda estación remota DNP3 tiene una dirección de enlace única, y un maestro normalmente coloca esa dirección específica en el campo de destino de la trama. El direccionamiento broadcast usa en cambio direcciones reservadas. El broadcast a todas las estaciones es 0xFFFF, con 0xFFFD y 0xFFFE reservadas como variantes de broadcast que difieren en si se solicita una confirmación a nivel de aplicación. Cuando una estación remota ve un destino broadcast, reconoce la trama como dirigida a todos los dispositivos, no solo a ella.
Es un mecanismo distinto del direccionamiento unicast ordinario cubierto en las direcciones de maestro y estación remota de DNP3. Aquellas direcciones identifican un dispositivo; las direcciones broadcast los identifican a todos a la vez. Es paralelo a cómo el broadcast de Modbus en la dirección 0 alcanza a todos los esclavos, aunque DNP3 usa direcciones altas reservadas en lugar de la dirección cero.
Por qué los broadcast no reciben respuesta
Una trama broadcast es deliberadamente no confirmada. Si todas las estaciones remotas respondieran a la misma trama, sus respuestas se transmitirían a la vez y chocarían en un enlace serial o de radio compartido, corrompiéndose unas a otras. La regla es entonces que las estaciones ejecutan la acción solicitada pero no envían respuesta a un broadcast. El maestro gana simultaneidad a costa del reconocimiento.
Ese intercambio define para qué sirve el broadcast. Conviene a operaciones de todo el sitio del tipo enviar y olvidar, donde hacer la acción en el mismo instante importa más que confirmar que cada dispositivo la hizo: el caso clásico es un congelado simultáneo de contadores para que todos los totales compartan una misma estampa de tiempo, o un ajuste de hora por broadcast. No se usa para el control crítico de una salida individual, donde se necesita la confirmación de un comando dirigido. Cuando la meta es la simultaneidad, el broadcast es la herramienta; cuando la meta es el reconocimiento, lo es una solicitud unicast a cada estación.
Preguntas frecuentes
¿Cuál es la dirección broadcast de todas las estaciones en DNP3?
0xFFFF es la dirección de destino broadcast a todas las estaciones. Las direcciones reservadas 0xFFFD y 0xFFFE son variantes de broadcast que difieren en si se solicita confirmación de aplicación. Cualquiera de ellas señala una trama destinada a todas las estaciones remotas del enlace.
¿Por qué las estaciones remotas no responden a un broadcast DNP3?
Porque las respuestas simultáneas de muchas estaciones chocarían en un enlace compartido y se corromperían entre sí. Las estaciones ejecutan la acción del broadcast pero guardan silencio, de modo que el maestro cambia el reconocimiento por la capacidad de alcanzar todos los dispositivos a la vez.
¿Para qué se usa típicamente el broadcast de DNP3?
Para operaciones simultáneas de todo el sitio: lo más frecuente, un congelado de contadores para que todos los totales compartan un mismo instante, o un ajuste de hora para sincronizar juntos los relojes de las estaciones. No se usa para el control crítico de una salida individual, donde se requiere un comando unicast confirmado.
Fuentes y lecturas
Referencias primarias de los organismos de normas y reguladores que definen este tema:
- DNP3 (IEEE 1815) Protocol - DNP Users Group
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.