Editor de Sequential Function Chart (SFC)

Visión general

Sequential Function Chart (SFC) es el tercer lenguaje gráfico IEC 61131-3 y describe secuencias orientadas a estado mediante un modelo de paso-transición — formalmente emparentado con las redes de Petri. Un diagrama SFC consiste en una secuencia de pasos conectados por transiciones con condiciones. En cualquier instante un subconjunto de los pasos está activo; un paso se abandona cuando su transición saliente se vuelve TRUE.

SFC es el lenguaje natural para control secuencial, máquinas de modos y procesos por lotes — cualquier cosa que usted describiría como “primero esto, luego aquello, excepto cuando …”.

Disposición del editor

El editor SFC sigue el mismo esquema de tres partes que FBD y LD: barra de herramientas en la parte superior, QGraphicsView con rejilla + zoom

  • panorámica, tabla de variables a la derecha. La barra de herramientas ofrece herramientas para cada tipo de elemento SFC.

Tipos de elemento

Paso

Un paso es una caja rectangular con un nombre. Mientras está activo, las acciones asociadas a él se ejecutan.

  • Paso inicial: El punto de entrada de la POU. Se vuelve activo al arrancar el programa. Se dibuja con un borde doble en el editor.
  • Pasos sucesivos: Se dibujan con un único borde. Se vuelven activos cuando dispara la transición precedente.

Puertos: arriba (IN, desde la transición previa), abajo (OUT, hacia la siguiente transición), derecha (conexión a bloques de acción).

Transición

Una transición es una barra horizontal corta sobre la línea de conexión vertical entre dos pasos. A la derecha de la barra está la condición — bien una expresión ST (p. ej. tmr.Q AND xReady) o bien la salida de un bloque de función.

Cuando la condición se vuelve TRUE, el paso precedente se desactiva y el siguiente paso se activa.

Bloque de acción

Un bloque de acción describe qué ocurre mientras un paso está activo. Consta de dos celdas: el calificador a la izquierda y el nombre de la acción a la derecha (una referencia a una acción ST o a una variable de salida).

CalificadorSignificado
NNo-almacenado — se ejecuta mientras el paso esté activo (predeterminado).
PPulso — dispara una vez durante un ciclo al activarse el paso.
SSet — fija y permanece activo a través de las transiciones de paso.
RReset — borra una acción previamente fijada con S.
LLimitado — se ejecuta como máximo durante el tiempo dado.
DRetardado — se inicia solo tras el retardo dado.

Pueden acoplarse varios bloques de acción a un mismo paso.

Divergencia y convergencia

Una divergencia ramifica la secuencia en múltiples rutas, una convergencia las une de nuevo. SFC tiene dos clases:

  • Selección (divergencia OR): Se entra exactamente en una de las rutas, según qué condición de transición se vuelva TRUE primero. Se dibuja como una única barra horizontal.
  • Paralela (divergencia AND): Todas las rutas se vuelven activas simultáneamente y se ejecutan independientemente. Solo cuando cada una alcanza el punto de convergencia avanza la secuencia. Se dibuja como una doble barra horizontal.

Salto

Un elemento de salto es una flecha hacia abajo que lleva el nombre del paso de destino. Transfiere el control de la ruta actual a un paso nombrado — se usa típicamente para “volver al inicio” al final de una secuencia, o para gestión de errores (“saltar a Step_Error”).

Aplicación

SFC encaja siempre que un programa tiene una secuencia temporal clara:

  • Modos de máquina — Init → Idle → Running → Cleanup → Idle.
  • Procesos por lotes — Llenar → Calentar → Mezclar → Vaciar.
  • Secuencias de seguridad — realizar secuencias de paro en un orden definido (“primero calentador apagado, luego bomba apagada, luego contactor principal”).
  • Ingeniería de procesos — pasos de reacción con retardos y condiciones.

Comparada con una implementación ST de la misma función, la versión SFC es significativamente más legible — el orden de los pasos y las condiciones de bifurcación son gráficamente obvios, mientras que en ST una construcción CASE state OF transmite la misma información solo indirectamente.

Temas relacionados

  • Function Block Diagram — para la lógica dentro de una acción o de una condición de transición.
  • Ladder Diagram — lenguaje gráfico alternativo para circuitos de interbloqueo más sencillos.
  • Biblioteca — los temporizadores (TON, TP) son partes habituales de las condiciones de transición.