7. Lenguajes de programación: GRAFCET

Imagen generada por ChatGPT


Índice de contenido

0. Introducción
1. ¿Qué es el GRAFCET y para qué sirve?
2. Origen e historia
3. Elementos fundamentales 
4. Tipologías y estructuras
5. Ejemplo práctico
6. Cómo se programa en un PLC
7. Conclusión
8. Bibliografía



0. Introducción

En el mundo de la automatización industrial, entender el comportamiento secuencial  de un proceso es tan importante como saber programarlo. Por eso, cuando se trata de diseñar, documentar y controlar sistemas automáticos complejos, GRAFCET se convierte en una herramienta imprescindible.

Este lenguaje gráfico no solo nos permite visualizar la lógica del proceso de forma clara y ordenada, sino que también actúa como puente entre el diseño funcional y su implementación en un PLC. Si alguna vez has sentido que programar solo con contactos o texto estructurado te deja con una visión incompleta, este post te va a interesar.

Hoy vamos a adentrarnos a fondo en el mundo de GRAFCET: su origen, estructura, reglas, ejemplos reales, cómo se implementa en un PLC y mucho más. Tanto si estás comenzando como si buscas profesionalizar tu forma de trabajar, este recorrido te dará una base sólida para dominarlo con confianza


1. ¿Qué es el GRAFCET y para qué sirve?

El GRAFCET (Graphe Fonctionnel de Commande Étape/Transition) es un lenguaje gráfico utilizado para describir el comportamiento secuencial de sistemas automatizados. Su nombre proviene del francés y significa literalmente "Gráfico Funcional de Mando por Etapas y Transiciones". Esta normalizado bajo la norma internacional IEC 60848 y es una herramienta fundamental en el campo de la automatización industrial.

El GRAFCET permite representar de forma clara y estructurada los diferentes estados por los que pasa un sistema (denominados pasos) y las condiciones necesarias para pasar de un estado a otro (denominadas transiciones). Esto lo convierte en un lenguaje de modelado secuencial, ideal para procesos que se desarrollan en una serie de etapas definidas, como por ejemplo el llenado de un depósito, el ciclo de una máquina de soldadura, o el funcionamiento de un ascensor.


¿Por qué es tan útil?

Porque facilita el diseño, análisis y programación de procesos complejos, permitiendo separar claramente la lógica de funcionamiento de la codificación final en un lenguaje de PLC como Ladder o Structured Text. El GRAFCET actúa como puente entre la lógica del proceso y su implementación técnica.

Algunas razones clave para su uso:

  • Es intuitivo y fácil de entender incluso para personas con conocimientos básicos.
  • Permite visualizar la secuencia completa del proceso de manera ordenada y lógica.
  • Favorece la colaboración multidisciplinar (ingenieros, técnicos, electricistas...).
  • Facilita la detección de errores de lógica o diseño antes de programar.
  • Es independiente del lenguaje de programación final, lo cual mejora la portabilidad.

¿Dónde se aplica?

  • Control de máquinas industriales secuenciales.
  • Sistemas de producción automatizados.
  • Líneas de ensamblaje.
  • Procesos de control por etapas (como hornos, llenado de tanques, robots).
  • Formación técnica y documentación de sistemas.

No solo es una herramienta de programación, sino también de comunicación. Permite que diferentes actores (desde diseñadores hasta programadores y técnicos de mantenimiento) hablen un lenguaje común para entender y mejorar los sistemas de automatización.


2. Origen e historia

Durante las décadas de 1960 y 1970, el mundo industrial empezó a transitar desde sistemas de control cableados (basados en relés y lógica cableada) hacia sistemas programables. La aparición de los primeros PLC supuso una revolución, ya que permitía programar la lógica de control en un lugar de tener que cablearla físicamente. Sin embargo, surgía un nuevo problema:

¿Cómo representar de forma clara y estructurada la lógica secuencial de un proceso, independientemente del lenguaje de programación del autómata?

Aquí entra en juego el GRAFCET, desarrollado como una herramienta gráfica y universal para representar sistemas secuenciales, con el objetivo de hacer el diseño más comprensible y estandarizado, incluso antes de programar.


Su nacimiento

El término GRAFCET fue propuesto inicialmente por la empresa francesa Merlin Gerin (hoy parte de Schneider Electric), en colaboración con centros de investigación e institutos de automatización.

Su diseño se inspiró en conceptos de lógica secuencial, diagramas de estados y máquinas de Mealy y Moore, muy usados en electrónica digital.

El objetivo era representar procesos en términos de "estados" (pasos activos) y "transiciones" (condiciones para cambiar de estado), pero con una simbología simple, uniforme y fácil de usar para ingenieros, técnicos y operadores.


Normalización Internacional

Dado su éxito y creciente adopción en la industria, el GRAFCET fue sometido a un proceso de estandarización internacional. En 1988, la Comisión Electrotécnica Internacional (IEC) publicó la primera versión de la norma:

IEC 60848: Especificación del lenguaje de descripción GRAFCET.

Esta norma define:
  • La estructura del lenguaje.
  • Su simbología.
  • Las reglas de funcionamiento.
  • Las directrices para su interpretación y traducción a lenguajes de PLC.

