Cargando el progreso local…
PLC Gym
Inicio de PLC GymNivel 1, 0 XP · tu progreso
Todas las guías

Programación en Grafcet: pasos, transiciones y un ejemplo de tanque

Programación en Grafcet o SFC: cómo funcionan pasos, transiciones y acciones, un ejemplo con un tanque y cómo lo hacen Rockwell, Siemens y Beckhoff.

Un tanque de mezcla de acero inoxidable con tuberías, válvulas y un transmisor de nivel en una planta de proceso.
Un tanque que se llena, mezcla y vacía es el trabajo clásico para un diagrama de funciones secuenciales.
En esta guía
  1. Qué es el Grafcet o diagrama de funciones secuenciales
  2. Pasos, transiciones y acciones
  3. Cómo se ejecuta un Grafcet en un PLC
  4. Un ejemplo de programación en Grafcet: una tanda en un tanque
  5. Cuándo elegir Grafcet en vez de ladder o texto estructurado
  6. Tres errores que conviene aprender pronto
  7. Software para la programación en Grafcet de cada fabricante
  8. Practicar la programación en Grafcet en PLC Gym
  9. Fuentes

La programación en Grafcet es una forma de programar un PLC dibujando el trabajo como una cadena de pasos. En la norma IEC 61131-3 este lenguaje se llama diagrama de funciones secuenciales, o SFC, y en muchos países de habla hispana se le conoce como Grafcet. Cada paso dice qué hace la máquina en este momento. El enlace al paso siguiente dice cuándo avanzar. Si alguna vez dibujaste un proceso en una pizarra como llenar, luego mezclar, luego vaciar, ya tienes la idea.

Todo lo que sigue está comprobado con los manuales de Rockwell, Siemens y Beckhoff, enlazados al final. Donde los fabricantes hacen las cosas de forma distinta, esta guía lo dice, porque ahí es donde la gente se equivoca.

Qué es el Grafcet o diagrama de funciones secuenciales

El manual de Rockwell compara un SFC con un diagrama de flujo, y es la forma más fácil de imaginarlo. La diferencia es que este diagrama de flujo se ejecuta. No estás describiendo el programa: lo estás escribiendo.

Es uno de los lenguajes de la IEC 61131-3, la norma internacional para programar PLC. El resumen de PLCopen enumera los lenguajes gráficos y de texto, y luego describe el SFC de otra manera: como el lenguaje que organiza la estructura interna de un programa. Por eso un diagrama muchas veces no sustituye tu otro código. Se coloca por encima y decide qué parte del trabajo está ocurriendo.

Siemens llama a su versión GRAPH: la misma idea con sus propias reglas. La entrada del glosario tiene la definición corta.

Pasos, transiciones y acciones

La programación en Grafcet se reduce a unas pocas partes.

  • Paso. Una parte importante del trabajo, como Llenado o Mezcla. Sigue activo hasta que el diagrama recibe la orden de avanzar.
  • Acción. Algo que hace el paso, como hacer funcionar una bomba.
  • Transición. Una condición verdadera o falsa entre pasos, como que el nivel llegue al 70 %. Verdadera significa pasar al siguiente paso. Falsa significa quedarse donde está.
  • Calificador. La letra delante de una acción, que dice cuándo empieza y cuándo termina.

Vale la pena aprender bien esas letras. Rockwell, Siemens y Beckhoff tienen estas cinco.

CalificadorQué haceEjemplo
NActiva solo mientras su paso está activoHacer funcionar el mezclador durante Mezcla
SSe activa y sigue activa después de que el paso terminaMantener una bomba en marcha durante pasos posteriores
RBorra lo que S activóParar esa bomba en un paso posterior
DEmpieza después de un retardo, si el paso sigue activoArrancar un ventilador cinco segundos después de entrar al paso
LActiva durante un tiempo limitado, o hasta que el paso terminaAbrir una válvula de enjuague durante diez segundos

Más allá de esas, las listas cambian. Rockwell y Beckhoff añaden versiones de impulso y versiones memorizadas con tiempo, y Siemens tiene acciones que dependen de eventos, así que revisa la lista de tu software.

Un diagrama también puede ramificarse, de dos maneras.

  • Una elección. Rockwell la llama bifurcación de selección; Siemens y Beckhoff, bifurcación alternativa. Solo se ejecuta un camino. Rockwell y Beckhoff revisan las transiciones de izquierda a derecha y toman la primera que sea verdadera, y Rockwell te deja cambiar ese orden.
  • Caminos que se ejecutan a la vez. Es una bifurcación simultánea, o bifurcación paralela en TwinCAT. Todos los caminos se ejecutan, y el diagrama no continúa hasta que todos terminan.

Cómo se ejecuta un Grafcet en un PLC

