Grafcet

Grafcet: qué es y cómo funciona este lenguaje de control

30/05/2025

GRAFCET (Gráfico de Etapas y Transiciones), conocido internacionalmente como Sequential Function Chart (SFC), es el lenguaje gráfico normalizado por la IEC 60848 para describir secuencias de control en la automatización industrial. Aprenderlo ofrece una ventaja competitiva clara: representar procesos complejos de forma estandarizada, generar código PLC en menos tiempo y documentar cada paso con un estándar reconocido globalmente.

A continuación se resumen sus principales beneficios:

  • Estandarización internacional: Al estar regulado por la IEC 60848, un diagrama GRAFCET se interpreta igual en cualquier planta del mundo, lo que facilita auditorías y certificaciones.
  • Portabilidad entre marcas de PLC: Fabricantes como Siemens, Schneider Electric o Rockwell ofrecen módulos nativos para importar SFC; así puedes reutilizar la misma lógica en distintas plataformas.
  • Mejor documentación y mantenimiento: El diagrama actúa como un “storyboard” industrial; cada paso y transición se visualiza de un vistazo, reduciendo errores de diagnóstico y tiempos de parada.
  • Curva de aprendizaje accesible: Incluso técnicos con poca experiencia en programación textual entienden la lógica secuencial gracias a su representación visual.
  • Eficiencia en proyectos de Industria 4.0: GRAFCET encaja en entornos de fabricación flexible, celdas robotizadas y procesos just-in-time, donde los cambios de secuencia son frecuentes.

Importancia en la automatización industrial

En líneas de producción modernas —cintas transportadoras, robots de soldadura o sistemas pick-and-place— el tiempo de reacción y la claridad en la lógica de control son críticos. Con GRAFCET podrás:

  • Mapear cada estado de la máquina y la condición que lo activa sin escribir largas redes Ladder.
  • Compartir la secuencia con mantenimiento, calidad y seguridad, asegurando que todos hablan el mismo “idioma” gráfico.
  • Reducir los ciclos de depuración, ya que la lógica se puede simular y validar antes de tocar el hardware.

Ventajas frente a otros lenguajes

  • Versus Ladder: Cuando la secuencia incluye paralelismos, temporizadores y ramas condicionales, Ladder crece exponencialmente. GRAFCET condensa la lógica en pocos pasos y transiciones, haciéndola legible y fácil de auditar.
  • Versus Structured Text: El código textual es potente, pero exige experiencia. Con GRAFCET, el flujo se ve en lugar de imaginarse, lo que democratiza la revisión y facilita la formación del personal.
  • Generación automática de código: La mayoría de IDE industriales exportan tu SFC a Ladder o ST, manteniendo una única fuente de verdad y evitando discrepancias entre diseño y puesta en marcha.

Fundamentos de GRAFCET

GRAFCET —también llamado Step Function Chart (SFC)— nació para estandarizar la representación de secuencias de control en la automatización industrial. Conocer su origen y sus reglas básicas es el primer paso para crear diagramas claros, auditables y portables entre distintos fabricantes de PLC.

Norma IEC 60848 y antecedentes

El camino de GRAFCET comienza en 1977, cuando un comité franco-alemán propuso un lenguaje gráfico que evitara la ambigüedad de los extensos diagramas Ladder. Ese trabajo se consolidó, años después, en la Norma IEC 60848, vigente desde su revisión de 2013 y en constante actualización.

Adoptar este estándar simplifica la validación CE de maquinaria, agiliza auditorías de seguridad funcional (ISO 13849, IEC 61508) y permite intercambiar diagramas entre marcas de PLC sin reescribir lógica, lo que reduce costes y tiempos de puesta en marcha.

Elementos básicos: pasos, transiciones y acciones

