Glosario de Automatización • Select-before-operate

¿Qué es select-before-operate (SBO)?

Ingeniería Merobix • • 7 min de lectura

Enviar un comando de control por un enlace de telemetría es más riesgoso que accionar un interruptor en un tablero, porque el enlace puede corromper, retrasar o duplicar el mensaje camino al campo. Select-before-operate es el handshake de dos pasos que DNP3 usa para hacer seguro el control remoto de todos modos. En lugar de disparar una válvula o un interruptor de un solo tiro, el maestro primero selecciona el punto y la acción exactos, espera que la estación remota se los repita, y solo entonces envía el operate. Esta guía explica cómo funciona el patrón de armar y disparar, la ventana de timeout que lo protege, y en qué se diferencia de un comando direct-operate de un solo mensaje.

Volver al glosario

Select-before-operate en una línea: Select-before-operate (SBO) es una secuencia de control DNP3 de dos pasos en la que el maestro primero envía una solicitud select que nombra el punto de salida y la acción, la estación remota la valida y la repite de vuelta, y solo entonces el maestro envía una solicitud operate para llevarla a cabo. El handshake de dos pasos asegura que ambos extremos concuerden en exactamente qué va a pasar antes de que cambie cualquier salida física, lo que evita la actuación accidental sobre un enlace poco confiable.

El handshake de dos pasos: armar y disparar

Select-before-operate divide una acción de control en dos mensajes distintos que deben tener éxito ambos. En el primer paso, el maestro envía una solicitud select construida alrededor de un control relay output block, o CROB, que especifica el índice del punto a controlar, el tipo de operación como latch-on, latch-off o un pulso, y la temporización. La estación remota todavía no mueve nada. En cambio valida que el punto existe, está configurado para control y actualmente tiene permitido operar, y luego repite el bloque de control idéntico de vuelta al maestro como su respuesta. Esa repetición es la estación remota diciendo que entendió exactamente lo que se le pidió.

En el segundo paso, el maestro compara esa repetición con lo que envió. Si coinciden bit por bit, el maestro emite una solicitud operate que referencia el mismo punto y acción, y solo ahora la estación remota mueve la salida física - energiza el relevador, mueve la válvula, dispara el interruptor. Si la repetición no coincidió, o si algo en la secuencia se ve mal, el maestro abandona la acción y no envía ningún operate. Nada en el campo se ha movido a menos que ambas mitades de la conversación concordaran, que es todo el punto del patrón.

Esta estructura de armar y luego disparar refleja la lógica de manejo seguro de un arma o de una consola de lanzamiento por una razón. Armar y disparar son actos deliberadamente separados, cada uno requiere su propio mensaje, para que una sola trama distorsionada o espuria no pueda causar una operación por sí sola. Un select perdido no hace más que armar un punto; un operate perdido sin un select previo que coincida se rechaza. Se necesita un par coherente y coincidente para mover una salida controlada.

La ventana de timeout de la selección

El select no permanece válido para siempre. Cuando la estación remota acepta un select, arranca un temporizador corto, y el operate correspondiente debe llegar antes de que ese temporizador expire. Si el operate llega demasiado tarde, la estación remota descarta la selección armada y el maestro tiene que volver a empezar con un select nuevo. Esta ventana de timeout de selección es una función de seguridad: asegura que el operate que dispara una salida sea genuinamente parte de la misma conversación reciente que el select que la armó, en lugar de un operate rancio que llega mucho después, cuando las condiciones pudieron haber cambiado.

La ventana se mantiene típicamente corta - suficiente para cubrir un viaje de ida y vuelta normal en el enlace más el tiempo de decisión del maestro, pero no tan larga como para que la intención de un operador quede rancia. En un enlace serial o de fibra rápido el timeout puede ser ajustado. En un enlace satelital o celular de alta latencia y congestionado debe ampliarse, porque una ventana más corta que el tiempo real de ida y vuelta haría que cada operate legítimo llegara después de que la selección ya expiró, imposibilitando el control aun cuando nada esté mal.

