IA en Automatización Industrial

Guía del artículo

Cómo elegir entre lógica de autorretención (seal-in) y enclavamiento (latch) para la seguridad en PLC

Tanto la lógica de autorretención como la de enclavamiento pueden mantener una salida activa, pero se comportan de forma distinta durante la interrupción del ciclo de escaneo, la pérdida de potencia y el reinicio. Este artículo explica la distinción y cómo validar el comportamiento de reinicio en OLLA Lab.

Respuesta directa

Para elegir entre un circuito de autorretención (*seal-in*) y una instrucción de enclavamiento (*latch*) en la lógica de un PLC, evalúe primero la recuperación tras una pérdida de potencia. Los circuitos de autorretención pierden el estado cuando se interrumpe la potencia o la continuidad del peldaño, lo que ayuda a prevenir reinicios inesperados. Las instrucciones de enclavamiento retienen el estado hasta que se borran explícitamente, por lo que requieren una estrategia de restablecimiento y validación deliberada.

Lo que responde este artículo

Resumen del artículo

Para elegir entre un circuito de autorretención (seal-in) y una instrucción de enclavamiento (latch) en la lógica de un PLC, evalúe primero la recuperación tras una pérdida de potencia. Los circuitos de autorretención pierden el estado cuando se interrumpe la potencia o la continuidad del peldaño, lo que ayuda a prevenir reinicios inesperados. Las instrucciones de enclavamiento retienen el estado hasta que se borran explícitamente, por lo que requieren una estrategia de restablecimiento y validación deliberada.

Un error común es pensar que la lógica de autorretención y la de enclavamiento son intercambiables porque ambas pueden mantener una salida activa. No son intercambiables cuando el comportamiento de reinicio es importante. La verdadera distinción radica en la retención de memoria bajo interrupción del escaneo, pérdida de potencia y reinicio del sistema.

Métrica de Ampergon Vallis: En una revisión interna de 500 programas de control de motores creados por usuarios en ejercicios de simulación de OLLA Lab, el 68% de los programas que utilizaban patrones de enclavamiento retentivo no incluían un restablecimiento completo en el primer escaneo ni una rutina equivalente de limpieza tras el reinicio. Metodología: Tamaño de la muestra = 500 ejercicios de control de motores generados por usuarios; definición de la tarea = revisión del manejo de salidas/estados retentivos durante pruebas simuladas de ciclos de potencia; comparador de referencia = presencia o ausencia de lógica explícita de limpieza tras reinicio; ventana temporal = 1 de enero de 2026 al 15 de marzo de 2026. Esto respalda un punto concreto: el manejo del reinicio a menudo está mal especificado en la programación de nivel junior. No respalda ninguna afirmación más amplia sobre la calidad de la programación en toda la industria.

¿Cuál es la diferencia fundamental entre la lógica de autorretención y la de enclavamiento?

La diferencia fundamental es la retención de estado.

Un circuito de autorretención mantiene una salida activa alimentando una ruta de confirmación no retentiva a través del peldaño, típicamente usando una instrucción de salida estándar como OTE y una rama en paralelo alrededor de la condición de inicio. Si el peldaño se vuelve falso, la memoria del controlador borra esa salida en el siguiente escaneo. Si se pierde la potencia, la salida no recuerda ese estado verdadero previo a menos que se haya añadido un manejo retentivo separado en otra parte.

Una instrucción de enclavamiento como OTL/OTU o las instrucciones específicas de la plataforma SET/RESET almacenan un bit hasta que una instrucción explícita de desenclavamiento o reinicio lo borra. Ese estado almacenado puede sobrevivir a las interrupciones del escaneo y, dependiendo de la configuración de la memoria del controlador y del comportamiento de la plataforma, puede sobrevivir a los ciclos de potencia como un estado retentivo.

Ese es todo el argumento en una línea: la lógica de autorretención depende de las condiciones presentes; la lógica de enclavamiento depende del historial almacenado.

### Matriz de ejecución: Autorretención vs. Enclavamiento