Para modelar cualquier proceso con GRAFCET basta con dominar tres bloques constructivos:

  • Paso (Step): Representa un estado estable de la máquina. Se dibuja como un rectángulo numerado y puede contener acciones asociadas —p. ej., Motor ON o Válvula cerrada— que permanecen activas mientras el paso está “encendido”.
  • Transición (Transition): Une dos pasos e incluye la condición lógica que habilita el avance. Solo cuando el paso precedente está activo y la condición se cumple, la transición se dispara y el control pasa al siguiente paso.
  • Acción (Action): Instrucción vinculada a un paso; puede activar una salida digital, escribir en un registro analógico o lanzar un temporizador. Según la herramienta, se ubica dentro del rectángulo o en un bloque adyacente.

Reglas de ejecución y paralelismo

En cada ciclo de escaneo del PLC, el intérprete evalúa todas las transiciones candidatas:

  • Rama OR: Se disparan todas las transiciones cuyas condiciones sean verdaderas, generando caminos alternativos.
  • Rama AND (divergencia): El flujo se bifurca en ramas paralelas que progresan de forma independiente hasta reunirse en una convergencia AND, donde el diagrama espera a que todas las ramas alcancen el punto de sincronización.

Esta capacidad de modelar paralelismo reduce drásticamente la complejidad que tendría la misma lógica en Ladder, evitando contactos cruzados y marcas auxiliares propensas a error.

Herramientas para diseñar GRAFCET

Elegir bien el software de edición marca la diferencia entre un flujo de trabajo fluido y una puesta en marcha plagada de contratiempos. A continuación verás opciones gratuitas y comerciales para crear, depurar y exportar diagramas GRAFCET, así como utilidades de simulación que permiten validar la lógica antes de descargarla al PLC real.

Opciones gratuitas

El ecosistema open source ofrece soluciones sólidas y sin coste de licencia que resultan ideales para formación, prototipos y proyectos de pequeña escala.

  • GRAFCET Studio Free: Edición gráfica completa, exportación a PDF y compilación limitada para microcontroladores compatibles. Perfecto para entornos educativos y pruebas rápidas.
  • OpenPLC Editor: Implementa los cinco lenguajes IEC 61131-3 (incluido SFC). Permite simular la lógica en PC y descargar código a Arduino, Raspberry Pi o ESP32.
  • Draw.io / Diagrams.net: no genera código, pero resulta excelente para bocetar secuencias SFC y compartirlas sin instalar software adicional.

Herramientas comerciales

Para proyectos industriales de gran escala —o cuando necesitas soporte certificado— las suites propietarias añaden bibliotecas validadas y monitorización en línea.

  • Siemens TIA Portal: Incluye el editor S7-Graph, equivalente a GRAFCET, con generación automática de bloques para CPU S7-1200/1500 y diagnóstico online en tiempo real.
  • Schneider EcoStruxure Control Expert: Incorpora el módulo Sequential Function Chart con bibliotecas prevalidadas para seguridad y plantillas de máquinas empaquetadoras, ascensores y cintas transportadoras.
  • Mitsubishi GX Works3: soporta SFC con sincronización directa a PLC iQ-R/iQ-F y vista paso a paso, ideal cuando el takt time de la línea es muy ajustado.

Emulación y simulación antes del despliegue

Validar la secuencia en un entorno virtual evita paradas costosas y acelera la puesta en marcha. Las soluciones anteriores incluyen simuladores software-in-the-loop que reproducen el escaneo del PLC. Para proyectos docentes, combinar OpenPLC con un gemelo digital en Factory I/O o CODESYS Simulation permite observar cómo cada paso GRAFCET activa sensores y actuadores ficticios.

Si buscas profundizar en esta fase de validación, el blog de EducaOpen publica guías paso a paso sobre gemelos digitales y conexión con PLC virtuales, de modo que puedas ensayar cada transición sin tocar la instalación real.

Paso a paso: tu primer diagrama GRAFCET

Crear tu primer diagrama GRAFCET (o SFC) es más sencillo de lo que parece si sigues una metodología clara. A continuación se describen tres fases clave —definir, dibujar y verificar— que puedes aplicar a cualquier secuencia de control, desde una cinta transportadora hasta un semáforo de laboratorio.

Definir la secuencia de control

