¿Qué es una instrucción latch y unlatch?
En la lógica de escalera hay dos maneras de encender una salida. Una bobina normal sigue su renglón en cada barrido, así que cae en el momento en que el renglón se vuelve falso. Una instrucción latch hace algo distinto: enciende un bit y lo deja encendido, y solo una instrucción unlatch separada puede volver a apagarlo. Este par, escrito como OTL y OTU en plataformas Allen-Bradley o como set y reset en otras, es cómo un PLC recuerda una decisión en lugar de volver a decidirla en cada barrido. Entender cuándo un bit debe quedar retenido, y la consecuencia de seguridad de uno que permanece retenido tras un reinicio, es fundamental para escribir lógica de control que se comporte como el operador espera.
Instruccion latch y unlatch en una línea: Una instrucción latch, a menudo mostrada como OTL o set, enciende un bit de salida y lo mantiene encendido en todo barrido futuro hasta que una instrucción unlatch separada, mostrada como OTU o reset, lo apaga. A diferencia de una bobina normal, que sigue su renglón en cada barrido y cae en cuanto el renglón se vuelve falso, un bit retenido es retentivo y puede sobrevivir a una falla o a un corte de energía. Esa persistencia es todo el propósito de la instrucción y también su principal peligro.
Latch, unlatch y en qué difieren de una bobina normal
Una bobina de salida normal es esclava de su renglón. En cada barrido el procesador evalúa los contactos que alimentan la bobina, y si el renglón es verdadero la bobina está encendida, si es falso la bobina está apagada. No hay memoria involucrada. En el instante en que la condición habilitante desaparece, la salida desaparece con ella en el siguiente barrido. Ese comportamiento es exactamente lo que se quiere para algo como un indicador de marcha que debe seguir una condición viva momento a momento.
Una instrucción latch rompe ese vínculo deliberadamente. Cuando su renglón se vuelve verdadero, escribe el bit en encendido y luego deja de importarle su propio renglón. Aun si el renglón se vuelve falso de inmediato, el bit permanece puesto. Lo único que lo apaga es una instrucción unlatch que actúa sobre el mismo bit, la cual lo fuerza a apagarse y de igual modo lo deja apagado. En la práctica se escriben las dos instrucciones en renglones separados: un renglón con las condiciones de arranque que manejan el latch, y otro renglón con las condiciones de paro que manejan el unlatch. El bit vive en el estado que se le ordenó por última vez.
Esto se acerca en comportamiento al hábito más viejo de mantener una salida encendida cableando uno de sus propios contactos de regreso alrededor del botón de arranque, pero el mecanismo no es el mismo. Ese enfoque de autorretención usa una bobina normal que permanece energizada porque el renglón sigue evaluando verdadero a través del contacto de realimentación, así que cortar la energía la deja caer. Un latch almacena el estado del bit como dato, y por eso en muchos procesadores puede configurarse como retentivo y sobrevivir a eventos que despejarían una bobina ordinaria. Saber cuál mecanismo está viendo le dice cómo se comportará la salida tras una interrupción de energía.
El patrón de arranque/paro de dos renglones y la retentividad
El uso clásico es una bomba o un motor que un botón de arranque momentáneo debe encender y un botón de paro momentáneo debe apagar. No se puede usar una bobina simple, porque el botón de arranque regresa en el instante en que el operador lo suelta y la bobina caería con él. Así que un renglón retiene el bit de marcha cuando se presiona el botón de arranque y se satisfacen los permisivos, y un segundo renglón libera el mismo bit de marcha cuando se presiona el botón de paro o aparece una falla. Entre pulsaciones el bit de marcha simplemente mantiene lo que se le indicó por última vez.
La sutileza que atrapa a la gente es la retentividad a través de un corte de energía. En muchos controladores un bit retenido se almacena en memoria retentiva, lo que significa que conserva su valor cuando el PLC pierde energía y vuelve a encender. Así que una bomba que estaba corriendo cuando la planta perdió energía puede encontrar su bit de marcha aún puesto al reiniciar. Si eso es deseable depende por completo del equipo. Para una bandera de dato puede ser inofensivo; para una salida física que maneja un motor o una válvula puede ser peligroso, porque la máquina puede volver a la vida en el instante en que regresa la energía sin ninguna orden del operador.
Por eso, una lógica bien escrita casi nunca deja que una salida retenida cruda vuelva a encender directamente tras un reinicio. Una disciplina común es despejar o reevaluar las salidas físicas retenidas en el primer barrido tras el arranque, forzando al operador a reiniciar el equipo deliberadamente en lugar de dejar que se reanude por sí solo. Algunos programadores evitan por completo las instrucciones latch para salidas que producen movimiento y usan lógica explícita de marcha/paro con una bobina normal para que el comportamiento ante pérdida de energía sea inequívoco. La instrucción es una herramienta, y su naturaleza retentiva es algo que se debe decidir conscientemente conservar o anular.
Salidas retenidas en operaciones de campo y SCADA
La persistencia de un bit retenido se vuelve una preocupación de seguridad real en la lógica de paro de emergencia en sitios no atendidos. Considere un esquema de ESD de campo petrolero donde un controlador debe mantener abierta una válvula de cabezal de pozo durante la operación normal y llevarla a cerrada en un disparo. Si la orden de apertura se implementa como una salida retenida y ese bit es retentivo, un reinicio del controlador puede regresar la válvula a su estado retenido-abierto antes de que las condiciones de disparo se hayan vuelto a verificar. El diseño correcto desenergiza a un estado seguro ante la pérdida de energía y vuelve a comprobar cada permisivo antes de permitir cualquier reapertura, en lugar de confiar en un bit almacenado.
Desde el punto de vista del SCADA y el monitoreo remoto, los bits retenidos son también lo que hace visible el estado a través de un enlace lento o intermitente. Como el bit conserva su valor, un tablero de nube que sondea un sitio remoto puede leer el estado retenido actual a su propio ritmo y aun así mostrar al operador una imagen correcta de qué está encendido y qué apagado, aunque haya perdido el barrido exacto en que ocurrió el cambio. El valor retenido es en efecto la memoria del sitio de sus propias decisiones, y por eso los bits de latch y unlatch están entre los primeros puntos de estado que un integrador mapea a una pantalla remota.
El riesgo operativo a vigilar es un bit de alarma o de paro retenido que permanece puesto mucho después de que la condición subyacente se despejó, dejando a un operador remoto viendo un disparo que ya no refleja la realidad, o una inhibición que nunca se restableció. La buena práctica empareja cada latch con una ruta de unlatch claramente alcanzable, una acción de restablecimiento evidente y la anunciación de cualquier cosa que haya estado retenida por un tiempo inusualmente largo, para que un bit persistente sea siempre algo que un humano eligió conservar y no algo que la lógica olvidó despejar en silencio.
Preguntas frecuentes
¿Cuál es la diferencia entre OTL y OTE?
OTE es una salida normal que sigue su renglón en cada barrido, así que se apaga en el momento en que el renglón se vuelve falso. OTL retiene el bit encendido y lo deja encendido sin importar su propio renglón, y solo un OTU que actúa sobre el mismo bit lo apagará. Use OTE cuando la salida debe seguir una condición viva, y OTL/OTU cuando el PLC necesita recordar una decisión entre eventos.
¿Un bit retenido sobrevive a un corte de energía?
En muchos controladores un bit retenido se almacena en memoria retentiva, así que conserva su valor cuando el PLC pierde energía y vuelve a encender. Si eso es seguro depende de qué maneja el bit. Las banderas de dato retenidas suelen estar bien, pero una salida física retenida que puede reiniciar un motor o mover una válvula al encender es un peligro, así que la buena lógica despeja o vuelve a comprobar esas salidas en el primer barrido tras el arranque.
¿Cuándo debo usar una instrucción latch en lugar de una bobina normal?
Use un latch cuando una entrada momentánea debe producir un resultado duradero, como un botón de arranque de retorno por resorte que tiene que mantener una bomba corriendo tras soltarlo. Use una bobina normal cuando la salida debe reflejar una condición viva y caer en cuanto esa condición termina. Para salidas que mueven equipo físicamente, muchos ingenieros prefieren lógica explícita de marcha y paro sobre un latch crudo para que el comportamiento ante pérdida de energía sea inequívoco.
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.