Lo que responde este artículo
Resumen del artículo
Para programar una máquina de estados de un mezclador automatizado en lógica de escalera, los ingenieros deben separar la secuencia en estados mutuamente excluyentes y condicionar cada transición con permisivos explícitos. Este artículo muestra cómo construir los estados de llenado, mezclado y vaciado en el preset de mezclador de OLLA Lab y validarlos frente a condiciones anormales antes de cualquier implementación en tiempo real.
Una secuencia de mezclador no se vuelve segura añadiendo más contactos. Se vuelve más segura haciendo explícita la intención de la secuencia. En el control por lotes, la lógica booleana anidada puede parecer aceptable en la pantalla y, sin embargo, comportarse mal durante el ciclo de escaneo, especialmente cuando los cambios de sensores, las retroalimentaciones asíncronas o las condiciones de reinicio ocurren fuera de orden.
Las pruebas internas de Ampergon Vallis respaldan esta distinción dentro de este contexto de formación específico. Durante las pruebas de validación de 2026 del preset de mezclador de OLLA Lab, los usuarios que construyeron la secuencia con un modelo de estados explícito basado en enteros produjeron un 82% menos de fallos por solapamiento de válvulas no intencionado que los usuarios que dependieron de una lógica de contactos paralelos anidados. Metodología: n=34 intentos de construcción por parte de alumnos en la misma tarea de mezclador de 3 estados; comparador base = arquitectura de peldaños booleanos anidados; ventana temporal = enero-febrero de 2026. Esto respalda el valor del diseño de estados aislados dentro de esta tarea de laboratorio específica. No establece una tasa de defectos universal para todos los proyectos de PLC o todos los ingenieros.
El punto práctico es sencillo: la sintaxis no es sinónimo de capacidad de despliegue. Un peldaño puede compilar y, aun así, ser estructuralmente incorrecto para un proceso en tiempo real.
¿Por qué fallan las condiciones booleanas anidadas en el control de procesos por lotes?
La secuenciación booleana anidada falla porque no impone la exclusividad mutua entre las fases del proceso. En un mezclador por lotes, el problema de control no es simplemente "¿cuándo debe activarse esta salida?", sino "¿en qué fase se encuentra el proceso y qué salidas están prohibidas en todas las demás fases?".
ISA-88 proporciona el marco conceptual adecuado aquí. El estándar separa el control procedimental en fases y estados definidos en lugar de tratar todo el lote como un bloque expansivo de lógica condicional (ANSI/ISA-88.01, 2010). Esa distinción es importante porque los equipos de procesamiento por lotes son secuenciales por naturaleza. El llenado, el mezclado y el vaciado no son equivalentes. Son fases ordenadas con condiciones de entrada y salida explícitas.
Un patrón común en principiantes es la "lógica de cebolla": añadir suficientes contactos alrededor de cada salida hasta que parezca protegida. El problema es que la protección por acumulación no es lo mismo que la protección por estructura. Si un interruptor de nivel rebota, una retroalimentación del motor se retrasa un ciclo de escaneo o se produce un reinicio tras una interrupción, varios peldaños pueden satisfacer brevemente condiciones contradictorias.
Los peligros de la lógica sin estados
- Solapamiento no intencionado: Los comandos de llenado y vaciado pueden activarse simultáneamente si los permisivos están distribuidos en peldaños separados sin una variable de fase gobernante única. - Ambigüedad en el ciclo de escaneo: Los PLC resuelven la lógica secuencialmente por escaneo, no por intención humana. "Nunca debería ocurrir" no es una estrategia de control. - Resolución de problemas difícil: Los fallos de secuencia se vuelven difíciles de aislar porque la fase activa del proceso se infiere de muchas condiciones en lugar de declararse explícitamente. - Recuperación deficiente tras interrupciones: Tras una parada de emergencia, un cambio de modo o un ciclo de alimentación, la lógica anidada a menudo vuelve a entrar en la secuencia basándose en condiciones brutas en lugar de una recuperación de estado controlada. - Manejo débil de estados anormales: Fallos como un interruptor de nivel atascado o una retroalimentación fallida del agitador pueden producir oscilaciones, transiciones repetidas o combinaciones de salidas no válidas.
La idea errónea es que más enclavamientos significan automáticamente más seguridad. A veces significan más lugares donde ocultar el error.
¿Qué es una máquina de estados de PLC para un mezclador automatizado?
Una máquina de estados de PLC es una arquitectura de secuencia en la que un estado declarado representa la fase actual de operación, y las transiciones ocurren solo cuando se cumplen las condiciones definidas. En la práctica, esto suele significar un valor de paso entero o un patrón de bits "one-hot" que permite solo una fase activa a la vez.
Para esta construcción de mezclador, utilizaremos una variable de secuencia basada en enteros:
- Estado 10 = Llenado
- Estado 20 = Mezclado
- Estado 30 = Vaciado
Este enfoque es matemáticamente más limpio que la lógica de salida dispersa porque cada comando puede vincularse a un estado activo. Si `Seq_Step = 20`, el mezclador está en Mezclado. No "más o menos mezclando si otras tres condiciones siguen siendo ciertas". Simplemente Mezclado.
Definición operativa de "correcto" para este mezclador
Una máquina de estados de mezclador es operativamente correcta cuando demuestra todos los siguientes comportamientos observables:
- Solo una fase de proceso está activa a la vez.
- Las salidas de llenado y vaciado no pueden comandarse simultáneamente.
- El mezclado no puede comenzar hasta que el recipiente alcance la condición de nivel requerida.
- El vaciado no puede comenzar hasta que el intervalo de mezclado esté completo.
- Un cambio anormal de sensor en un estado no fuerza un salto hacia atrás no válido a menos que esté diseñado explícitamente para ello.
- Las condiciones de parada o fallo desactivan las salidas de forma determinista.
Ese es el estándar que vale la pena usar en la simulación. "La lógica de escalera parece razonable" no es una prueba de aceptación de ingeniería.
¿Cuáles son los tres estados operativos de un mezclador automatizado?
Los tres estados operativos son Llenado, Mezclado y Vaciado. Cada estado debe tener un propósito claro, un conjunto de salidas limitado y permisivos de transición explícitos.
Diccionario de E/S del mezclador de OLLA Lab
El siguiente mapeo refleja la lógica de construcción del artículo para el preset de mezclador de OLLA Lab.
| Estado | Nombre de la fase | Salida de comando principal | Condición de entrada típica | Condición de transición | |---|---|---|---|---| | 10 | Llenado | `Valve_Inlet_Cmd` | Solicitud de inicio, recipiente no lleno, agitador apagado | `Level_High_Sw = 1` | | 20 | Mezclado | `Agitator_Cmd` | Recipiente lleno y válvula de entrada cerrada | `Timer_Mix_Done.DN = 1` | | 30 | Vaciado | `Valve_Outlet_Cmd` | Mezcla completa y agitador apagado | `Level_Low_Sw = 1` o condición de vaciado completo |
### Estado 10: Llenado
Propósito: Añadir material al recipiente hasta alcanzar la condición de nivel alto.
Permisivos típicos:
- `Start_Cycle`
- `Level_Low_Sw`
- `Agitator_Off`
- Sin fallos activos ni condiciones de parada
Comportamiento de salida esperado:
- `Valve_Inlet_Cmd = 1`
- `Agitator_Cmd = 0`
- `Valve_Outlet_Cmd = 0`
### Estado 20: Mezclado
Propósito: Agitar el recipiente lleno durante un intervalo definido.
Permisivos típicos:
- `Level_High_Sw`
- Válvula de entrada confirmada cerrada
- Sin fallos activos ni condiciones de parada
Comportamiento de salida esperado:
- `Agitator_Cmd = 1`
- `Valve_Inlet_Cmd = 0`
- `Valve_Outlet_Cmd = 0`
### Estado 30: Vaciado
Propósito: Vaciar el recipiente después de completar el mezclado.
Permisivos típicos:
- `Timer_Mix_Done.DN`
- `Agitator_Off`
- Sin fallos activos ni condiciones de parada
Comportamiento de salida esperado:
- `Valve_Outlet_Cmd = 1`
- `Valve_Inlet_Cmd = 0`
- `Agitator_Cmd = 0`
¿Cómo se programan transiciones de estado explícitas en lógica de escalera?
Las transiciones de estado explícitas se programan comprobando el valor del paso actual, verificando el permisivo de transición y luego moviendo el siguiente valor de paso al registro de secuencia. El punto clave es que el peldaño de transición debe probar tanto dónde está el proceso ahora como por qué se le permite moverse.
Un patrón simple es:
[Idioma: Diagrama de escalera]
// Transición del Estado 10 (Llenado) al Estado 20 (Mezclado) |---[ EQU ]-------[ XIC ]-------[ XIO ]-----------------( MOV )---| | Fuente A: Level_High Agitator_Run Fuente: 20| | Seq_Step Feedback Destino: | | Fuente B: 10 Seq_Step |
Este peldaño es importante porque `EQU Seq_Step 10` evita que la transición se dispare en cualquier lugar excepto en la fase de Llenado. Sin esa comprobación, una condición verdadera errónea puede mover el proceso fuera de secuencia. Los PLC son obedientes de una manera ligeramente peligrosa.
### Paso 1: Crear el registro de secuencia
Cree una etiqueta (tag) entera como:
- `Seq_Step`
Inicialícela en un valor de reposo o directamente en `10` al inicio del ciclo, dependiendo de su filosofía de control.
Un patrón común es:
- `0 = Reposo`
- `10 = Llenado`
- `20 = Mezclado`
- `30 = Vaciado`
Espaciar los valores de paso de diez en diez no es obligatorio, pero facilita las ediciones posteriores.
### Paso 2: Construir peldaños de salida basados en estados
Cada salida debe ser comandada desde el estado activo, no desde una colección suelta de condiciones.
Intención de la lógica de ejemplo:
- Si `Seq_Step = 10`, comandar válvula de entrada.
- Si `Seq_Step = 20`, comandar agitador.
- Si `Seq_Step = 30`, comandar válvula de salida.
Conceptualmente:
|---[ EQU Seq_Step 10 ]--------------------------------( Valve_Inlet_Cmd )---| |---[ EQU Seq_Step 20 ]--------------------------------( Agitator_Cmd )------| |---[ EQU Seq_Step 30 ]--------------------------------( Valve_Outlet_Cmd )--|
Luego añada lógica de permisivos o veto de fallos según sea necesario, pero mantenga la declaración de estado como el controlador principal.
### Paso 3: Programar la transición de Llenado a Mezclado
Mover de Llenado a Mezclado solo cuando el recipiente alcance el nivel requerido y la secuencia siga en el Estado 10.
Condiciones de transición típicas:
- `Seq_Step = 10`
- `Level_High_Sw = 1`
- Confirmación opcional de que ninguna salida incompatible permanece activa
Conceptualmente:
|---[ EQU Seq_Step 10 ]---[ XIC Level_High_Sw ]----------------( MOV 20 -> Seq_Step )---|
### Paso 4: Programar el temporizador de mezcla y la transición de Mezclado a Vaciado
Utilice una instrucción de temporizador durante el Estado 20. Cuando el temporizador termine, pase al Estado 30.
Estructura lógica típica:
|---[ EQU Seq_Step 20 ]--------------------------------( TON Timer_Mix )---|
|---[ EQU Seq_Step 20 ]---[ XIC Timer_Mix.DN ]---[ XIO Agitator_Run ]----( MOV 30 -> Seq_Step )---|
Si requiere que la retroalimentación `Agitator_Run` esté desactivada antes de vaciar, depende de si ordena la parada primero y confirma velocidad cero antes de la transición. En equipos reales, esa distinción no es decorativa.
### Paso 5: Programar la transición de finalización de vaciado
La finalización del vaciado puede devolver la secuencia al reposo o a un estado de listo.
Condiciones de transición típicas:
- `Seq_Step = 30`
- `Level_Low_Sw = 1` o confirmación de recipiente vacío
Conceptualmente:
|---[ EQU Seq_Step 30 ]---[ XIC Level_Low_Sw ]----------------( MOV 0 -> Seq_Step )---|
### Paso 6: Añadir manejo de paradas y fallos fuera de la progresión normal
Los fallos no deben tratarse como transiciones ordinarias. Deben interrumpir o anular la progresión de la secuencia de forma controlada.
Las acciones típicas de fallo o parada incluyen:
- Desactivar las salidas comandadas
- Congelar el paso actual para diagnóstico, o pasar a un estado de fallo dedicado
- Requerir el reinicio del operador antes de continuar
- Registrar qué permisivo falló o qué condición anormal ocurrió
Un estado de fallo suele ser más limpio que intentar "caer" en un comportamiento seguro usando solo enclavamientos de salida.
¿Cómo se estructura la construcción del mezclador en OLLA Lab?
OLLA Lab es útil aquí porque permite construir la secuencia, ejecutarla en simulación, inspeccionar variables y comparar el estado de la lógica de escalera con el comportamiento del equipo simulado en un solo entorno. Ese es el valor limitado: no la empleabilidad por ósmosis, sino el ensayo repetible de tareas de validación de alto riesgo.
Flujo de trabajo de construcción en el editor de lógica de escalera de OLLA Lab
Utilice el flujo de trabajo guiado en este orden:
2. Defina las etiquetas principales:
- `Seq_Step`
- `Start_Cycle`
- `Level_High_Sw`
- `Level_Low_Sw`
- `Valve_Inlet_Cmd`
- `Agitator_Cmd`
- `Valve_Outlet_Cmd`
- `Timer_Mix`
- Cree un nuevo proyecto o abra el preset de Mezclador.
- Construya los peldaños de salida desde `Seq_Step`.
- Construya los peldaños de transición usando `EQU` y `MOV`.
- Añada lógica de temporizador para el Estado 20.
- Añada comportamiento de parada, reinicio y fallo.
- Ejecute la simulación y observe los cambios de etiquetas escaneo por escaneo.
Qué observar en el panel de variables
El Panel de Variables es donde la secuencia se vuelve comprobable en lugar de simplemente legible. Monitoree:
- `Seq_Step` actual
- Estados de los interruptores de entrada
- Estados de los comandos de salida
- Bits acumulados y de finalización del temporizador
- Cualquier etiqueta analógica o de estado vinculada al preset del mezclador
- Respuesta del equipo simulado en la vista 3D
La pregunta de ingeniería es siempre la misma: ¿coincide el estado de la lógica de escalera con el estado del equipo? Si la respuesta es "mayormente", siga probando.
¿Cómo valida OLLA Lab la seguridad de la máquina de estados?
OLLA Lab ayuda a validar el comportamiento de la máquina de estados proporcionando a los ingenieros un entorno determinista para observar transiciones de estado, forzar entradas anormales y verificar que la secuencia no entre en combinaciones prohibidas. En este contexto, "listo para simulación" significa capaz de probar, observar, diagnosticar y endurecer la lógica de control frente al comportamiento real del proceso antes de que llegue a un proceso en tiempo real.
Esto es importante porque el riesgo de puesta en marcha reside en los casos extremos, no en el camino feliz. La mayoría de las secuencias incorrectas parecen estar bien hasta que el sensor equivocado cambia en el momento equivocado.
Uso del panel de variables para la inyección de fallos
Utilice el Modo de Simulación para inyectar fallos y probar si la máquina de estados sigue siendo estructuralmente correcta.
Pruebas de fallo recomendadas para el mezclador:
- Resultado esperado: el proceso debe permanecer en Vaciado o en lógica de fallo; no debe saltar de nuevo a Mezclado.
- Interruptor de nivel alto atascado durante el vaciado
- Fuerce `Level_High_Sw = 1` mientras `Seq_Step = 30`
- Resultado esperado: no debe ocurrir ningún comando de vaciado no válido.
- Interruptor de nivel bajo prematuro durante el llenado
- Cambie `Level_Low_Sw` inesperadamente durante el Estado 10
- Resultado esperado: la transición a Vaciado debe bloquearse o entrar en fallo, dependiendo del diseño.
- Desajuste en la retroalimentación del agitador
- Comande el mezclado pero simule la ausencia de retroalimentación de funcionamiento
- Resultado esperado: las salidas se desactivan de forma determinista y el comportamiento de reinicio sigue la lógica de recuperación definida.
- Ciclo interrumpido
- Aplique parada o reinicio a mitad del lote
Estas pruebas no son extras académicos. Son la diferencia entre la validación de la secuencia y el optimismo de la secuencia.
Qué significa aquí la validación con gemelo digital
La validación con gemelo digital, en este contexto limitado, significa probar la lógica de escalera contra un modelo de máquina realista para que el ingeniero pueda comparar el estado de la secuencia prevista con el comportamiento observado del equipo antes de tocar los activos físicos. No significa aceptación formal de la planta, certificación SIL o prueba de preparación del sitio por sí misma.
Esa distinción es importante. Un simulador puede exponer defectos de lógica temprano. No puede reemplazar la revisión de riesgos específica de la planta, el procedimiento de puesta en marcha o la gestión del cambio.
¿Qué evidencia de ingeniería debe conservar de esta construcción?
Un artefacto de portafolio útil es un cuerpo compacto de evidencia de ingeniería, no una galería de capturas de pantalla. El objetivo es mostrar que puede definir la corrección, probar condiciones anormales, revisar la lógica y explicar por qué la revisión es importante.
Utilice esta estructura exactamente:
Establezca los criterios de aceptación: una fase activa a la vez, sin solapamiento de válvulas, mezclado temporizado, comportamiento de parada determinista y finalización de vaciado válida.
Explique el cambio de lógica: permisivo añadido, enclavamiento de fallo, veto de transición o estado de recuperación.
- Descripción del sistema Defina el proceso del mezclador, las E/S, las fases de la secuencia y el objetivo operativo.
- Definición operativa de "correcto"
- Lógica de escalera y estado del equipo simulado Muestre el registro de secuencia, los peldaños de transición y el comportamiento del mezclador simulado correspondiente.
- El caso de fallo inyectado Documente una condición anormal como un interruptor de nivel atascado, falta de retroalimentación del agitador o ciclo interrumpido.
- La revisión realizada
- Lecciones aprendidas Indique qué reveló el fallo sobre el diseño de la secuencia, el comportamiento de escaneo o las suposiciones de reinicio.
Ese tipo de evidencia es más creíble que "aquí está mi pantalla de escalera". La pregunta útil es si la lógica sobrevive al contacto con el comportamiento del proceso.
¿Cómo se alinea esta construcción de mezclador con ISA-88 y la práctica de control más amplia?
Esta construcción se alinea con ISA-88 porque separa las fases procedimentales en estados de secuencia explícitos y vincula la acción del equipo a esos estados en lugar de enterrar el proceso dentro de una lógica booleana indiferenciada. Eso no es una gestión completa de recetas por lotes, pero sigue la misma disciplina: claridad de fase, condiciones de transición y ejecución controlada.
También se alinea con la práctica de puesta en marcha y seguridad más amplia de una manera limitada pero significativa:
- Pensamiento IEC 61508: El comportamiento determinista y la respuesta a fallos definida son fundamentales para el diseño de sistemas de control seguros, aunque este artículo no hace una declaración formal de seguridad funcional. - Literatura de puesta en marcha digital: La simulación y la puesta en marcha virtual son ampliamente reconocidas como útiles para la detección temprana de defectos, la validación de secuencias y la reducción del riesgo de puesta en marcha física. - Realidad de los factores humanos: Los ingenieros a menudo aprenden la robustez de la secuencia más rápido cuando pueden observar la causa y el efecto directamente y probar condiciones anormales sin consecuencias en la planta.
La conclusión limitada es sencilla. Una máquina de estados no hace que un proceso sea seguro por sí misma. Le da al proceso una estructura que puede ser probada, revisada y endurecida. Ese es un mejor punto de partida que la lógica de cebolla y los dedos cruzados.
Visualización de la construcción
Concepto de imagen: Vista de pantalla dividida del Editor de Lógica de Escalera de OLLA Lab y el gemelo digital del Mezclador. El lado izquierdo muestra la instrucción `MOV` cambiando `Seq_Step` de 10 a 20. El lado derecho muestra el recipiente alcanzando el nivel lleno y entrando en la fase de mezclado.
Texto alternativo: Captura de pantalla de la interfaz de OLLA Lab que muestra una transición de estado de lógica de escalera usando una instrucción MOV, junto al gemelo digital del mezclador 3D que muestra la fase de llenado activa activada por el Estado 10.
Sigue explorando
Interlinking
Related reading
Explore el centro de programación de PLC industriales →Related reading
Artículo relacionado: Tema 4 Artículo 2 →Related reading
Artículo relacionado: Tema 4 Artículo 3 →Related reading
Ejecute este flujo de trabajo en OLLA Lab ↗References
- Modelo y terminología de control por lotes ANSI/ISA-88.01 - IEC 61131-3: Controladores programables — Parte 3: Lenguajes de programación - Descripción general de seguridad funcional IEC 61508 - Revisión de gemelos digitales en la fabricación (IFAC-PapersOnLine) - Revisión de puesta en marcha virtual (Procedia Manufacturing)