Sequential Function Chart Editor (SFC)

Ueberblick

Sequential Function Chart (SFC) ist die dritte grafische IEC-61131-3-Sprache und beschreibt zustandsorientierte Ablaeufe ueber ein Schritt-Uebergangs- Modell — formal verwandt mit dem Petri-Netz. Ein SFC-Diagramm besteht aus einer Folge von Schritten (Steps), die ueber Uebergaenge (Transitions) mit Bedingungen verbunden sind. Aktiv ist immer eine Teilmenge der Schritte; ein Schritt wird verlassen, sobald der nachfolgende Uebergang TRUE wird.

SFC ist die natuerliche Sprache fuer Ablaufsteuerungen, Modi-Maschinen und Batch-Prozesse — alles, was sich als „erst dies, dann jenes, ausser wenn …" formulieren laesst.

Editor-Layout

Der SFC-Editor folgt dem gleichen dreiteiligen Schema wie FBD und LD: Toolbar oben, QGraphicsView mit Grid + Zoom + Pan, Variablentabelle rechts. Die Toolbar bietet Werkzeuge fuer alle SFC-Element-Typen.

Element-Typen

Schritt (Step)

Ein Schritt ist eine Rechteck-Box mit Namen. Solange er aktiv ist, laufen seine zugeordneten Aktionen.

  • Initial-Schritt: Der Einstiegspunkt der POU. Wird beim Programmstart aktiv. Im Editor mit doppelter Umrandung dargestellt.
  • Folgeschritte: Mit einfacher Umrandung. Werden aktiv, wenn der vorausgehende Uebergang feuert.

Ports: oben (IN, vom vorherigen Uebergang), unten (OUT, zum naechsten Uebergang), rechts (Verbindung zu Action-Bloecken).

Uebergang (Transition)

Ein Uebergang ist ein kurzer horizontaler Balken auf der vertikalen Verbindungslinie zwischen zwei Schritten. Rechts neben dem Balken steht die Bedingung — entweder als ST-Ausdruck (z.B. tmr.Q AND xReady) oder als Output eines Funktionsblocks.

Wird die Bedingung TRUE, deaktiviert sich der vorausgehende Schritt und der nachfolgende wird aktiv.

Action-Block

Ein Action-Block beschreibt, was waehrend eines aktiven Schritts passiert. Er besteht aus zwei Zellen: links der Qualifier, rechts der Action-Name (Verweis auf eine ST-Aktion oder eine Output-Variable).

QualifierBedeutung
NNon-stored — laeuft, solange der Schritt aktiv ist (Default).
PPulse — einmalig fuer einen Zyklus bei Schritt-Aktivierung.
SSet — wird gesetzt und bleibt aktiv ueber Schrittwechsel hinweg.
RReset — beendet eine zuvor mit S gesetzte Aktion.
LLimited — laeuft maximal die angegebene Zeitdauer.
DDelayed — startet erst nach der angegebenen Verzoegerung.

Pro Schritt koennen mehrere Action-Bloecke angedockt sein.

Divergenz und Konvergenz

Eine Divergenz verzweigt den Ablauf in mehrere Pfade, eine Konvergenz fuehrt sie wieder zusammen. SFC kennt zwei Sorten:

  • Selection (OR-Verzweigung): Genau einer der Pfade wird betreten — abhaengig davon, welche Uebergangsbedingung zuerst TRUE wird. Dargestellt als einfacher horizontaler Balken.
  • Parallel (AND-Verzweigung): Alle Pfade werden gleichzeitig aktiv und laufen unabhaengig voneinander. Erst wenn alle den Konvergenz-Punkt erreicht haben, geht der Ablauf weiter. Dargestellt als doppelter horizontaler Balken.

Sprung (Jump)

Ein Sprung-Item ist ein abwaerts gerichteter Pfeil mit dem Namen des Ziel-Schritts. Er springt aus dem aktuellen Pfad an einen benannten Schritt — typisch fuer „zurueck zum Start" am Ende einer Sequenz oder fuer Fehler-Behandlung („spring zu Step_Error").

Anwendung

SFC eignet sich immer dann, wenn ein Programm einen klaren zeitlichen Ablauf hat:

  • Maschinenmodi — Init → Idle → Running → Cleanup → Idle.
  • Batch-Prozesse — Befuellen → Heizen → Mischen → Entleeren.
  • Sicherheitsablaeufe — Stop-Sequenzen mit definierter Reihenfolge abfahren („zuerst Heizung aus, dann Pumpe aus, dann Hauptschuetz").
  • Verfahrenstechnik — Reaktionsschritte mit Wartezeiten und Bedingungen.

Im Vergleich zu einer ST-Implementierung gleicher Funktion ist die SFC-Variante deutlich besser ablesbar — die Reihenfolge der Schritte und die Verzweigungsbedingungen sind grafisch unmittelbar sichtbar, waehrend in ST eine CASE state OF-Konstruktion dieselbe Information nur indirekt vermittelt.

Verwandte Themen

  • Function Block Diagram — fuer die Logik innerhalb einer Aktion oder einer Transition-Bedingung.
  • Ladder Diagram — alternative grafische Sprache fuer einfachere Verriegelungen.
  • Library — Timer (TON, TP) sind oft Bestandteil von Transition-Bedingungen.