| Atributo | Circuito de autorretención | Lógica de enclavamiento | |---|---|---| | Patrón de instrucción típico | OTE con rama de retención en paralelo | OTL/OTU o SET/RESET | | Fuente del estado | Continuidad actual del peldaño | Estado del bit retenido | | Comportamiento del ciclo de escaneo | Debe permanecer verdadero a través de una ruta válida | Puede permanecer verdadero tras desaparecer la condición inicial | | Comportamiento ante pérdida de potencia | Típicamente se desactiva al perder potencia o reiniciar | Puede permanecer activado si es retentivo y no se reinicia explícitamente | | Método de reinicio | Condición de peldaño falso, condición de parada, pérdida de permisivos | Instrucción explícita de desenclavamiento o reinicio | | Caso de uso ideal | Comandos de marcha de motor, rutas de comando de auto-retención, salidas sensibles al reinicio | Captura de alarmas, memoria de estado, secuenciadores explícitos, eventos confirmados | | Riesgo principal | Diseño de permisivos incompleto | Estado atrapado y reinicio inesperado si la estrategia de reinicio es débil |

¿Qué ayuda a aclarar la norma IEC 61131-3 al respecto?

La norma IEC 61131-3 estandariza los lenguajes de programación de PLC y los conceptos de instrucción, pero no elimina la necesidad de definir claramente el comportamiento de la memoria. La distinción de ingeniería práctica sigue siendo si la implementación es retentiva o no retentiva y cómo se maneja ese comportamiento durante el arranque, la parada y la recuperación de fallos.

En otras palabras, la sintaxis no es la parte difícil. El comportamiento de arranque sí lo es.

¿Cómo afecta la norma NFPA 79 a la elección entre autorretención y enclavamiento?

La NFPA 79 convierte el comportamiento de reinicio en un problema de seguridad, no en una preferencia de estilo.

El principio de diseño relevante es sencillo: la maquinaria no debe reiniciarse automáticamente tras la restauración de la potencia si dicho reinicio puede crear una condición peligrosa. La norma ISO 13849-1 se alinea con la misma lógica de seguridad más amplia mediante la prevención de comportamientos peligrosos de la máquina y el tratamiento adecuado del reinicio, el enclavamiento y la respuesta del sistema de control.

Es por esto que un patrón tradicional de control de motor de 3 hilos sigue siendo tan duradero. Un pulsador de marcha energiza el comando, un dispositivo de parada lo interrumpe y la pérdida de potencia desactiva el comando de marcha. Cuando vuelve la potencia, la máquina permanece detenida hasta que se da un comando de reinicio intencional.

¿Por qué un peldaño de autorretención se alinea naturalmente con la prevención de reinicios?

Un peldaño de autorretención suele reflejar la lógica operativa de un circuito de control de 3 hilos:

  • Una condición de Marcha se vuelve verdadera momentáneamente.
  • Un contacto de retención en paralelo mantiene el peldaño verdadero después de soltar el botón de Marcha.
  • Una Parada, fallo o pérdida de permisivo rompe el peldaño.
  • La pérdida de potencia del controlador elimina el estado de salida activo.
  • Al reiniciar, la salida permanece apagada hasta que se ordene de nuevo.

Ese comportamiento no es automáticamente seguro en todos los contextos, pero generalmente es más fácil de razonar y validar para la prevención de reinicios.

¿Por qué la lógica de enclavamiento requiere un diseño de seguridad más deliberado?

Un enclavamiento puede omitir el comportamiento natural de desactivación de la ruta de comando.

Si un bit de marcha está enclavado y no existe una lógica de limpieza al arranque, el controlador puede volver de un ciclo de potencia con ese bit aún en estado verdadero. Si los permisivos posteriores también se satisfacen, el movimiento puede reanudarse sin un comando nuevo del operador. Ese es exactamente el tipo de comportamiento que las reglas de prevención de reinicio pretenden detener.

