IEC 61131
IEC 61131 is an international standard for programmable controllers within Industrial Automation. The standard defines the Architecture, programming languages, software models and configuration principles for PLCs and related automation systems. IEC 61131 forms the technical basis of a large part of modern Industrial Automation, ranging from discrete machine control to complex process installations within energy, water treatment, building management and manufacturing environments.
The standard was developed by the International Electrotechnical Commission (IEC) and consists of multiple parts. The best-known part is IEC 61131-3, which defines the programming languages for industrial control. These languages form the worldwide standard for engineering PLC software and are supported by virtually all major vendors such as Siemens, Schneider Electric, Rockwell Automation, Beckhoff, Omron and Phoenix Contact.
IEC 61131 has had a major impact on the convergence between IT and OT. Whereas PLC programming used to be highly vendor-specific, IEC 61131 introduced uniform programming concepts, standardised data types and modular software structures. As a result, reusability, maintainability and interoperability improved significantly.
⚙️ Structure of the IEC 61131 standard
IEC 61131 consists of multiple parts that together describe the full ecosystem of programmable controllers.
| Part | Topic |
|---|---|
| IEC 61131-1 | General information |
| IEC 61131-2 | Hardware requirements and testing |
| IEC 61131-3 | Programming languages |
| IEC 61131-4 | User guidelines |
| IEC 61131-5 | Communication |
| IEC 61131-6 | Functional safety |
| IEC 61131-7 | Fuzzy Logic |
| IEC 61131-8 | Implementation guidelines |
| IEC 61131-9 | Single-drop digital communication for sensors |
Within industrial environments, IEC 61131-3 is particularly dominant because of its standardisation of programming languages and software architecture.
🧠 IEC 61131-3 programming languages
IEC 61131-3 defines five official programming languages for PLC programming.
Ladder Diagram (LD)
PLC programming language based on Relay logic. Ladder Diagram is widely used within machine building and electrical engineering environments because of its recognisable visual structure.
Characteristics:
- Strongly suited to discrete signals
- Easy to understand for electrical engineers
- Widely applied in legacy installations
- Less suited to complex algorithms
Applications:
- Motor control
- Interlocks
- Safety chains
- Start/stop logic
- Conveyor systems
Function Block Diagram (FBD)
Graphical programming language based on blocks and signal flows.
Characteristics:
- Strong for Process Automation
- Highly readable for control engineering
- Reusable function blocks
- Intuitive for continuous processes
Widely used within:
Structured Text (ST)
Textual high-level programming language similar to Pascal or Ada.
Characteristics:
- Suitable for complex calculations
- Strong support for loops and data structures
- High scalability
- Widely used within modern software-driven PLC platforms
Example:
IF Temperature > 80 THEN
Alarm := TRUE;
END_IF;
Structured Text is increasingly dominant within:
- Motion Control
- Data analysis
- Industrial AI
- Complex recipe handling
- Advanced process logic
Instruction List (IL)
Assembler-like language that was originally part of IEC 61131-3.
IL is now deprecated because of:
- Poor maintainability
- Low readability
- High error sensitivity
- Difficult debugging
Many modern engineering platforms no longer support IL.
Sequential Function Chart (SFC)
Graphical language for sequential process control.
Characteristics:
- Process steps and transitions
- Strong for batch and recipe control
- Good visualisation of process flow
- Support for parallel sequences
Widely used within:
🏭 Architecture within industrial automation
IEC 61131 defines not only languages but also software structures and execution models.
Important components:
| Component | Function |
|---|---|
| Configuration | Full PLC configuration |
| Resource | Runtime environment |
| Task | Scheduling mechanism |
| Program | Application logic |
| Function Block | Reusable logic |
| Function | Static function without memory |
This hierarchy enables modular software development within industrial installations.
⏱ Real-time behaviour and deterministic execution
An essential characteristic of IEC 61131 systems is deterministic execution within Real-time environments.
PLCs typically operate via cyclic scans:
- Input scan
- Program execution
- Output update
- Diagnostics/communication
Cycle times typically vary between:
| Application | Typical cycle time |
|---|---|
| Machine control | 1-20 ms |
| Motion control | <1 ms |
| Process automation | 50-500 ms |
| SCADA-related logic | 100-1000 ms |
Factors that influence performance:
- Logic complexity
- Network load
- Number of IO points
- Use of interrupts
- Communication protocols
- Industrial Ethernet load
Within modern Soft PLCs and virtualised runtimes, interaction with standard IT platforms such as Linux and hypervisors increases. As a result, timing issues, Latency and Jitter become more important.
🔄 Function Blocks and modular software
Function Blocks are one of the most important concepts within IEC 61131.
Properties:
- Internal state storage
- Reusability
- Encapsulation
- Modular design
Examples:
| Function Block | Application |
|---|---|
| PID | Control engineering |
| TON | Timer On Delay |
| CTU | Counter Up |
| Alarm Handler | Alarm management |
| Motor Control | Motor control |
Modern OT environments often build entire libraries of standardised function blocks for:
This improves:
- Engineering efficiency
- Validation
- Maintainability
- Cybersecurity Hardening
- Change Management
🌐 Integration with industrial networks
IEC 61131 systems communicate intensively with industrial networks and protocols.
Commonly used protocols:
| Protocol | Use |
|---|---|
| Modbus TCP | Industrial communication |
| ProfiNET | Real-time Ethernet |
| Ethernet IP | CIP-based communication |
| OPC UA | Platform-independent interoperability |
| EtherCAT | Motion control |
| Profibus | Legacy fieldbus |
| MQTT | IIoT integration |
PLC programs often contain direct couplings with:
This creates increasing dependency between IT and OT networks.
🔐 Cybersecurity implications
IEC 61131 itself contains hardly any cybersecurity mechanisms. The standard was originally developed in a period when industrial networks were largely isolated.
Modern risks:
- Unauthorised PLC program changes
- Manipulation of logic blocks
- Upload/download attacks
- Malware on engineering stations
- Compromise of libraries
- Supply-chain attacks
- Sabotage of process logic
Known attack vectors:
| Vector | Impact |
|---|---|
| Engineering workstation compromise | Modification of PLC logic |
| Insecure protocols | Command injection |
| Remote maintenance | External access |
| USB media | Malware spread |
| Legacy PLCs | No authentication |
Stuxnet was a known example in which IEC 61131-related PLC logic was manipulated within Siemens Step7 environments.
Important Security measures:
- Network Segmentation
- IEC 62443
- Code Signing
- Change control
- RBAC
- Read-only modes
- PLC hardening
- Version Control
- Whitelisting
- Secure Remote Access
Within modern environments, secure engineering workflows are increasingly applied with:
- Multi-user engineering
- Git integration
- Central artifact repositories
- Digital signatures
- Immutable backups
🛡 IEC 61131 and Functional Safety
IEC 61131 is often combined with standards for Functional Safety.
Important relationships:
| Standard | Topic |
|---|---|
| IEC 61508 | Functional safety |
| IEC 61511 | Process safety |
| ISO 13849 | Machine safety |
| IEC 62061 | Safety control |
Safety PLCs often use restricted or certified subsets of IEC 61131 programming languages.
Additional requirements:
- Deterministic Behaviour
- Certified libraries
- Fail-safe design
- Redundancy
- Diagnostic coverage
- Strict validation procedures
Within safety environments, additional requirements apply to:
- Testability
- Verification
- Software Lifecycle Management
- Change management
- Audit trails
🏗 Vendor-specific implementations
Although IEC 61131 defines a standard, significant differences exist between vendors.
Examples:
| Vendor | Platform |
|---|---|
| Siemens | TIA Portal |
| Rockwell | Studio 5000 |
| Beckhoff | TwinCAT |
| Schneider | EcoStruxure Control Expert |
| Codesys | CODESYS Runtime |
Differences arise in, among others:
- Datatype extensions
- Task scheduling
- Compiler optimisations
- Library management
- Debug functionality
- Motion integration
- Safety integration
Full portability between platforms therefore remains limited.
📊 IEC 61131 versus modern software development
IEC 61131 systems are evolving towards modern software engineering principles.
Historical:
- Monolithic PLC programs
- Vendor-locked tooling
- Local engineering
- Limited version control
Modern:
| Traditional PLC model | Modern OT model |
|---|---|
| Standalone PLC | Distributed edge control |
| Vendor-specific | Open architectures |
| Manual deployment | CI/CD-style workflows |
| Ladder-heavy | Structured Text dominant |
| Proprietary interfaces | API integration |
Important trends:
- Object-oriented extensions
- IEC 61499 adoption
- Containerised edge runtimes
- Soft PLCs
- Virtual PLCs
- GitOps for OT
- DevOps principles within industrial automation
Within Industry 4.0 in particular, increasing integration emerges between classic PLC programming and software-driven OT platforms.
⚠️ Limitations of IEC 61131
Despite broad adoption, IEC 61131 has various limitations.
Vendor lock-in
Although the standard aims for standardisation, implementations remain strongly vendor-dependent.
Limited software engineering concepts
Historical PLC programming often lacks:
- Modern dependency management
- Unit testing
- Package management
- Native source control
- Security-by-design
Difficult scalability
Large OT environments CAN lead to:
- Complex dependencies
- Difficult debugging
- Heavy cyclic loads
- Synchronisation issues
Legacy issues
Many older PLC platforms support:
- No encryption
- No Authentication
- Outdated protocols
- No Secure Boot
- No signing
This poses a major risk within modern connected OT networks.
🔍 IEC 61131 in practice
IEC 61131 is today present in virtually all sectors of Critical Infrastructure.
Manufacturing environment
Within production lines, IEC 61131 logic controls:
Water treatment
PLCs control:
- Pumps
- Valves
- Chlorine dosing
- Level control
- Alarm Management
Energy supply
Applications:
- Switchgear
- Turbine control
- Generator regulation
- HVAC in data centres
- Load balancing
Building Automation
Integrations with:
📚 Relationship with other standards
IEC 61131 does not stand alone but forms part of a broader OT Architecture.
Strong relationships exist with:
Together, these standards form the basis of modern industrial automation and IT/OT convergence.
🧾 Conclusion
IEC 61131 has formed the fundamental standard for programmable industrial control for decades. The standard has led to broad standardisation of PLC programming, better interoperability and a more professional software structure within OT environments.
At the same time, industrial automation is shifting further towards software-driven, networked and integrated architectures. This brings new challenges around cybersecurity, lifecycle management, scalability and IT/OT integration.
Despite the rise of modern edge platforms, Virtualisation and IEC 61499, IEC 61131 will remain the dominant programming standard within industrial automation and critical infrastructure for the time being.