Antes de abrir el editor, dedica unos minutos a describir la lógica en lenguaje natural: ¿qué estados atraviesa la máquina?, ¿qué condiciones provocan cada cambio de estado?, ¿qué salidas o acciones se activan en cada paso? Un buen enfoque es elaborar una tabla con tres columnas (Estado, Condición de transición, Acciones) y rellenarla junto al equipo de proceso. Esto reduce malentendidos y establece una base firme para el diagrama.

Si necesitas una guía práctica, en el curso de Automatización Industrial de EducaOpen encontrarás plantillas descargables que agilizan la captura de requisitos.

Dibujar pasos y transiciones en el editor

Con la lista de estados y condiciones clara, abre tu herramienta de preferencia —por ejemplo, GRAFCET Studio o TIA Portal— y sigue este flujo:

  • Añade los pasos: coloca cada estado estable en un rectángulo numerado y deja espacio para anotar acciones y comentarios.
  • Inserta transiciones: dibuja flechas entre pasos consecutivos y escribe la condición lógica sobre la línea; utiliza la misma nomenclatura de variables que en el PLC.
  • Asocia acciones: dentro de cada paso indica las salidas o funciones que estarán activas mientras ese paso permanezca habilitado. Si la herramienta lo permite, añade temporizadores o contadores en campos de texto enriquecido.
(* Ejemplo Grafcet: cinta transportadora con pistón expulsor *)

STEP  S0  INITIAL
    ACTION  STOP_MOTOR      := TRUE;
    ACTION  RETRACT_PISTON  := TRUE;

TRANSITION  T0  FROM S0 TO S1 WHEN SENSOR_START = TRUE;

STEP  S1
    ACTION  START_MOTOR := TRUE;

TRANSITION  T1  FROM S1 TO S2 WHEN SENSOR_END = TRUE;

STEP  S2
    ACTION  STOP_MOTOR     := TRUE;
    ACTION  EXTEND_PISTON  := TRUE;

TRANSITION  T2  FROM S2 TO S3 WHEN TIMER_PISTON.Q = TRUE;

STEP  S3
    ACTION  RETRACT_PISTON := TRUE;

TRANSITION  T3  FROM S3 TO S0 WHEN PISTON_RETRACTED = TRUE;

Verificación de coherencia y depuración

Una vez terminado el diagrama, realiza estos chequeos:

  • Condiciones de transición exclusivas: asegúrate de que dos transiciones que parten del mismo paso no puedan dispararse simultáneamente —salvo que lo pretendas—.
  • Pasos huérfanos o inalcanzables: ejecuta la función Analyze del editor; así detectarás pasos sin entrada o sin salida, un error frecuente en diagramas grandes.
  • Simulación paso a paso: activa el modo simulación y fuerza señales de sensores para comprobar que el flujo avanza como se espera. Este ensayo virtual elimina la mayoría de fallos antes de conectar al PLC real.

Cuando la secuencia supere todas las pruebas, genera el código automáticamente (si tu herramienta lo soporta) o exporta el diagrama a PDF para archivarlo con la documentación de la máquina. Así tendrás una referencia clara y auditable para futuras modificaciones.

Integración con PLC y otros entornos

Una vez verificada la lógica del diagrama, el siguiente paso es descargar tu GRAFCET al PLC o al sistema embebido que gobernará la máquina. Según la plataforma, el proceso puede ser tan simple como pulsar “Compile & Download” o requerir una exportación intermedia a Ladder o Structured Text (ST). Dominar este flujo te ahorrará horas de depuración en planta y garantizará que el diagrama siga siendo la fuente de verdad durante todo el ciclo de vida del proyecto.

Exportar código automático desde GRAFCET