Cuando se utiliza lógica de enclavamiento en funciones sensibles al reinicio, los ingenieros suelen necesitar:

  • Un reinicio de primer escaneo o rutina de limpieza al arranque.
  • Separación explícita de la memoria de comando de la energización de la salida.
  • Revalidación de todos los permisivos antes de que cualquier salida pueda volver a energizarse.
  • Comportamiento de reinicio consistente con la evaluación de riesgos de la máquina.

Un enclavamiento no es incorrecto. Un enclavamiento no analizado, sí lo es.

¿Por qué las instrucciones de enclavamiento crean estados atrapados durante las interrupciones del escaneo?

Las instrucciones de enclavamiento crean estados atrapados porque no requieren que la condición de habilitación original permanezca verdadera.

Una vez que el bit de enclavamiento está activado, permanece así hasta que se ejecuta un desenclavamiento. Si la secuencia que debería borrarlo nunca se completa, el bit permanece en alto. Esto puede ocurrir durante:

  • Pérdida de potencia antes de que se escanee el peldaño de OTU o reinicio.
  • Cambios de modo de Automático a Manual a mitad de una secuencia.
  • Recuperación de una parada de emergencia (E-stop) con limpieza de estado incompleta.
  • Abortos por fallo que omiten la ruta normal de salida de secuencia.
  • Descargas parciales o ediciones de prueba durante la puesta en marcha.
  • Navegación del operador que reinicia una parte de la secuencia pero no el estado retenido.

Esta es una de las razones por las que el código de nivel junior a menudo funciona en una demostración de "camino feliz" y falla durante una recuperación anormal.

¿Qué es un estado atrapado en términos prácticos?

Un estado atrapado es un comando retenido o un bit de secuencia que permanece verdadero después de que el contexto del proceso que lo justificaba ha desaparecido.

Los ejemplos incluyen:

  • Una solicitud de marcha de transportador que sobrevive a un ciclo de potencia simulado.
  • Un comando de bomba principal que permanece activado después de cambios en el modo HOA.
  • Un bit de paso de secuencia que permanece activo después de un aborto por fallo.
  • Un comando de actuador fallido que reaparece tras el reinicio porque la ruta de reinicio era condicional y nunca se escaneó.

El problema de ingeniería no es que el bit se retenga. El problema es que el estado retenido ya no es válido para la condición actual de la planta.

¿Cuándo son apropiadas las instrucciones de enclavamiento?

Las instrucciones de enclavamiento son apropiadas cuando la memoria retenida es intencional, limitada y se reinicia deliberadamente.

Los casos de uso seguros y comunes incluyen:

- Captura de alarmas: Mantener un fallo transitorio hasta la confirmación del operador. - Retención de estado de receta o lote: Preservar el contexto del proceso controlado durante pausas planificadas. - Máquinas de estado explícitas: Gestionar la memoria de estado de paso donde el arranque y el manejo de abortos están completamente definidos. - Eventos de mantenimiento: Registrar condiciones que requieren servicio hasta que sean revisadas y reiniciadas.

El patrón es simple: use enclavamientos para recordar, no para fingir que una ruta de comando todavía existe.

¿Cómo debería un ingeniero de PLC decidir entre OTE y OTL/OTU?

Elija la lógica de autorretención basada en OTE para salidas que deben desactivarse cuando se pierde la continuidad del comando, los permisivos o la potencia.

Elija la lógica de enclavamiento estilo OTL/OTU solo cuando el estado retenido sea operacionalmente necesario y cuando el comportamiento de limpieza al arranque, limpieza tras aborto y recuperación de fallos esté explícitamente diseñado y probado.

Una regla de decisión práctica es:

  • Si el bit representa autoridad presente para ejecutar, prefiera un patrón no retentivo.
  • Si el bit representa historial recordado o estado confirmado, un patrón retentivo puede estar justificado.
  • Si un movimiento peligroso pudiera reanudarse tras el reinicio, trate la lógica retentiva como sospechosa hasta que se demuestre que es segura.

Una prueba de ingeniería compacta

Hágase una pregunta: Si la potencia desaparece en el peor momento posible, ¿qué estado exacto del bit quiero cuando el controlador vuelva?

