← Resources
Languages·6 min read·

Sequential Function Chart: when your machine has steps

SFC makes 'which step are we on' a first-class question instead of something you infer from a pile of bits.

Short answer

Use SFC when the process has distinct steps with clear transitions between them: batch processes, machine start-up sequences, and any cycle where 'where are we' is a question operators ask. It replaces the step-counter-and-comparison pattern that ladder forces, making the current state explicit and the transitions visible.

The five IEC 61131-3 languagesLDLadder Diagramgraphical, relay heritageFBDFunction Block Diagramgraphical, signal flowSFCSequential Function Chartsteps and transitionsSTStructured Texttextual, Pascal-likeILInstruction Listtextual, deprecatedOne standard, five notations. Most projects use two.

Most machines have a sequence. Ladder does not have a way to express one, so programmers build a step counter and a stack of comparison rungs, and the sequence exists only in the programmer's head.

What SFC gives you

Steps and transitions, drawn. The current step is a real thing you can see, not a number you compare against.

Each step holds actions, written in whichever language suits: ladder for interlocks, Structured Text for calculation.

Where it earns its place

  • Batch. Charge, heat, hold, discharge, clean. Steps with conditions between them.
  • Start-up sequences. Anything where order matters and skipping a step is dangerous.
  • Complex machine cycles. Where the step count is high enough that the comparison rungs become unreadable.
The test: if somebody asks 'what is the machine doing right now' and the honest answer requires reading six rungs, SFC would have answered it in one glance.

Where it does not help

Continuous logic. Interlocks, alarms and anything that must be evaluated every scan regardless of state belong outside the SFC, in ordinary ladder that runs alongside it.

Common questions

Is SFC better than a step counter in ladder?
For genuine sequences, yes. A ladder step counter scatters the sequence across dozens of comparison rungs, so the order only exists in the programmer's head. SFC puts the steps and transitions in one diagram, which means a reader can see the sequence without reconstructing it.
Can I mix SFC with ladder?
Yes, and that is the usual arrangement. The SFC holds the sequence, and each step's actions are written in ladder or Structured Text. Most platforms support this directly, so the sequence is visible and the actions stay in whichever language suits them.

Keep reading