IEC 61131-3: The PLC Programming Languages Explained
Overview of the IEC 61131-3 standard and its programming languages: Ladder Diagram (LD), Function Block Diagram (FBD), Structured Text (ST), Sequential Function Chart (SFC), and the deprecated Instruction List (IL). With Siemens equivalents.
IEC 61131-3: The PLC Programming Languages Explained
IEC 61131-3 is the international standard that defines programming languages for programmable controllers. First published in December 1993, it was updated to its fourth edition in May 2025. The standard defines four active programming languages — three graphical and one textual — plus a fifth (Instruction List) that was deprecated in 2013 and formally removed in the 2025 edition.
The Five Languages at a Glance
| Language | Type | IEC Name | Siemens Name | Best For |
|---|---|---|---|---|
| LD | Graphical | Ladder Diagram | KOP (Kontaktplan) / LAD | Boolean logic, discrete control |
| FBD | Graphical | Function Block Diagram | FUP (Funktionsplan) / FBD | Continuous process control, analog |
| ST | Textual | Structured Text | SCL (Structured Control Language) | Calculations, data processing, algorithms |
| SFC | Graphical | Sequential Function Chart | GRAPH (S7-Graph) | Step sequences, batch processes |
| IL | Textual | Instruction List | AWL (Anweisungsliste) / STL | Deprecated. Legacy compatibility only |
Ladder Diagram (LD / KOP / LAD)
LD traces its history back over 100 years to relay ladder logic. It was designed to look like electrical schematics so that electricians and maintenance technicians could read and modify PLC programs without learning a "programming language."
Strengths: Intuitive for anyone with electrical background. Excellent for debugging — you can see the power flow visually. Ideal for complex Boolean logic with many interlocks.
Weaknesses: Becomes unwieldy for calculations, string handling, loops, and data processing. A simple IF temperature > 50.0 THEN alarm := TRUE requires multiple elements in LD but one line in ST.
When to use: Discrete manufacturing, machine interlocks, simple conveyor control, any application where maintenance electricians need to troubleshoot the program.
Function Block Diagram (FBD / FUP)
FBD represents logic as interconnected function blocks — similar to circuit diagrams in electronics. Inputs on the left, processing in the middle, outputs on the right.
Strengths: Natural representation for analog processing (PID loops, scaling, signal conditioning). Good for visualizing data flow. Reusable blocks reduce duplication.
Weaknesses: Can become complex when mixing Boolean and analog logic. Less compact than ST for mathematical operations.
When to use: Process control (chemical, pharmaceutical, food & beverage), PID regulation, analog signal processing, and any application involving pre-built function blocks.
Structured Text (ST / SCL)
ST is a high-level textual language based on Pascal. It is the most powerful and flexible IEC 61131-3 language, supporting all standard programming constructs: IF/THEN/ELSE, CASE, FOR, WHILE, REPEAT, arrays, structures, and user-defined types.
Strengths: Compact and readable for calculations. Supports complex data structures, loops, and algorithms. Easiest language for IT/software engineers to learn. No performance disadvantage on modern PLCs (S7-1500 executes native SCL).
Weaknesses: Harder to debug visually than LD — you cannot "see" the power flow. Requires programming knowledge that electricians may not have.
When to use: Mathematical calculations, recipe management, data processing, communication handling, any application where LD/FBD would be excessively complex. Siemens recommends SCL as the preferred language for all new standard blocks on S7-1500.
Sequential Function Chart (SFC / GRAPH)
SFC is a graphical language for modeling sequential processes as a series of steps and transitions. Each step activates specific actions; transitions define the conditions for moving to the next step.
Strengths: Ideal for batch processes, machine sequences, and any process that follows a defined order of operations. The visual representation makes process flow immediately obvious.
Weaknesses: Not suitable for continuous control or Boolean logic. Requires a step-based process model — not every application fits this pattern.
When to use: Batch control (ISA-88/S88), packaging machines with sequential operations, CNC machine tool cycles, wash/clean/fill sequences.
Instruction List (IL / AWL / STL) — Deprecated
IL is a low-level textual language similar to assembly language. It operates on an accumulator model: load a value, perform an operation, store the result.
Status: Deprecated in IEC 61131-3:2013 (3rd edition). Formally removed in IEC 61131-3:2025 (4th edition). Siemens supports IL/AWL/STL on S7-300/400 natively and on S7-1500 in emulation mode only. S7-1200 does not support IL in main OBs.
Why it was removed: IL offered no advantage over ST for new development but was harder to read, maintain, and debug. It was a product of the era when PLCs had limited memory and processing power.
What to do with existing IL code: See our AWL to SCL conversion guide.
Siemens Names vs. IEC Names
| IEC Name | Siemens German | Siemens International | Allen-Bradley |
|---|---|---|---|
| LD | KOP (Kontaktplan) | LAD (Ladder) | Ladder Logic |
| FBD | FUP (Funktionsplan) | FBD | Function Block Diagram |
| ST | SCL (Structured Control Language) | SCL | Structured Text |
| SFC | GRAPH (S7-Graph) | GRAPH | Sequential Function Chart |
| IL | AWL (Anweisungsliste) | STL (Statement List) | — (not supported) |
Mixing Languages in One Project
IEC 61131-3 explicitly allows mixing languages within a single project. Each block (FB, FC, OB) can be written in a different language. This is not a workaround — it is the intended use:
- OB1 in LD/FBD: Visual overview of the program structure, block calls
- FBs in SCL: Complex logic, calculations, data processing
- Sequence FBs in GRAPH: Step-based machine operations
- Simple interlocks in LD: Easy to read for maintenance
The Siemens Programming Guideline recommends this mixed approach: "Use a programming language suitable for the programming task."
How PLCcheck Pro Relates to IEC 61131-3
PLCcheck Pro reads code in IL/AWL/STL and SCL — the two textual languages. It generates documentation that is language-independent and can suggest conversion from the deprecated IL to the recommended ST/SCL.
Frequently Asked Questions
Which language should I learn first?
If you are an electrician or maintenance technician: start with LD (Ladder Diagram). If you are a software engineer or have programming experience: start with ST (Structured Text). Both are essential — learn the other one second.
Is Instruction List really dead?
For new development, yes. IEC formally removed it in 2025. Siemens runs it in emulation mode on S7-1500 (slower). But billions of lines of existing IL/AWL code exist in running plants and will need maintenance for decades. Understanding IL remains a valuable skill for migration and maintenance work.
Can I write a complete program in one language?
Technically yes. Practically no — each language has strengths and weaknesses. A program written entirely in LD becomes unmanageable for calculations. A program entirely in ST is hard to debug for simple Boolean logic. Use the right tool for each task.
Part of the IEC 61131-3 Reference. Maintained by PLCcheck.ai. Not affiliated with Siemens AG or IEC.
Related Articles
Converting Ladder Logic to Structured Text: Why and How
When and how to convert PLC ladder logic (LD/KOP/LAD) to Structured Text (ST/SCL). Covers the benefits, conversion patterns, what to keep in ladder, and practical examples.
8 min read
plc-programmingOptimizing PLC Scan Time: Practical Techniques
Practical techniques for reducing PLC cycle time. Covers code structure, conditional execution, data type selection, optimized data blocks, and interrupt-based architecture.
10 min read
migration-guideConverting S5 AWL to S7 SCL: Step-by-Step
Practical guide for converting Siemens S5 AWL (Instruction List) code to S7 SCL (Structured Text). Includes conversion tables, code examples for bit logic, timers, counters, jumps, and data blocks.
14 min read
Analyze your PLC code with AI
PLCcheck Pro explains, documents, optimizes, and migrates PLC code — automatically.
Try PLCcheck Pro →Not affiliated with Siemens AG. S5, S7, STEP 5, STEP 7, and TIA Portal are trademarks of Siemens AG.