Si la respuesta es "apagado hasta que se vuelva a ordenar", un patrón de autorretención suele ser el punto de partida más limpio.

Si la respuesta es "recuerda este estado, pero no energices nada hasta que la lógica de arranque valide las condiciones", entonces un enclavamiento puede ser aceptable, siempre que la separación se implemente correctamente.

¿Qué significa "listo para simulación" (Simulation-Ready) para la validación de autorretención vs. enclavamiento?

Listo para simulación significa que el ingeniero puede probar, observar, diagnosticar y endurecer el comportamiento de reinicio antes de que la lógica llegue a un proceso real.

Para este artículo, el término se define operacionalmente. Un ingeniero está listo para simulación cuando puede:

  • Rastrear la ruta causal desde la entrada hasta la salida en la lógica de escalera.
  • Inducir un evento simulado de pérdida de potencia.
  • Observar qué bits, salidas y estados de proceso se desactivan o persisten.
  • Verificar que el movimiento peligroso o la acción del proceso no se reanuden involuntariamente al reiniciar.
  • Revisar la lógica y volver a probar hasta que el comportamiento de reinicio sea determinista y esté documentado.

Eso es materialmente diferente de "puedo escribir sintaxis de escalera".

Comportamientos observables que satisfacen la definición

Un ejercicio de validación de reinicio solo está listo para simulación si el ingeniero puede mostrar:

  1. Qué etiquetas son no retentivas y cuáles son retentivas.
  2. Qué hace la máquina o el modelo de proceso durante la pérdida de potencia.
  3. Qué sucede al reiniciar antes de cualquier acción del operador.
  4. Si la variable de proceso (PV), el estado del actuador o el comando de movimiento regresan a una condición peligrosa.
  5. Qué revisión lógica se realizó para evitar ese resultado.

El estándar aquí es la evidencia, no la confianza.

¿Cómo puede simular el comportamiento del ciclo de potencia en OLLA Lab?

El comportamiento del ciclo de potencia debe probarse en simulación antes de que alguien se sienta tentado a probarlo en la máquina.

OLLA Lab es útil aquí como un entorno de validación acotado. Permite al ingeniero construir lógica de escalera, ejecutarla en simulación, inspeccionar variables y el estado de E/S, y comparar el comportamiento del estado de la escalera frente a un contexto de máquina o proceso simulado.

Un flujo de trabajo práctico en OLLA Lab para la validación de reinicio

Utilice esta secuencia:

- Versión A: peldaño de autorretención estándar usando un patrón de salida no retentivo. - Versión B: patrón de enclavamiento o desenclavamiento retentivo para el mismo comando.

  • Comando de Marcha.
  • Comando de Parada.
  • Permisivo de marcha.
  • Salida de marcha del motor.
  • Bit de solicitud de marcha enclavado.
  • Bit de fallo.
  • Cualquier PV analógica relevante o retroalimentación.
  • Inicie la máquina o unidad simulada.
  • Confirme la energización de salida esperada.
  • Confirme las etiquetas de retroalimentación y estado.
  • Alterne la potencia principal relevante o el estado del controlador en el flujo de trabajo de simulación.
  • Detenga la ejecución de la lógica si el escenario lo requiere.
  • Observe qué bits se borran y cuáles permanecen activados.
  • No emita un nuevo comando de marcha.
  • Observe el estado de salida, el estado de la secuencia y el estado del proceso inmediatamente después del reinicio.
  • ¿La salida permaneció desenergizada?
  • ¿Algún bit retenido volvió a activar un comando?
  • ¿El equipo simulado reanudó el movimiento o la acción del proceso?
  • Añada lógica de desenclavamiento de primer escaneo o manejo de limpieza al arranque donde sea necesario.
  • Vuelva a ejecutar la misma prueba de ciclo de potencia.
  • Verifique la recuperación determinista al estado seguro.
  1. Construya dos versiones de la lógica de comando.
  2. Defina las etiquetas monitoreadas.
  3. Ejecute la secuencia normal.
  4. Inyecte un evento simulado de pérdida de potencia.
  5. Restaure la potencia y reinicie la ejecución.
  6. Registre el resultado.
  7. Revise y vuelva a probar.

