Cómo dibujar un diagrama de estados de PLC — Poner los estados de la máquina en una hoja y completar en una tabla las combinaciones no dibujadas

Última actualización: 2026-09-24 / Categoría: Programación de PLC, diseño de la lógica de control

Un diagrama de estados (diagrama de transición de estados) muestra en una hoja en qué estado está la máquina en su conjunto y qué botón o qué fallo la lleva a cuál. Esta guía es para el diseñador de control de PLC que no quiere que las combinaciones que faltan en la especificación las decida quien escribe el ladder.

Se volvió a pulsar el arranque con la máquina en automático y el flag del primer paso se activó por segunda vez. Esa combinación no está en el flujo normal del diagrama de flujo, así que quien escribió el ladder la decidió sobre la marcha. En un diagrama solo se pueden dibujar las flechas en las que se pensó. Las combinaciones no dibujadas se rellenan, celda a celda, en una tabla estado × evento.

Diagrama de estados de una máquina de transferencia. Al encender se empieza en Sin referenciar. El botón Referenciar lleva de Sin referenciar a Referenciando; el fin de referenciado, a Espera de arranque; el arranque, a En marcha. La pausa lleva de En marcha a En pausa; el arranque devuelve de En pausa a En marcha. En el fin de paso con el flag de parada de ciclo activo, se vuelve de En marcha a Espera de arranque. La pausa lleva de Referenciando a Sin referenciar; Referenciar lleva de Espera de arranque a Referenciando; el cambio a manual lleva de Espera de arranque a Sin referenciar. Desde el marco interior (estados distintos de Parada por fallo y Parada de emergencia), un fallo lleva a Parada por fallo. El reset desde Parada por fallo lleva a Espera de arranque si se puede continuar y, en otro caso, a Sin referenciar. Desde el marco exterior (estados distintos de Parada de emergencia), una parada de emergencia lleva a Parada de emergencia. Liberar la parada de emergencia, hacer reset y recuperar la potencia lleva a Sin referenciar.
Máquina de transferencia (la cinta transporta, la mordaza sujeta, el robot retira) dividida en 7 estados, con el disparador de cada flecha (botón, fin de un proceso, fallo). [ ] es la condición de la transición; ( ), una aclaración. Una flecha que sale de un marco indica que la transición puede ocurrir desde cualquier estado del marco. Los pasos que se ejecutan En marcha (espera de pieza, transporte, sujeción, retirada) van en otro diagrama de flujo. En el móvil, desplace la figura en horizontal o tóquela para abrirla.

1. El diagrama de estados contiene solo los estados de toda la máquina; los pasos van al diagrama de flujo

En el diagrama de estados se dibujan los estados de la máquina en su conjunto. El ejemplo tiene 7 y no muestra «espera de pieza → transporte → sujeción → retirada», los pasos que se ejecutan En marcha. Los pasos van en el Cómo dibujar un diagrama de flujo de control PLC como números de paso (10, 20, 30…) con la condición para avanzar. Si se meten aquí los pasos, cada evento que puede ocurrir desde cualquier sitio, como un fallo o una pausa, necesita una flecha por paso.

Las dos hojas se enlazan por el número de paso. Un arranque desde En pausa continúa el paso interrumpido; tras la vuelta al origen se empieza por el primer paso. Tras un reset de un fallo que permite continuar, se empieza por el principio del paso interrumpido.

Lo que en Cómo dibujar un diagrama de flujo de control PLC se llamó «paso (estado)» corresponde a los pasos de este artículo. Cuando los estados se multiplican como en este ejemplo, Espera de arranque y Parada por fallo pasan a este diagrama; la salida de fallo del diagrama de flujo solo tiene que decir «a Parada por fallo». En una máquina en la que el operario coloca una pieza y pulsa arranque cada vez, quite la condición del flag de parada de ciclo y vuelva a Espera de arranque al final de cada paso.