Como solo un punto puede armarse a la vez en la implementación usual, el timeout de selección también limpia las selecciones abandonadas de forma automática. Si un maestro selecciona un punto y luego pierde la comunicación antes de operar, la estación remota simplemente deja que la selección caduque y regresa a un estado completamente desarmado. No queda ninguna salida armada persistente esperando a ser disparada por un mensaje posterior no relacionado.

SBO frente a direct-operate en el control de campo SCADA

DNP3 también ofrece una alternativa de un solo mensaje llamada direct-operate, que combina armar y disparar en una sola solicitud: el maestro envía un comando y la estación remota actúa de inmediato, y devuelve una respuesta de confirmación después del hecho. Direct-operate es más rápido y simple porque reduce a la mitad el número de mensajes y de viajes de ida y vuelta, y es perfectamente razonable para salidas de baja consecuencia donde una actuación accidental sería inofensiva o fácilmente reversible. También existe una variante direct-operate-no-acknowledge que prescinde por completo de la respuesta para los casos menos críticos.

La contrapartida es que direct-operate no tiene handshake para atrapar un comando corrompido o mal dirigido antes de que surta efecto. Si el enlace distorsiona el índice del punto, un direct-operate podría concebiblemente actuar sobre la salida equivocada, mientras que una secuencia SBO atraparía la discrepancia en el paso de repetición y nunca enviaría el operate. Para cualquier cosa que pueda lastimar personas, dañar equipo o interrumpir la producción - abrir una válvula de paro, disparar un compresor, conmutar un motor grande - el viaje de ida y vuelta extra de select-before-operate es un seguro barato y es la elección esperada.

En un contexto de SCADA de nube, donde un operador puede estar emitiendo controles a un pozo a cientos de kilómetros de distancia a través de una plataforma como Merobix, esa garantía pesa de verdad. El handshake de dos pasos significa que la pantalla del operador, el maestro y la estación remota lejana confirman todos que se refieren a la misma acción física antes de que el campo cambie, y el timeout de selección garantiza que el comando que finalmente dispara esté fresco. Las salidas críticas se configuran típicamente para SBO mientras que los puntos rutinarios de bajo riesgo pueden usar direct-operate, así el esquema de control gasta sus viajes de ida y vuelta extra solo donde las consecuencias lo justifican.

Preguntas frecuentes

¿Cuál es la diferencia entre select-before-operate y direct-operate en DNP3?

Select-before-operate usa dos mensajes: un select que arma un punto y se repite de vuelta para confirmación, luego un operate que realmente lo dispara. Direct-operate combina ambos en un solo mensaje, así que la estación remota actúa de inmediato sin un paso de repetición. SBO es más seguro porque la repetición atrapa un comando corrompido antes de que algo se mueva, mientras que direct-operate es más rápido pero no tiene ese chequeo, así que conviene solo a salidas de baja consecuencia.

¿Qué pasa si el operate llega después del timeout de selección de SBO?

Si el operate no llega antes de que el temporizador de selección expire, la estación remota descarta la selección armada y no hace nada. El maestro debe emitir un select y un operate nuevos para intentarlo de nuevo. Esto protege contra un operate rancio que dispare una salida mucho después del select de armado, y por eso la ventana de timeout se dimensiona para cubrir un viaje de ida y vuelta normal del enlace pero no más.

¿Por qué el control remoto crítico usa select-before-operate?

Porque un enlace de telemetría puede corromper o mal dirigir un comando, y un control de un solo tiro no ofrece oportunidad de atrapar eso antes de que la salida se mueva. Select-before-operate hace que ambos extremos confirmen el punto y la acción exactos mediante un select repetido antes de enviar cualquier operate, así un comando distorsionado se rechaza en lugar de accionarse. Para salidas que pueden dañar personas o equipo, ese viaje de ida y vuelta extra vale el costo.

Más en Protocolos industriales
Direct operate vs SBO  •  DNP3 serial vs TCP  •  DNP3 vs IEC 60870-5  •  DNP3 vs Modbus  •  Los eventos DNP3 no llegan  •  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 →