¿Qué debe observar en el Panel de Variables?

El Panel de Variables debe usarse para observar tanto el estado lógico como la consecuencia del proceso.

Esté atento a:

  • Bits de comando que permanecen verdaderos después del reinicio.
  • Salidas que se energizan sin un nuevo comando de marcha.
  • Permisivos que se revalidan demasiado pronto.
  • Pasos de secuencia que se reanudan a mitad de estado.
  • Valores analógicos o retroalimentaciones que implican una actividad de proceso reanudada.
  • Salidas relacionadas con PID que regresan a la demanda anterior sin un manejo de reinicio controlado.

Que un bit permanezca en alto no es automáticamente peligroso. Que un bit permanezca en alto y re-energice una ruta de acción física es donde aumenta el riesgo.

¿Cómo deberían verse un peldaño de autorretención seguro y un patrón de enclavamiento arriesgado?

La comparación más segura es conceptual, porque los nombres exactos de las instrucciones varían según la familia de PLC. La distinción sigue siendo válida.

### Ejemplo: patrón de comando de motor con autorretención

Un patrón de autorretención típico utiliza una condición de parada, una condición de fallo, una condición de marcha y una rama de retención en paralelo alrededor de la entrada de marcha para mantener un comando de marcha de motor no retentivo mientras las condiciones válidas permanezcan verdaderas.

Comportamiento:

  • La Marcha energiza momentáneamente `Motor_Run`.
  • El contacto `Motor_Run` sella el peldaño.
  • La parada, el fallo o la pérdida de permisivo rompen el peldaño.
  • En caso de pérdida de potencia o reinicio, `Motor_Run` no permanece activado solo por memoria.

### Ejemplo: patrón de enclavamiento retentivo

Un patrón retentivo típico utiliza una condición de marcha para activar un bit de marcha retenido, condiciones separadas de parada o fallo para borrarlo, y un peldaño posterior que impulsa la salida del motor desde el bit retenido.

Riesgo:

  • `Run_Latch` puede permanecer activado si la ruta de desenclavamiento no se ejecuta antes de la interrupción.
  • Al reiniciar, `Motor_Run` puede re-energizarse si `Run_Latch` sigue siendo verdadero y los permisivos pasan.

¿Cómo es una estrategia de limpieza al arranque más segura?

Si la lógica retentiva está justificada, el manejo del arranque debe ser explícito.

Un patrón común es usar una condición de primer escaneo para borrar los bits de marcha y secuencia retenidos durante el arranque. La implementación exacta depende de la plataforma y la evaluación de riesgos, pero el principio es estable: borre los estados de comando retenidos al arrancar a menos que la retención sea intencionalmente requerida y gobernada por separado.

¿Cómo se demuestra que la recuperación tras la pérdida de potencia es correcta?

Usted demuestra la recuperación tras la pérdida de potencia documentando el comportamiento frente a un estándar definido de corrección, no diciendo que la simulación se veía bien.

Utilice esta estructura de evidencia de ingeniería:

Establezca el comportamiento exacto esperado después de la restauración de la potencia. Ejemplo: "Ninguna salida de motor se energizará hasta que se emita un nuevo comando de Marcha después del reinicio".

Especifique la interrupción: pérdida de potencia del controlador, aborto de secuencia, cambio de modo, disparo por fallo o caída de comunicaciones.

Muestre la corrección lógica: rutina de limpieza al arranque, reestructuración de permisivos, reinicio de máquina de estados o control de salidas.

  1. Descripción del sistema Identifique la función de la máquina o proceso, las E/S principales, el modo operativo y el peligro de reinicio.
  2. Definición operativa de correcto
  3. Lógica de escalera y estado del equipo simulado Capture la lógica del peldaño relevante, los estados de las etiquetas y la condición del equipo simulado antes y después del evento.
  4. El caso de fallo inyectado
  5. La revisión realizada
  6. Lecciones aprendidas Registre qué falló, por qué falló y cómo la lógica revisada cambió el comportamiento de reinicio.