Desde entonces, la norma ha sido revisada y actualizada en varias ocasiones, adaptándose a los nuevos contextos industriales, la llegada de la Industria 4.0 y la integración con otros estándares como la IEC 61131-3.


3. Elementos fundamentales 

Para comprender y diseñar un GRAFCET correctamente, es imprescindible dominar sus componentes básicos. Cada uno tiene un propósito definido dentro del sistema de control secuencial, y juntos forman un diagrama dinámico que describe el comportamiento del sistema.


1. Paso (Step)

¿Qué es?
Un paso representa un estado estable del sistema, es decir, una etapa en la que el sistema realiza una o varias acciones mientras está activo.

¿Cómo se representa?
Mediante un cuadrado, dentro del cual se indica el número o nombre del paso.

¿Cuándo está activo?
Un paso está activo cuando se ha cumplido la transición anterior y no se ha desactivado aún.

¿Qué hace un paso activo?
Puede tener asociadas acciones (por ejemplo, encender un motor, abrir una válvula, activar una alarma...).

Fuente: Curso superior de autómatas programables, UCAM.

Ejemplo:
Un proceso de lavado podría tener las siguientes etapas:
  • Etapa 1: Llenado de agua.
  • Etapa 2: Lavado con detergente
  • Etapa 3: Enjuague
  • Etapa 4: Centrifugado

2. Transición (Transition)

¿Qué es?
Una transición representa la condición de paso de un estado a otro. Es el "puente lógico" entre dos estados.

¿Cómo se representa?
Con una barra horizontal, y debajo se escribe la condición lógica que debe cumplirse para que se produzca el cambio.

¿Cuándo se activa?
  1. El paso anterior está activo, y
  2. Se cumple la condición escrita en la transición.
Entonces:
  1. El paso anterior se desactiva.
  2. El paso siguiente se activa.
Fuente: Elaboración propia


En el mundo de la automatización industrial, entender el comportamiento secuencial  de un proceso es tan importante como saber programarlo. Por eso, cuando se trata de diseñar, documentar y controlar sistemas automáticos complejos, GRAFCET se convierte en una herramienta imprescindible.

Este lenguaje gráfico no solo nos permite visualizar la lógica del proceso de forma clara y ordenada, sino que también actúa como


3. Acciones (Actions)

¿Qué son?
Las acciones son las salidas físicas o lógicas del sistema: lo que hace el sistema cuando una etapa está activa.

¿Dónde se colocan?
Se asocian directamente al paso correspondiente y pueden escribirse dentro o fuera del recuadro, según la notación.

Fuente: Elaboración propia



Reglas de funcionamiento básicas

Las más importantes son:
  1. Un paso solo puede activarse si la transición anterior es verdadera.
  2. Una transición solo se evalúa si su paso anterior está activo.
  3. Cuando se activa un paso nuevo, se desactiva el anterior (salvo en modos paralelos).
  4. Las acciones se ejecutan sólo cuando su paso está activo (salvo condiciones especiales).

4. Tipologías y estructuras

El GRAFCET no solo permite representar secuencias simples. Su verdadera potencia radica en su capacidad para modelar comportamientos complejos, gracias a las distintas estructuras y tipologías que admite. A continuación, veremos las más importantes, cómo se representan y qué ventajas tienen.

Estructura secuencial simple

¿Qué es?
Es la forma más básica, cada paso lleva a otro, de forma lineal y ordenada.

Fuente: Elaboración propia


Estructura con ramificaciones (condicional)

¿Qué es?
Es una secuencia que se bifurca en distintas ramas, en función de una o varias condiciones.

Fuente: Elaboración propia

Ejemplo:
Después de calentar un horno, puedes:
  • Ir a la etapa de cocción 2 (si hay producto).
  • Ir a la etapa de espera 3 (Si no hay producto).

Estructura paralela (paralelismo sincronizado)

¿Qué es?
La activación múltiple ocurre cuando, en un instante determinado, varias transiciones se cumplen simultáneamente y por tanto varios posteriores se activan a la vez.

Esto puede suceder por ejemplo:
  • En estructuras ramificadas, cuando un paso tiene varias transiciones de salida y todas sus condiciones se cumplen al mismo tiempo.
  • En diagramas con estructuras paralelas, como bifurcaciones.
¿Qué consecuencias tiene?
  • El sistema activa varios pasos simultáneamente.
  • Debes tener cuidado, porque si los pasos activados controlan acciones incompatibles o recursos comunes, podrías generar conflictos o condiciones de carrera.
Fuente: Elaboración propia

Ejemplo
En una línea de montaje:
  • Mientras una pieza se suelda (P2), otra se revisa (P4).
Sincronización
Al final, estas ramas pueden reconverger en un paso común para continuar juntas.


Estructura alternativa (mutuamente excluyente)

¿Qué es?
Parecida a la paralela, pero con decisión exclusiva: solo una rama puede activarse.

Ejemplo
Si la temperatura es alta, enfriar (P2). Si no, mantener estado (P3).