2. Los estados son «algo que dura»; las flechas, «algo que ocurre»

  1. Nombrar los estados como algo que dura y las flechas como algo que ocurre Los nombres de los estados son condiciones que duran un tiempo: «en marcha», «espera de…». Los nombres de las flechas son instantes: «arranque (pulsado)», «fallo (tiempo agotado)». Un estado llamado «Arranque» no deja claro si es el instante de pulsar o el tiempo en que se está moviendo.
  2. Separar los estados que hacen algo de los que esperan El gris Referenciando pasa por sí solo a Espera de arranque cuando termina su trabajo. El blanco Espera de arranque espera hasta que una persona pulsa arranque. Referenciando termina cuando el procedimiento llega a su última etapa (en el Diagrama de flujo de vuelta al origen (ejemplo), la etapa que activa bHomeDone).
  3. La flecha «desde cualquier estado» se traza una sola vez, desde un marco Un fallo puede ocurrir desde cualquiera de 5 estados. En vez de 5 flechas, se traza una desde un marco que rodea los 5 estados distintos de Parada por fallo y Parada de emergencia hasta Parada por fallo. En un diagrama con todas las flechas trazadas, nadie nota que falta una.
  4. Dibujar con una flecha dónde empieza la máquina al encender En el ejemplo, la flecha desde el punto negro de encendido va a Sin referenciar. Tras un corte de corriente quedan piezas a mitad de ciclo y no es seguro dónde están los ejes. Si la variable de estado se guarda en memoria retentiva, una máquina que perdió la corriente En marcha se pone en movimiento sin que nadie haya pulsado arranque.
  5. Cuando de un mismo evento salen dos flechas, escribir condiciones que no se solapen El reset desde Parada por fallo tiene dos destinos: Espera de arranque cuando se puede continuar (E01 y E02 de la Cómo escribir una especificación de control), y Sin referenciar en los demás casos. Si las dos condiciones pueden cumplirse a la vez, el destino lo decide en silencio el orden en que está escrito el programa.
  6. Poner los modos en otro eje y decidir, estado por estado, adónde va el cambio de modo El ejemplo muestra los estados del modo automático. Al cambiar a manual, Sin referenciar y Parada por fallo permiten el movimiento manual tal cual, mientras que desde Espera de arranque se pasa a Sin referenciar. Nadie sabe qué se ha movido durante la preparación, así que una vuelta al origen lo vuelve a comprobar todo antes de regresar a automático.

3. Rellene en una tabla estado × evento las combinaciones que no dibujó

El diagrama tiene 14 flechas además del encendido. En forma de tabla son 7 estados × 10 eventos, 70 celdas, y copiando las flechas solo se rellenan 25. Las otras 45 no aparecen en el diagrama. Arranque pulsado en Sin referenciar, arranque pulsado otra vez En marcha: cada una se decide celda a celda.

En una celda se escribe una de estas cinco cosas, y «no se acepta» es distinto de «no puede ocurrir». Una celda de no se acepta se comprueba en la recepción pulsando el botón y viendo que no pasa nada. Una celda de no puede ocurrir no se puede probar pulsando; si ocurre, es un error del programa y la máquina pasa a Parada por fallo.

Evento \ EstadoSin referenciarReferenciandoEspera de arranqueEn marchaEn pausaParada por falloParada de emergencia
Referenciar (botón)→ Referenciando/→ Referenciando////
Fin de referenciado×→ Espera de arranque×××××
ArranqueMostrar «Vuelta al origen no realizada»/En la posición de reanudación → En marcha
No está en posición → mostrar «No está en la posición de reanudación»
/→ En marcha (continúa el paso interrumpido)//
Pausa/→ Sin referenciar (se abandona el referenciado)/→ En pausa///
Parada de ciclo///Activar el flagActivar el flag//
Fin de paso×××Con flag → Espera de arranque
Sin flag → seguir esperando la siguiente pieza
×××
Fallo→ Parada por fallo→ Parada por fallo→ Parada por fallo→ Parada por fallo→ Parada por falloAñadir al historial un fallo nuevo de otro número (ya no se puede continuar)Añadir el fallo nuevo al historial
Reset/////La causa persiste → /
Se puede continuar → Espera de arranque
En otro caso → Sin referenciar
Antes de liberar → /
Liberado y con potencia → Sin referenciar
Sin potencia 3 s después de liberar → mostrar «Sin potencia»
Parada de emergencia→ Parada de emergencia→ Parada de emergencia→ Parada de emergencia→ Parada de emergencia→ Parada de emergencia→ Parada de emergencia/
Cambio a manualSe permite el movimiento manual→ Parada por fallo→ Sin referenciar→ Parada por fallo→ Parada por falloSe permite el movimiento manualCambiar solo el modo

«Fin de paso» es una condición que solo existe En marcha, mientras el primer paso (espera de pieza) espera la siguiente pieza. El arranque desde Espera de arranque solo se acepta en la posición de origen para el primer paso, o con las condiciones del principio del paso interrumpido cumplidas cuando se continúa. El flag de parada de ciclo se borra al entrar en Espera de arranque, Parada por fallo o Parada de emergencia. La fila de fallo cubre E01 a E04 de la lista de fallos; la parada de emergencia (E05) tiene su propia fila.

Las celdas en las que se duda al rellenar son estas.

La tabla se hace en Excel, se le pone un número de versión y se incluye en la especificación. Con una lista de validación de datos «/,×» y el mensaje de error desactivado, también se puede escribir «→ Espera de arranque». Pinte de rojo las celdas en blanco con la fórmula de formato condicional =ISBLANK(B2). Si añade un evento y no añade una fila y rellena las 7 celdas, el diagrama, la tabla y el ladder acaban discrepando.