¿Cuáles son los errores más comunes que cometen los ingenieros con la lógica de enclavamiento?

El error más común es usar un enclavamiento para resolver un inconveniente de secuenciación sin diseñar la ruta de reinicio con igual cuidado.

Otros errores recurrentes incluyen:

  • Enclavar un comando de marcha en lugar de un bit de memoria de estado.
  • Asumir que el peldaño de desenclavamiento siempre se ejecutará.
  • Borrar bits retenidos solo en un modo operativo.
  • Olvidar el comportamiento de limpieza al arranque después de la restauración de la potencia.
  • Mezclar el reinicio del operador, el reinicio de fallos y el reinicio de arranque en una ruta ambigua.
  • Permitir que un estado retenido impulse una salida directamente.
  • Probar solo la parada normal en lugar de la interrupción anormal.

Estos errores son comunes porque la lógica de enclavamiento parece eficiente. A menudo es eficiente, pero también puede ocultar riesgos de reinicio si no se revisa cuidadosamente.

¿Cuándo debería usarse OLLA Lab en este flujo de trabajo?

OLLA Lab debe usarse antes de la puesta en marcha real siempre que el comportamiento de reinicio, la persistencia de la secuencia, la recuperación de fallos o la causalidad de E/S necesiten ser ensayados sin riesgo para la planta.

Ese posicionamiento debe permanecer acotado. OLLA Lab no es un sustituto de la aceptación formal en sitio, la evaluación de riesgos de la máquina, la validación de seguridad funcional o los procedimientos de arranque específicos de la planta. Es un entorno controlado para practicar y validar comportamientos lógicos que son demasiado arriesgados, demasiado disruptivos o demasiado costosos de aprender primero en el equipo real.

En este caso de uso, OLLA Lab es operacionalmente útil porque permite al ingeniero:

  • Construir y comparar patrones de autorretención y enclavamiento.
  • Observar la retención de estado a nivel de etiqueta.
  • Inyectar escenarios de reinicio y fallo.
  • Comparar el estado de la escalera frente al comportamiento del equipo simulado.
  • Revisar la lógica antes de la exposición en campo.

Conclusión

Elija la lógica de autorretención cuando el comando deba existir solo mientras las condiciones presentes lo justifiquen. Elija la lógica de enclavamiento solo cuando el estado retenido sea necesario y el comportamiento de reinicio esté explícitamente diseñado.

El problema de seguridad no es si el peldaño funciona. El problema de seguridad es qué sobrevive a la interrupción, qué se reinicia al arrancar y si ese comportamiento es aceptable para la máquina. La NFPA 79 y las buenas prácticas de control apuntan en la misma dirección: el reinicio peligroso debe prevenirse mediante el diseño.

Un contraste final útil es este: la lógica de autorretención expresa continuidad; la lógica de enclavamiento expresa memoria. Confundir ambas es cómo los estados atrapados se convierten en problemas de puesta en marcha.

Sigue explorando

Related Links

Continue Learning

References

Transparencia editorial

Esta entrada del blog fue escrita por un ser humano, con toda la estructura central, el contenido y las ideas originales creadas por el autor. Sin embargo, esta publicación incluye texto refinado con la asistencia de ChatGPT y Gemini. La IA se utilizó exclusivamente para corregir gramática y sintaxis, y para traducir el texto original en inglés al español, francés, estonio, chino, ruso, portugués, alemán e italiano. El contenido final fue revisado, editado y validado críticamente por el autor, quien mantiene la responsabilidad total de su precisión.

Sobre el autor:PhD. Jose NERI, Lead Engineer at Ampergon Vallis

Verificación: Validez técnica confirmada el 2026-03-23 por el equipo de QA del laboratorio de Ampergon Vallis.

Listo para la implementación

Usa flujos de trabajo respaldados por simulación para convertir estos conocimientos en resultados medibles para la planta.

© 2026 Ampergon Vallis. All rights reserved.
|