DNP3: direct operate frente a select-before-operate
DNP3 le da al maestro dos maneras de comandar una salida, y elegir entre ellas es una decisión de diseño real entre seguridad y velocidad. Una envía el comando en una sola solicitud; la otra lo arma y confirma primero. Esta página compara direct operate y select-before-operate, explica qué compra el paso extra y da una regla para decidir qué puntos de control deben usar cada uno.
Direct operate vs SBO en una línea: Direct operate en DNP3 comanda una salida en una sola solicitud: el maestro envía operate y la salida se mueve de inmediato. Select-before-operate usa dos pasos: el maestro envía un select, la estación remota lo devuelve como eco para confirmar el acuerdo, y solo un operate coincidente mueve entonces la salida. Direct operate es más rápido y con menos mensajes; select-before-operate agrega un paso de verificación que protege contra un comando corrupto o mal dirigido que actúe sobre el punto equivocado.
Control de un paso frente a dos pasos
Direct operate es el camino simple. El maestro envía una sola solicitud direct-operate con el objeto de control - un CROB para una salida binaria o un bloque de salida analógica para un setpoint - y la estación remota actúa y responde. Una solicitud, una respuesta, latencia mínima. Es la opción eficiente cuando el comando es de bajo riesgo y el costo de un disparo errado ocasional es pequeño.
Select-before-operate divide el comando en dos. Primero el maestro envía un select que nombra el punto y la acción; la estación remota lo valida, arma ese punto y devuelve como eco la solicitud exacta. El maestro compara el eco con lo que envió, y solo si coinciden envía un operate para disparar el punto armado. La mecánica completa de este handshake se cubre en select-before-operate. El eco es la característica de seguridad: si la estación entendió otro punto u otra acción, la discrepancia detiene al maestro antes de que algo se mueva.
Qué compra el paso extra y cuándo usarlo
El valor del paso de select es la oportunidad de atrapar un error antes de que una salida actúe. Si un comando se corrompe de una forma que sobrevive al CRC, o si el direccionamiento lo manda al punto equivocado, el eco del select permite al maestro notar la discrepancia y abortar. Existe además un tiempo límite de select: el punto armado se desarma solo si el operate no llega pronto, de modo que un select rancio no puede disparar mucho después. Para un control que abre un interruptor o una válvula grande, esa verificación vale el viaje redondo extra.
La regla que se desprende es directa y se muestra en la tabla de abajo: use select-before-operate para los controles de consecuencia, donde una actuación equivocada es peligrosa o costosa, y direct operate donde la velocidad importa y el riesgo es bajo. Muchos sistemas mezclan los dos, eligiendo por punto. La elección se registra en el mapa de puntos y, del lado de la estación remota, la restringe lo que soporte su perfil de dispositivo.
Cómo elegir entre ellos
Esta tabla empareja cada método con la situación que le corresponde.
| Aspecto | Direct operate | Select-before-operate |
|---|---|---|
| Viajes redondos | Una solicitud | Select y luego operate |
| Verificación | Ninguna antes de actuar | La estación devuelve el select como eco para que el maestro verifique |
| Protege contra | Poco más allá del CRC | Comando mal dirigido o corrupto, y comando rancio vía tiempo límite |
| Latencia | La más baja | Mayor, por un viaje redondo |
| Mejor para | Salidas de bajo riesgo y sensibles a la velocidad | Interruptores, válvulas grandes, controles de consecuencia |
Preguntas frecuentes
¿Cuál es la diferencia entre direct operate y select-before-operate?
Direct operate comanda una salida en una sola solicitud. Select-before-operate envía primero un select que la estación remota devuelve como eco para que el maestro lo verifique, y solo un operate coincidente mueve entonces la salida. Uno es de un paso; el otro, de dos pasos con verificación.
¿Por qué usar select-before-operate en lugar de direct operate?
Para atrapar un comando mal dirigido o corrupto antes de que una salida actúe. La estación devuelve el select como eco para que el maestro confirme el punto y la acción correctos, y un tiempo límite de select desarma un comando rancio. Esto importa en controles de consecuencia como interruptores y válvulas grandes.
¿Direct operate es inseguro?
No de manera inherente: es apropiado para salidas de bajo riesgo y sensibles a la velocidad donde un disparo errado ocasional es tolerable. El intercambio es que no tiene paso de verificación antes de actuar, así que los controles de consecuencia usan por lo general select-before-operate.
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.