4. Recoja los estados y los eventos, trace las flechas normales y después rellene la tabla

  1. Listar los estados Se toman de las condiciones de funcionamiento que se quieren mostrar en los pilotos del panel y en la pantalla. Es estado lo que se entra y se sale por una acción distinta: un botón del operario, un fallo, el fin del referenciado. El transporte y la sujeción, que avanzan por condiciones de sensores, son pasos y van al diagrama de flujo aunque la pantalla muestre «transportando».
  2. Recoger los eventos Se toman de los botones e interruptores del panel, los fines de proceso, las condiciones que solo se miran En marcha y los fallos. Los fallos de la lista de fallos se agrupan en una fila; solo la parada de emergencia tiene fila propia. Las operaciones que hacen lo mismo en todos los estados, como parar el zumbador, no entran en la tabla.
  3. Trazar las flechas normales y enmarcar lo que puede ocurrir desde cualquier sitio Primero, del encendido a En marcha y el camino de vuelta tras una parada. Fallo y parada de emergencia: una flecha cada uno, desde un marco.
  4. Hacer la tabla y rellenar los huecos Es la fase en la que se copian las flechas del diagrama y luego se rellenan las celdas restantes con /, × o texto. Las celdas que no puede decidir por sí mismo se dejan en blanco, anotando al lado quién puede decidirlas (cliente, diseño mecánico, responsable de seguridad).

5. En el PLC, mantenga el estado en una sola variable y cámbielo como mucho una vez por scan

  1. Mantener el estado como número en una sola variable Se guarda el número de estado en una única variable entera. Con un flag por estado, nada en el diseño impide que haya dos activos a la vez. Una variable no retentiva vale 0 al encender, así que Sin referenciar es el número 0.
  2. Evaluar las transiciones con el estado del principio del scan y cambiar como mucho una vez por scan La evaluación se hace sobre una copia del estado tomada al principio del scan. Escrito de arriba abajo como «si Espera de arranque y arranque, entonces En marcha», la línea de abajo ve el En marcha recién escrito y sigue avanzando. El estado siguiente se escribe una sola vez al final; en una sentencia CASE de ST solo se ejecuta una rama por scan.
  3. Escribir las transiciones «desde cualquier estado» después de las de cada estado El orden es: transiciones de cada estado → fallo → parada de emergencia. Como queda la última asignación, si en un mismo scan coinciden arranque y parada de emergencia, gana la parada de emergencia. Cada flecha de marco del diagrama es también un solo sitio en el programa.
  4. Separar las acciones de entrada de las salidas continuas Las acciones de entrada se ejecutan solo en el scan en que cambió el número. Si al entrar en Parada por fallo se registra el número en el historial en cada scan, el historial crece una entrada por scan. Las salidas que dependen solo del estado, como pilotos y pantallas, son una expresión por salida: «rojo = Parada por fallo o Parada de emergencia».
  5. Un número imposible lleva a Parada por fallo En la rama ELSE se pasa a Parada por fallo y se muestra el número en pantalla. Un ELSE vacío, o que vuelve a Espera de arranque, oculta una escritura desde otro circuito o un error de tecleo. Lo mismo vale cuando ocurre una celda × de la tabla.
  6. Los botones son eventos en el instante de pulsar; la parada de emergencia y los fallos se miran mientras se mantienen Los botones se miran solo en el scan del flanco de subida. Si se aceptan mientras están en ON, la máquina arranca en el instante en que se coloca una pieza con el arranque mantenido pulsado. La parada de emergencia y los fallos son lo contrario: se miran en cada scan mientras se mantienen, de modo que encender con el pulsador accionado también lleva a Parada de emergencia.

6. Se tropieza con el aviso de parada de ciclo, la cuenta de la espera de piezas y el papel de la parada de emergencia

7. Las 58 celdas de la tabla que no son × pasan a ser los puntos de prueba de la recepción

Las 58 celdas de la tabla que no son × son, tal cual, los puntos de prueba. En una celda → se comprueban el estado de destino y la acción de entrada; en una celda /, se pulsa el botón y se comprueba que no pasa nada. Provoque fallos y paradas de emergencia desde todos los estados del marco, no solo desde En marcha. Un tiempo agotado en Referenciando y una parada de emergencia En pausa son las combinaciones que más se escapan de la prueba.

Comprobadas las celdas una a una, pruebe también combinaciones de dos operaciones seguidas. Pulsar parada de ciclo, luego pausa y luego arranque: ¿sigue activo el flag y se para en Espera de arranque al fin de paso? Apagar y volver a encender En marcha: ¿empieza en Sin referenciar sin que nada se mueva (o en Parada de emergencia, si el relé de seguridad es de rearme manual)? Comprobar la tabla celda a celda no encuentra estos errores de orden.

El editor para el diagrama de flujo de los pasos

  • Flowchart Editor — Dibuja los pasos que se ejecutan En marcha (espera de pieza, transporte, sujeción, retirada) como números de paso con la condición para avanzar. No tiene función para dibujar el propio diagrama de estados.

Sin instalación ni registro. Funciona solo con el navegador.

Artículos relacionados

yk.builds