Estructura con salto (go to)

¿Qué es?
Permite redirigir el flujo directamente a otro paso sin pasar por los intermedios. Se usa para repeticiones o salidas de emergencia.

Fuente: Elaboración propia

Ejemplo
Un sistema de llenado que reinicia el ciclo si se detecta un error.


Estructura jerárquica

¿Qué es?

Divide el sistema en bloques independientes, cada uno con su propio GRAFCET interno. Muy útil para procesos complejos y modulares.


Ejemplo

Una máquina de empaquetado:

  • Sub-GRAFCET A: Carga de producto.
  • Sub-GRAFCET B: Cierre la caja.
  • Sub-GRAFCET C: Etiqueta y expulsa.



5. Ejemplo práctico


Fuente: Elaboración propia



6. Cómo se programa un GRAFCET en un PLC

Introducción

GRAFCET es un lenguaje gráfico de especificación, no es un lenguaje de programación directamente ejecutable. Por tanto, cuando se diseña un proceso con GRAFCET, este debe ser traducido a código PLC.


Esa traducción puede hacerse:

  • Manualmente (por el programador).
  • Automáticamente (si se usa software que lo soporte, como SFC en TIA Portal).
A continuación te explico cómo programarlo manualmente, que es la forma más común y útil para aprender.

Paso 1: Comprender la lógica de GRAFCET

Un GRAFCET está formado por:
  • Pasos (Steps): Representan estados. Tienen acciones asociadas.
  • Transiciones: Condiciones lógicas para pasar de un paso al siguiente.
  • Activaciones: El núcleo de control está en activar y desactivar según las condiciones.
Cuando un paso está activo:
  • Se ejecutan sus acciones.
  • Se evalúan sus transiciones de salida.

Paso 2: Crear las variables necesarias

Para programar GRAFCET se necesita:
  1. Una variable booleana por paso, que indica si está activo o no.
  2. Variables para acciones.
  3. Entradas del sistema y temporizadores si hay retardos.

Paso 3: Estructura de programación típica

  • Rung 1: Transición 1 -> Si la transición 1 se activa, pasar a Etapa 1.
  • Rung 2: Transición 2 -> Si la Etapa 1 está activa y la transición 2 se activa pasar a la Etapa 3.
  • Rung 3: Transición 3 -> Si la Etapa 2 está activa y se activa la transición 3 activar etapa 4.
Así seguiríamos hasta completar el programa, utilizando bobinas Set y Reset para activar y desactivar los pasos.

A continuación pasamos a LADDER el ejemplo del punto 5. (No necesariamente se tiene que hacer así, hay programas como TIA Portal, Cade Simu, etc. Que soportan la programación GRAFCET sin necesidad de trasladarla a otro lenguaje como LADDER o Lenguaje Estructurado, más adelante pondremos un video donde podrás estudiarlo más a fondo).



Fuente: Elaboración propia


⚠️ Errores comunes a evitar
❌ No desactivar los pasos anteriores (queda el GRAFCET bloqueado).
❌ Usar condiciones inestables (rebotes, señales sin temporizar).
❌ Activar varios pasos sin control (se pierde la lógica secuencial).
✅ Usa funciones Set/Reset o marcas temporales para controlar bien el estado.


Buenas prácticas
  • Nombra bien los pasos.
  • Agrupar el código por bloques.
  • Documenta con comentarios cada bloque.
  • Simula siempre antes de poner en marcha real.


7. Conclusión 

En entornos industriales reales, donde el tiempo, la seguridad y la fiabilidad lo son todo, contar con una representación estructurada como GRAFCET marca una diferencia abismal. Permite desde el diseño hasta el mantenimiento de un sistema complejo, reduciendo el margen de error humano y facilitando la comunicación entre equipos técnicos y no técnicos.

Además, su integración con herramientas como TIA Portal o Codesys permite que esa lógica gráfica se transforme directamente en código funcional y depurable, acelerando el desarrollo y reduciendo costes.

Lo que más valoro del GRAFCET es su capacidad para hacer visible lo invisible: las transiciones, condiciones y estados que definen el alma de un proceso. Cuando algo falla en planta, poder revisar un GRAFCET bien construido es como tener un mapa del tesoro para encontrar el problema.

Mi consejo es claro: si te tomas en serio la automatización industrial, no veas GRAFCET como un dibujo bonito, sino como una herramienta estratégica. Domínalo, intégralo en tu flujo de trabajo y te abrirá puertas tanto en diseño como en diagnóstico y mejora de sistemas.



Para un contenido más didáctico y ya sello del blog, te dejamos a continuación unos videos para profundizar en el temario expuesto y la bibliografía donde podrás hacer consultas más profundas.

— Juanjo













Bibliografía

GRAFCET. (n.d.). Wikipedia. Retrieved July 14, 2025, from https://es.wikipedia.org/wiki/GRAFCET

Universidad Politécnica de Madrid. (n.d.). SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS. Retrieved July 14, 2025, from https://www.cartagena99.com/recursos/alumnos/apuntes/Grafcet.pdf

ChatGPT Índice y estructura


Publicar un comentario

0 Comentarios