El diagrama empieza en su paso inicial. Mientras un paso está activo, sus acciones se ejecutan y la transición siguiente se revisa una y otra vez. Cuando esa transición se vuelve verdadera, el paso termina y empieza el siguiente.

El controlador no se queda quieto mientras espera. Sigue con su ciclo de escaneo, así que un paso que espera diez minutos a que se llene un tanque se sigue visitando en cada pasada.

El orden dentro de un escaneo es donde los fabricantes no coinciden.

  • Beckhoff publica el orden exacto: acciones de salida, acciones de entrada, acciones del paso, acciones IEC y, al final, las transiciones.
  • Rockwell muestra un paso que se ejecuta y luego la revisión de su transición. Cuando es verdadera, el paso anterior recibe un último escaneo antes de que se ejecute el siguiente. Un ajuste del controlador decide qué hace ese último escaneo (Don't Scan, Programmatic reset o Automatic reset), y se aplica a todos los diagramas de ese controlador.
  • Siemens pone primero las instrucciones permanentes, luego las acciones de los pasos activos y luego otra vez las instrucciones permanentes. Además, el diagrama no avanza mientras haya un error de supervisión pendiente.

Un diagrama tampoco vuelve a empezar solo. En Rockwell, conectas la última transición a un paso anterior o usas un elemento de parada. En GRAPH, terminas con un salto o con un fin de secuencia.

Un ejemplo de programación en Grafcet: una tanda en un tanque

Este es el trabajo de la misión Una tanda, cuatro fases de PLC Gym. Un tanque se llena, mezcla, vacía y avisa que terminó.

PasoAccionesTransición al siguiente paso
ListoR DoneStart AND Permit
LlenadoN PumpOn, N FillValveLevel >= 70
MezclaN MixerOnMixDone
VaciadoN DrainValveLevel <= 5
CompletoS DoneNinguna, el diagrama se queda aquí

En Listo no se ejecuta nada, y la acción R se asegura de que Done no quede activo. Pulsa Start con el permiso activo y el diagrama pasa a Llenado, así que la bomba y la válvula se encienden. Cuando el nivel llega al 70 %, Llenado termina. Como esas acciones son N, la bomba y la válvula se paran solas. Nunca escribes una línea que diga apaga la bomba. Luego el mezclador funciona hasta MixDone, el vaciado baja hasta el 5 % y Completo memoriza Done para que siga activo.

Aquí está la misma tanda en texto estructurado, como una máquina de estados con CASE, al estilo de Rockwell. State es una variable de número entero que empieza en 0. Este código supera las pruebas de esa misión, lo cual es un resultado del simulador y no una prueba en un controlador real.

CASE State OF
  0: // Listo
    IF Start AND Permit THEN State := 10; END_IF;
  10: // Llenado
    IF Level >= 70 THEN State := 20; END_IF;
  20: // Mezcla
    IF MixDone THEN State := 30; END_IF;
  30: // Vaciado
    IF Level <= 5 THEN State := 40; END_IF;
END_CASE;

PumpOn := State = 10;
FillValve := State = 10;
MixerOn := State = 20;
DrainValve := State = 30;
Done := State = 40;

Es corto y funciona. Pero en el diagrama ves en qué punto está la tanda con solo mirarlo. En texto lees un número y tienes que recordar qué significa.

Las tandas reales se interrumpen, así que los diagramas crecen pronto. En Recupera la tanda interrumpida, Llenado recibe una segunda transición, Hold OR Fault, que lleva a un paso de espera. Eso es una bifurcación, y el camino de espera tiene más prioridad para que gane si el tanque llega al 70 % en el mismo instante.

Cuándo elegir Grafcet en vez de ladder o texto estructurado

Rockwell da una regla práctica en su manual de procedimientos comunes. Esa edición es de 2004, pero la guía es clara y viene directamente de un fabricante.

LenguajePara qué lo recomienda Rockwell
SFCCoordinar varias operaciones a alto nivel, secuencias repetidas, procesos por tandas, máquinas de estados
LadderOperaciones sin secuencia, lógica de bits, enclavamientos de máquina, todo lo que el personal de mantenimiento pueda necesitar leer para encontrar una falla
Diagrama de bloques de funcionesControl continuo de procesos y variadores, control de lazos
Texto estructuradoCálculos complejos, bucles sobre arreglos o tablas, manejo de cadenas de texto

El mismo manual dice que puedes mezclar lenguajes en un proyecto: el diagrama da las órdenes a cada equipo mientras otras tareas lo regulan.

Una prueba sencilla es esta. Si puedes describir el trabajo como haz esto, espera aquello y luego haz lo siguiente, un diagrama encaja. Si es una regla que debe cumplirse en cualquier fase, como una parada o un enclavamiento, no pertenece a un solo paso. Las instrucciones permanentes de GRAPH, por ejemplo, se ejecutan en cada ciclo aunque no haya ningún paso activo. Y un diagrama no es una función de seguridad. Las funciones de seguridad reales necesitan equipos con certificación de seguridad y una persona competente.

También tiene costos. Siemens dice que los bloques GRAPH necesitan más tiempo de procesamiento que los bloques normales. Y Rockwell cita un diagnóstico de fallas más rápido como ventaja del SFC, pero recomienda ladder para la lógica que el personal de mantenimiento tiene que leer, así que pregunta a las personas que darán soporte a la máquina. Tú conoces tu planta mejor que nadie.

Tres errores que conviene aprender pronto

  • Una acción memorizada sin desactivar. Salir del paso no apaga una acción S. Rockwell advierte que sigue activa incluso cuando el diagrama llega a una parada. ¿Qué sigue activo? te obliga a planear la desactivación.
  • Dos transiciones verdaderas a la vez. Haz que sean opuestas, como Start AND RouteA y Start AND NOT RouteA, para no depender de la prioridad por accidente. Esa es la lección de Elige la ruta correcta.
  • Un diagrama que espera para siempre. Si falla un transmisor de nivel, Llenado puede no terminar nunca. Rockwell tiene una alarma LimitHigh en cada paso, Siemens tiene supervisión y vigilancia del tiempo de paso en el S7-1500, y en TwinCAT un tiempo activo máximo activa SFCError.

Software para la programación en Grafcet de cada fabricante

Cada fabricante lo incluye en su propio software, con sus propios nombres y reglas.

SFC de Rockwell en Studio 5000

Añades una rutina SFC en Studio 5000 Logix Designer. La transición más simple es una expresión verdadera o falsa en texto estructurado, y una acción puede contener texto estructurado incrustado o llamar a una subrutina en otro lenguaje. Las instrucciones SFP y SFR pausan y restablecen un diagrama. Este detalle viene del manual de Rockwell de marzo de 2004, cuando el software se llamaba RSLogix 5000, así que compruébalo con el manual actual de SFC, la publicación 1756-PM006.

GRAPH de Siemens: Grafcet en TIA Portal

Algunos documentos de Siemens dicen S7-GRAPH, pero es el mismo lenguaje. Un bloque GRAPH siempre es un bloque de función, y necesitas al menos tres bloques: el bloque GRAPH, su bloque de datos de instancia y un bloque que lo llame. Las condiciones de transición se escriben en LAD o FBD. Las acciones se pueden ligar a un enclavamiento, para que solo se ejecuten cuando se cumplen sus condiciones. El S7-1200 no tiene GRAPH. La lista comparativa de Siemens dice que solo admite LAD, FBD y SCL. La guía de TIA Portal da el panorama completo.

Beckhoff TwinCAT 3

TwinCAT 3 tiene un editor gráfico de SFC. Además de los calificadores IEC, Beckhoff añade sus propias acciones de entrada, de paso y de salida, y también indicadores como SFCInit y SFCError para controlar y supervisar. Advierte que forzar un paso como activo deja el diagrama en un estado sin control.

Practicar la programación en Grafcet en PLC Gym

PLC Gym tiene editores para GRAPH, con el estilo de TIA Portal V20, y para SFC, con el estilo de Studio 5000 v38. Construyes el diagrama, pulsas Ejecutar y un tanque en 3D responde. Las misiones de diagramas están en el curso después de las misiones gratis, así que son de Pro. La página de precios tiene los detalles.

Esto es lo que no es. Es un simulador, no un controlador real, y no está hecho por Siemens, Rockwell ni Beckhoff ni tiene relación con ellos. Los diagramas de PLC Gym cubren un solo camino activo, bifurcaciones alternativas en orden de prioridad y acciones N, S y R. No hay bifurcaciones simultáneas, calificadores con tiempo, diagramas anidados ni rutinas de acción, y tampoco un sistema completo de enclavamientos y supervisión. Las acciones de un paso nuevo se ejecutan en el siguiente escaneo, que es la regla de PLC Gym y no necesariamente la de tu controlador. Los diagramas no se exportan, así que tendrías que introducirlos otra vez en el software real. Y no hay editor de diagramas de TwinCAT, porque la ruta de Beckhoff es solo texto estructurado. La referencia del lenguaje tiene el detalle.

Así que cuando necesites esas funciones, necesitas TIA Portal o Studio 5000 y, mejor aún, un PLC real. Lo que PLC Gym te da es práctica con la forma de pensar: qué va en un paso, cuándo avanzar y qué sigue activo después de salir de él.

Fuentes

¿Tienes preguntas sobre esto?Pregunta en el Vestuario

Pruébalo en una máquina

Gratis · Funciona en tu navegador

Pruébalo en una máquina que funciona

Escribe gratis código real de Siemens o Rockwell en el simulador de PLC online y mira cómo una bomba, un tanque o una línea de llenado en 3D hacen exactamente lo que les dijiste. No hay nada que instalar.