Antes de generar código, asegúrate de que los nombres de variables coincidan entre el diagrama y la base de datos de tags del PLC. La mayoría de entornos profesionales ofrecen asistentes de mapeo que sincronizan entradas y salidas de forma semiautomática.

  • Configuración de variables: declara todas las direcciones de E/S en la tabla de símbolos; evita direcciones absolutas y usa nombres descriptivos como SENSOR_START o ACTUADOR_PINZA.
  • Generación de bloques: emplea la exportación nativa a Ladder, STL o Structured Text, según lo admita tu controlador. El software crea un bloque por cada paso y sus transiciones.
  • Descarga al dispositivo: conecta el PLC vía Ethernet o USB y transfiere el programa. Muchos IDE permiten depurar el diagrama original en línea, resaltando los pasos activos en tiempo real.

Ejemplo práctico en TIA Portal

Si trabajas con Siemens, el módulo S7-Graph de TIA Portal ofrece un flujo integrado de diseño y descarga sin conversiones manuales.

  • Compilación: TIA genera bloques de organización (OB) y de funciones (FB) optimizados para las CPU S7-1200/1500; mantener la nomenclatura facilita rastrear cada paso en la watch table.
  • Asignación de hardware: dentro del mismo proyecto, vincula las variables del diagrama a las direcciones físicas de la ET-200 o de módulos digitales/analógicos; el verificador señala tags sin enlazar.
  • Monitorización en línea: activa la vista GRAFCET y observa cómo se iluminan los pasos al cumplirse las transiciones, un recurso didáctico para formar a operarios que se inician en programación textual.
(* Fragmento Structured Text exportado por S7-Graph *)

CASE currentStep OF
    0:  (* Reposo *)
        STOP_MOTOR      := TRUE;
        RETRACT_PISTON  := TRUE;
        IF SENSOR_START THEN
           nextStep := 10;
        END_IF;

    10: (* Transporte *)
        START_MOTOR := TRUE;
        IF SENSOR_END THEN
           nextStep := 20;
        END_IF;

    20: (* Expulsión *)
        STOP_MOTOR     := TRUE;
        EXTEND_PISTON  := TRUE;
        IF TIMER_PISTON.Q THEN
           nextStep := 30;
        END_IF;

    30: (* Retorno *)
        RETRACT_PISTON := TRUE;
        IF PISTON_RETRACTED THEN
           nextStep := 0;
        END_IF;
END_CASE;

currentStep := nextStep;   (* Actualiza el paso activo *)

Buenas prácticas de puesta en marcha

Al transferir el programa al hardware, aplica estas recomendaciones para minimizar riesgos y asegurar la robustez del sistema:

  • Modo simulación o “test en frío”: inicia la CPU en STOP o Simulation y fuerza señales virtuales para comprobar que la secuencia avanza sin mover actuadores reales.
  • Documentación viva: archiva el diagrama GRAFCET junto al proyecto del PLC y súbelo a tu gestor de versiones; cualquier cambio quedará trazado y será reversible.
  • Procedimientos de seguridad: implementa enclavamientos (interlocks) que impidan el arranque si puertas o sensores críticos no están OK.
  • Capacitación del personal: programa sesiones breves en las que los operarios visualicen el diagrama en vivo; S7-Graph permite pausar la ejecución y explicar cada paso, reduciendo la curva de aprendizaje.

Ejemplos prácticos y casos de uso

Los diagramas GRAFCET brillan cuando transforman procesos secuenciales complejos en flujos de control transparentes. A continuación se describen tres escenarios habituales en los que este lenguaje reduce el tiempo de desarrollo y facilita el mantenimiento:

Control de cinta transportadora

Imagina una línea de empaquetado con sensores de presencia, un motor de arrastre y un pistón expulsor. El GRAFCET típico asigna un paso a cada fase operacional y define claramente sus transiciones:

  • Reposo – Cinta detenida y pistón retraído.
  • Transporte – El motor se activa hasta que el sensor final detecta la caja.
  • Expulsión – El pistón avanza para desplazar la caja al siguiente carril.
  • Retorno – El pistón se retrae y, al completarse, la cinta se detiene.

Esta secuencia favorece la trazabilidad en auditorías, ya que cada condición de sensor dispara la transición exacta sin enclavamientos dispersos en Ladder.

Proceso de llenado de tanque

