Skip to content

PLC Programming: IEC 61131-3 Languages Guide

PLC Programming: IEC 61131-3 Languages Guide

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.

  1. Step 1: fill tank (open valve, monitor level)
  2. Transition: level reaches 80%
  3. Step 2: heat (turn on heater, monitor temperature)
  4. Transition: temperature reaches 60 degrees C
  5. 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

LanguageTypeComplexityBest forSupport
LDGraphicalLowDiscrete logicAll PLCs
FBDGraphicalLowAnalog processingAll PLCs
ST/SCLTextMediumMath, arrays, recipesMost PLCs
SFCGraphicalMediumSequences, batchSiemens, Mitsubishi
ILTextHighObsoleteLimited

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.

Need a variable frequency drive for your motor?

We'll find the right solution by power, voltage and load type

Browse catalog Consultation

Поширені запитання

Ladder Diagram. It is the most widespread, supported by all controllers, and understood by people with electrical engineering backgrounds.