Sequential Function Chart, SFC.
Sequential function chart is one of the five IEC 61131-3 PLC programming languages, designed for representing sequential and concurrent control logic graphically. SFC structures a program as steps, states connected by transitions, conditions, with branches for concurrent or alternative paths. It is the dominant language for batch phase logic and complex startup, shutdown sequences.
Three drawings included on a new account.
What Sequential Function Chart, SFC means.
Sequential function chart is the one of the five IEC 61131-3 controller languages built specifically for logic that advances through states, and it is the natural home for any control problem that reads as a flowchart. A program is drawn as steps, each a box that holds the actions active while that state runs, connected by transitions, each a condition that must become true before control moves to the next step. Parallel branches let several steps run at once and alternative branches let exactly one of several paths execute. That structure maps directly onto the sequences that dominate process automation. A batch phase order, a plant startup that purges then pressurizes then ramps, a clean-in-place cycle that steps through pre-rinse, caustic, intermediate rinse, acid, and final rinse. It is the wrong tool for continuous regulatory control, which belongs in function block, and for dense discrete machine logic, which often stays in ladder. The notation descends from Grafcet, the French sequential-control formalism standardized as IEC 60848, adapted into IEC 61131-3 as an executable controller language. The link back to the drawing is concrete. Each step corresponds to a defined set of valve positions and instrument setpoints, so a charge step might open a specific feed valve, arm a high-level limit, and set a temperature controller, and the tag names that step references are exactly the ones an I/O list carries, which is why commissioning verifies each step's device interactions before testing the full sequence.
How SFC reads
Vertical chart. Each step is a box, each transition is a horizontal bar with a Boolean condition. The active step, state executes its associated actions until the transition condition becomes true, at which point control moves to the next step. Concurrent branches let multiple steps run in parallel. Alternative branches let exactly one of several paths execute based on conditions. Loops and jumps allow complex flow. The whole program reads top-to-bottom like a flowchart, which is exactly the point.
When SFC is the right tool
Batch phases, charge then mix then react then transfer. Natural SFC. Plant startup sequences, purge, pressurize, ignite, ramp. Natural SFC. Equipment recipes, CIP cycle. Pre-rinse, alkali wash, intermediate rinse, acid wash, final rinse. Natural SFC. Continuous regulatory control. Not SFC. Use ladder or function block. Discrete machine control with tight cycle requirements. Usually ladder, sometimes SFC for the higher-level state machine with ladder for the per-step logic.
Sequential function chart elements
IEC 61131-3. A chart advances only when a transition is TRUE, which is what makes the sequence auditable: at any moment you can point at the step that is active and the condition it is waiting for.
| Element | What it is | Rule the standard sets |
|---|---|---|
| Initial step | The step that is active when the chart starts | Exactly one per chart, drawn with a double border |
| Step | A state; the actions attached to it run while it is active | A step is either active or inactive, never partly so |
| Transition | The boolean condition drawn between two steps | The chart advances only when it evaluates TRUE |
| Action | The work a step performs | Carried out under a qualifier, which decides when and for how long |
| Alternative divergence | A branch where exactly one path is taken | The branch transitions must be mutually exclusive, or a defined priority decides |
| Simultaneous divergence | A branch where all paths run in parallel | Drawn with a double horizontal line; all paths start together |
| Simultaneous convergence | Where parallel paths rejoin | Waits until every parallel path has reached its final step |
| Jump | A return to an earlier step | Used for loops and for returning to an idle state |
Action qualifiers
The qualifier is what decides whether an action stops when the step does. Getting it wrong is the most common reason a sequence leaves an output energised after it moves on.
| Qualifier | Name | What it does |
|---|---|---|
| N | Non-stored | Active only while the step is active |
| S | Set, stored | Becomes active and stays active after the step deactivates |
| R | Reset | Deactivates an action a previous step set |
| L | Time limited | Active for a stated time, or until the step deactivates, whichever comes first |
| D | Time delayed | Becomes active after a stated delay, provided the step is still active |
| P | Pulse | Active for a single execution when the step becomes active |
| SD | Stored and time delayed | Becomes active after a delay and stays active, even if the step has deactivated |
| DS | Delayed and stored | Becomes active after a delay only if the step is still active, and then stays active |
| SL | Stored and time limited | Becomes active and stays active for a stated time, independent of the step |
Common questions
Is SFC the same as Grafcet.
Do all PLCs support SFC.
How does an SFC step relate to the instruments on a P&ID.
Run it on your drawings.
Upload a drawing set, get every document populated and classified, export to the format your team uses.
Three drawings included on a new account.