Para sistemas batch donde se llena, agita y vacía un tanque, GRAFCET permite paralelizar acciones y sincronizarlas sin esfuerzo:

  • Una rama controla el llenado mediante la válvula de entrada y un flotador de nivel alto.
  • La segunda rama supervisa el agitador, que se activa tras detectarse nivel mínimo y permanece funcionando en paralelo.
  • Ambas ramas convergen en el paso Descarga, que abre la válvula de salida cuando el agitador se detiene y se alcanza el tiempo de mezcla.

Esta sincronización gráfica evita condiciones de carrera comunes en código imperativo y facilita demostrar el cumplimiento de normas ATEX.

Gestión de semáforo urbano

Los sistemas de tráfico requieren ciclos repetitivos con distintas prioridades. Un GRAFCET típico incluye fases verdes, amarillas y rojas para dos sentidos, además de un intervalo peatonal:

  • Fase Verde Norte-Sur – Sentido NS en verde; EO en rojo.
  • Intermitencia Amarilla NS – Indicador de fin de fase.
  • Fase Verde Este-Oeste – Sentido EO en verde; NS en rojo.
  • Cruce Peatonal – Ambos sentidos en rojo y luz peatonal verde.

La modularidad de GRAFCET permite insertar una transición condicional a la señal de prioridad de un vehículo de emergencias, sin reescribir por completo la lógica.

(* Grafcet simplificado para semáforo de dos sentidos con cruce peatonal *)

STEP  S0  INITIAL
    ACTION  NS_GREEN        := TRUE;
    ACTION  EO_RED          := TRUE;
    ACTION  PEDESTRIAN_RED  := TRUE;

TRANSITION  S0_S1 WHEN TIMER_NS_GREEN.Q;

STEP  S1
    ACTION  NS_YELLOW := TRUE;

TRANSITION  S1_S2 WHEN TIMER_YELLOW.Q;

STEP  S2
    ACTION  NS_RED   := TRUE;
    ACTION  EO_GREEN := TRUE;

TRANSITION  S2_S3 WHEN TIMER_EO_GREEN.Q;

STEP  S3
    ACTION  EO_YELLOW := TRUE;

TRANSITION  S3_S4 WHEN TIMER_YELLOW.Q;

STEP  S4
    ACTION  PEDESTRIAN_GREEN := TRUE;

TRANSITION  S4_S0 WHEN TIMER_PEDESTRIAN.Q;

Errores frecuentes y cómo evitarlos

Incluso con un lenguaje tan visual como GRAFCET, ciertos fallos se repiten con sorprendente regularidad. Conocerlos de antemano te ayudará a detectarlos en la fase de simulación y evitar costosos tiempos de parada durante la puesta en marcha.

Transiciones ambiguas o ausentes

Cuando varias condiciones pueden cumplirse a la vez —o, por el contrario, ninguna permite avanzar— el diagrama queda “atascado” y la máquina entra en un estado indefinido. Para prevenirlo:

  • Condiciones mutuamente excluyentes: utiliza contactos negados (NOT) o banderas internas para garantizar que solo una transición pueda dispararse en cada ciclo.
  • Vía de escape temporal: añade temporizadores de seguridad (watchdogs) que, si se supera un tiempo máximo de espera, fuerzan el salto a un estado seguro.
  • Validación en simulación: ensaya la secuencia forzando entradas al límite de sus valores; comprueba que siempre exista al menos una ruta activa.

Acciones simultáneas mal sincronizadas

El paralelismo es una de las grandes virtudes de GRAFCET, pero también su talón de Aquiles si no se sincroniza correctamente. Para evitar problemas:

  • Convergencias AND: reúne ramas paralelas solo cuando todas hayan alcanzado un paso de sincronización; nunca dependas de temporizadores “a ojo”.
  • Evita condiciones de carrera: introduce pequeños retardos (TON) o marcas de confirmación para asegurar el orden deseado.
  • Monitorización en línea: durante la puesta en marcha, observa en tiempo real qué ramas permanecen activas; una rama “congelada” suele indicar falta de sincronización.

