Máquina de estados: ¿Cómo “recuerda” lo que hará?

manueldemeza 03/04/2026

Imagina que estás frente a una máquina expendedora de refrescos. Si presionas el botón de tu bebida favorita sin haber insertado dinero, no pasa absolutamente nada. La máquina sabe que primero debe recibir las monedas, luego esperar tu selección, después entregar el producto y, finalmente, darte el cambio.

Si construyéramos esta máquina usando solo lógica básica (como un simple interruptor que enciende un foco), el sistema colapsaría. Un circuito combinacional básico tiene “memoria de pez dorado”: solo reacciona al momento presente. Si presionas el botón, el motor gira; si lo sueltas, se detiene.

Pero la industria necesita sistemas que tengan un contexto. Un brazo robótico necesita saber si apenas va a recoger la pieza o si ya la tiene en el aire. Para dotar a las máquinas de esta memoria secuencial, los ingenieros utilizamos un modelo mental y matemático indispensable: la máquina de estados.

¿Qué es exactamente una máquina de estados?

Una máquina de estado finito (FSM, por sus siglas en inglés) es una forma de organizar el comportamiento de un sistema de modo que solo pueda estar en una situación (estado) a la vez desde el punto de vista del control lógico, aunque físicamente ocurran múltiples procesos en paralelo. Esta restricción es precisamente lo que le da orden, claridad y previsibilidad al sistema.

Se compone de tres piezas fundamentales:

  • El estado (state): Es la situación actual de la máquina. Imagina el ciclo de una lavadora; los estados serían: llenando agua, lavando, enjuagando, centrifugando o reposo. Nunca está lavando y centrifugando al mismo tiempo.
  • El evento o condición: Es el detonante que le indica a la máquina que ya es hora de cambiar. Puede ser un sensor de nivel de agua que se activa, un temporizador que llega a cero, o un usuario presionando un botón.
  • La transición: Es el “puente” lógico. Es la regla que dice: “Si estoy en el estado 1 y ocurre la condición A, entonces salto al estado 2”.

El caos del “código espagueti”

¿Por qué los ingenieros nos complicamos la vida estructurando máquinas de estados en lugar de solo programar renglones de ladder al azar?

Imagina automatizar una banda transportadora compleja usando solo cientos de temporizadores y contactos normalmente abiertos (NA) y normalmente cerrados (NC) dispersos por todo el programa. Esto genera lo que llamamos “código espagueti”. Si un sensor falla a mitad del proceso, la máquina podría confundirse, activar cilindros fuera de tiempo, chocar sus propios mecanismos y causar un accidente.

La máquina de estados impone una dictadura de orden perfecto. Si la máquina está en el estado de “avanzar cinta”, ignorará por completo los sensores de la estación de “soldadura”, porque simplemente no es su turno. Este aislamiento hace que el sistema sea predecible y seguro.

Dibujando el mapa: círculos y flechas

Antes de tocar el teclado, los verdaderos desarrolladores dibujan. En un papel, una máquina de estados se ve como un mapa de ciudades conectadas por carreteras de un solo sentido.

  • Los círculos representan los estados.
  • Las flechas que conectan los círculos representan las transiciones.
  • Sobre cada flecha se escribe la condición que permite el paso.

En el mundo de los PLC europeos, esta representación visual evolucionó hasta convertirse en un estándar industrial llamado GRAFCET (gráfico funcional de control de etapas y transiciones), una herramienta gráfica tan poderosa que muchos programas modernos permiten compilarla directamente al controlador.

¿Cómo se programa esto en la vida real?

Aterrizar este concepto en el software depende de la herramienta que estés usando, pero la lógica subyacente es idéntica.

  • En FESTO FST 4: Este software es legendario precisamente porque fue diseñado para pensar en estados. En lugar de escribir lógica revuelta, usas la sintaxis por pasos. Divides tu programa con la instrucción STEP 1. Dentro de ese bloque colocas tus condiciones y salidas. Cuando se cumple la meta, utilizas la instrucción JMP TO 2 (saltar al paso 2). El PLC mantiene activo un solo paso lógico a la vez, ejecutando únicamente las acciones asociadas a ese estado, lo que hace al sistema elegante, legible y a prueba de fallos.
  • En lenguaje ladder: Como ladder evalúa todos los renglones en cada ciclo de escaneo, usamos las banderas (F) o marcas de memoria. Dedicamos la bandera F0.1 para representar el estado 1, la F0.2 para el estado 2, y así sucesivamente. Cuando una condición se cumple, hacemos un SET a la siguiente bandera de estado y un RESET a la actual. En una máquina de estados bien diseñada, solo una bandera de estado debe estar activa al mismo tiempo.
  • En C/C++ (Microcontroladores): Si programas en Arduino o microcontroladores, la forma clásica de hacer esto es usando la estructura de control switch:
switch(estado) {
    case 1: 
        // Acciones del estado 1
        break;
    case 2: 
        // Acciones del estado 2
        break;
}

El estado de emergencia

Hay un detalle técnico de alto nivel que separa a los estudiantes de los profesionales del diseño en automatización. Toda máquina de estados en el mundo industrial debe tener un estado supremo: el paro de emergencia.

El estado de emergencia no es solo otro estado más: es una condición global que tiene prioridad absoluta sobre cualquier lógica secuencial. A diferencia de las transiciones normales, que siguen un orden rígido (1 → 2 → 3), el estado de emergencia permite que, desde cualquier estado del sistema, al presionar el hongo rojo de seguridad física (ese contacto NC del que ya hablamos), la máquina abandone instantáneamente lo que esté haciendo y salte al estado de “seguridad”, apagando salidas peligrosas y deteniendo motores.

STEAMdiantes, pensar en estados y transiciones es como aprender a leer un mapa después de años de caminar a ciegas. Dejas de programar simples contactos eléctricos para coreografiar comportamientos mecánicos con la misma lógica que sigue un director de orquesta: cada músico sabe exactamente cuándo le toca entrar.

Y sí, la prueba de fuego llega a las 3 de la mañana, con una línea detenida y el jefe de turno mirándote. Pero tú no adivinas. Abres el PLC, ves el estado activo, lees qué transición no se cumplió y en tres minutos señalas el sensor sucio. La máquina no te habla, pero su máquina de estados te está diciendo todo en silencio. Eso no es magia. Es ingeniería con memoria.

Gracias por leernos.
Si te gusto este artículo, únete a nuestra comunidad en Facebook o WhatsApp para más…
¡Hasta la próxima!

¿Te gustó este artículo? ¡Compártelo!

Comentarios

0 0 votes
Valora este artículo
Suscribirse
Notificarme de
guest
0 Comentarios
Oldest
Newest Most Voted