PLC programming languages under IEC 61131-3
IEC 61131-3 is the international standard defining five PLC programming languages. Three graphical: Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC). Two text-based: Structured Text (ST) and Instruction List (IL). Each has its niche, and the choice depends on the task, engineer experience, and specific controller.
In practice, 70% of programs are written in LD — relay logic that electricians understand. Another 20% use ST for mathematical calculations or data processing. The rest is FBD and SFC for specific tasks. IL has practically died out — ST replaced it.
Ladder Diagram (LD): relay logic
LD looks like an electrical schematic: contacts on the left, coils on the right, logic in the middle. An engineer who reads electrical drawings can read Ladder without explanation — that is why this language dominates.
- Strengths: intuitive for electricians, easy to read and diagnose on site
- Weaknesses: unwieldy for complex calculations, difficult to work with arrays and structures
- Best for: discrete control, simple interlocks, startup sequences
LD is supported by all PLCs: Delta DVP, Mitsubishi FX5U, Siemens S7-1200 — no exceptions.
Structured Text (ST / SCL): text-based language
ST resembles Pascal or C. Variables, FOR/WHILE loops, IF/THEN/ELSE conditions, arrays, structures. For engineers with programming background — the most convenient language.
- Strengths: compact code, convenient for math, arrays, strings
- Weaknesses: harder to diagnose online (no visual "glowing" contacts)
- Best for: PID control, recipe management, analog signal processing, communication protocols
In Siemens TIA Portal, ST is called SCL (Structured Control Language). Functionally identical, just a different name.
Function Block Diagram (FBD): block logic
FBD is a graphical language where logic is built from blocks: AND, OR, timers, counters, PID controllers. Inputs on the left, outputs on the right, blocks connected by lines.
- Strengths: clear for complex functional dependencies, convenient for analog processing
- Weaknesses: takes lots of screen space, inconvenient for sequential logic
- Best for: control loops, signal processing, complex math
Sequential Function Chart (SFC): sequences
SFC describes a process as a sequence of steps and transitions. A step is a set of actions; a transition is the condition for moving to the next step. Ideal for batch processes, recipe control, and startup sequences.
- Step 1: fill tank (open valve, monitor level)
- Transition: level reaches 80%
- Step 2: heat (turn on heater, monitor temperature)
- Transition: temperature reaches 60 degrees C
- Step 3: mix (run agitator for 15 min)
Instruction List (IL): legacy
IL is assembly language for PLCs. Popular in the 1990s when controller memory was measured in kilobytes. Now practically unused since ST does the same thing more readably.
Which language to choose: comparison table
| Language | Type | Complexity | Best for | Support |
|---|---|---|---|---|
| LD | Graphical | Low | Discrete logic | All PLCs |
| FBD | Graphical | Low | Analog processing | All PLCs |
| ST/SCL | Text | Medium | Math, arrays, recipes | Most PLCs |
| SFC | Graphical | Medium | Sequences, batch | Siemens, Mitsubishi |
| IL | Text | High | Obsolete | Limited |
Recommendation: start with LD for simple tasks, move to ST for complex calculations.
Frequently Asked Questions
Which language should I learn first?
Ladder Diagram. It is the most widespread, supported by all controllers, and understood by people with electrical engineering backgrounds.
Can I mix languages in one project?
Yes. Most modern environments (TIA Portal, GX Works3, ISPSoft) let you create different program blocks in different languages.
What is the difference between SCL and ST?
Essentially none. SCL is Siemens' name for Structured Text. Syntax differs slightly but the logic is identical.
Do I need to know all five languages?
No. For 90% of tasks, LD + ST is sufficient. FBD is useful for analog signals. SFC is only for batch processes. IL is not needed for new projects.
Where can I learn PLC programming?
Free: TIA Portal Basic with built-in PLCSIM simulator. Courses: Siemens SCE (Siemens Certified Education) — partner centers available in Ukraine.
Summary
IEC 61131-3 provides five languages, but in practice two suffice: LD for discrete logic and ST for calculations. Choose the language for the task, not the trend.
Controllers supporting all IEC languages: Siemens S7-1200, Mitsubishi FX5U. Budget option with LD/FBD/ST: Delta DVP.