Recursos para seguir aprendiendo

El recorrido con GRAFCET no termina con tu primer diagrama. La comunidad industrial y académica ofrece manuales, cursos y foros donde resolver dudas y compartir mejores prácticas. Estos recursos te ayudarán a profundizar en la norma IEC 60848, dominar herramientas avanzadas y mantenerte al día de las últimas evoluciones del lenguaje.

Texto oficial de la IEC 60848

La Norma IEC 60848 es la referencia primaria para certificar maquinaria o documentar secuencias de control con validez internacional. Incluye la simbología, las reglas de ejecución y ejemplos ilustrativos que complementan lo explicado en esta guía.

Cursos y guías en EducaOpen

En el blog de EducaOpen encontrarás artículos prácticos sobre GRAFCET, además de un curso de Automatización Industrial con plantillas descargables, ejercicios guiados y vídeos de implementación en OpenPLC y TIA Portal. Estos materiales están orientados a principiantes e intermedios que buscan acelerar su curva de aprendizaje sin descuidar la teoría.

Comunidades y foros especializados

  • PLC Talk: foro veterano donde profesionales comparten diagramas y mejores prácticas de secuenciación.
  • r/PLC en Reddit: comunidad activa para consultas rápidas; destaca por hilos sobre SFC y comparativas con Ladder.
  • Stack Overflow (etiqueta grafcet): ideal para problemas puntuales de sintaxis o exportación de código en entornos mixtos.

Participar en estas redes amplía tu base de conocimiento y te expone a situaciones reales de planta que enriquecen tu experiencia.

Software y bibliotecas adicionales

  • CODESYS Simulation: potente simulador PLC con soporte parcial de SFC para probar secuencias complejas.
  • Factory I/O: gemelo digital que crea maquetas 3D de procesos industriales y las enlaza a tu diagrama mediante OPC UA o Modbus.

Explorar estas plataformas te permitirá validar hipótesis de control y entrenar a operadores en un entorno virtual seguro antes de intervenir la instalación real.

Conclusiones

Dominar GRAFCET ofrece una ventaja tangible en la automatización industrial: convierte procesos complejos en secuencias visuales fáciles de leer, depurar y mantener. Al adoptar la norma IEC 60848, tus diagramas ganan portabilidad entre marcas de PLC, facilitan la certificación de seguridad funcional y sirven como documentación viva a lo largo del ciclo de vida de la máquina.

En esta guía hemos visto cómo elegir herramientas —gratuitas y comerciales—, diseñar un diagrama paso a paso, integrarlo en el PLC y evitar errores comunes. Con los recursos formativos de EducaOpen y la participación en comunidades técnicas, estarás preparado para aplicar GRAFCET en proyectos educativos o líneas de producción exigentes, garantizando claridad operativa y reducción de tiempos de parada.

Artículos relacionados

El mantenimiento de software es una fase crítica en el ciclo de vida del desarrollo de software. Si te dedicas al sector, es imprescindible informarse.
pablo.blanco

5 mejores prácticas de mantenimiento de software

17/11/2023

El mantenimiento de software es una fase crítica en el ciclo de vida del desarrollo de software que implica la mejora, corrección y optimización de un sistema o apli

Cada vez más empresas se suman a contratar servicios de software en la nube. ¿Sabes por qué? En EducaOpen te ilustramos por qué con estos ejemplos.
pablo.blanco

Mejores productos de SaaS y sus beneficios para empresas

17/11/2023

El software en la nube, también llamado SaaS (Software as a Service), es un modelo de despliegue de software en el que una aplicación se aloja en Inte

Al igual que se hace con el resto de productos, los programas informáticos nuevos han de testearse. ¡Descubre todos los tipos de pruebas de software!
pablo.blanco

Tipos de pruebas de software

17/11/2023

Al igual que se hace con el resto de productos antes de lanzarlos al mercado, los programas y aplicaciones informáticas que se desarrollan también han de ponerse a p