IEC 61131

Posted 15 Feb 2018 by Nikolay
International Standard IEC 61131
International Standard IEC 61131

With the introduction of the international standard IEC 61131 a basis has been created for uniform PLC programming taking advantage of the modern concepts of software technology.

The International Standard IEC 61131 applies to programmable controllers (PLC) and their associated peripherals, Human-machine interfaces (HMIs), etc. which have as their intended use the control and command of machines and industrial processes.

IEC 61131 consists of some parts, which summarize the requirements of modern PLC systems. These requirements concern the hardware and the programming system.

IEC 61131-1 General information

Establishes the definitions and identify the principal characteristics relevant to the selection and application of programmable controllers and their associated peripherals.

IEC 61131-2 Equipment requirements and tests

Specifies equipment requirements and related tests for programmable controllers (PLC) and their associated peripherals.

IEC 61131-3 Programming Languages

The third part defines, as a minimum set, the basic programming elements, syntactic and semantic rules for the most commonly used programming languages. This includes the graphical languages Ladder Diagram and Functional Block Diagram, and the textual languages Instruction List and Structured Text, as well as means by which manufacturers may expand or adapt those basic sets to their own programmable controller implementations.

The IEC61131-3 programming language specification addresses numerous aspects of programmable controllers, including the operating system execution, data definitions, programming languages, and instruction set. Components of the IEC61131-3 specification are categorized by the specification as required, optional, or extensions. By so doing, the IEC61131-3 specification provides a minimum set of functionality that can be extended to meet end user application needs. The downside to this approach is that each programmable control system vendor may implement different components of the specification or provide different extensions.

IEC 61131-4 User Guidelines

A technical report providing general overview information and application guidelines of the standard for the end user of programmable controllers.

IEC 61131-5 Messaging service specification

Defines the data communication between programmable controllers and other electronic systems using the Manufacturing Message Specification (MMS), according to International Standard ISO/IEC 9506.

IEC 61131-6 Functional Safety

This Part of the IEC 61131 series specifies requirements for programmable controllers (PLCs) and their associated peripherals, as defined in Part 1, which are intended to be used as the logic subsystem of an electrical/electronic/programmable electronic (E/E/PE) safety-related system.

IEC 61131-7 Fuzzy control programming

Defines basic programming elements for fuzzy logic control as used in programmable controllers.

IEC 61131-8 Guidelines for the application and implementation of programming languages

The Technical Report (TR) provides a software developers guide for the programming languages defined in part 3.

IEC 61131-9 Single-drop digital communication interface for small sensors and actuators (SDCI)

This standard is also known as “IO-Link” (Currently CDIS - Committee Draft IS) and is coupled to a communication interface.

IEC 61131-3 Overview

IEC61131-3 not only describes the PLC programming languages but also offers comprehensive concepts and guidelines for creating PLC projects.

IEC 61131-3 is the first vendor independent standardized programming language for industrial automation. Established by the International Electrotechnical Commission (IEC) a worldwide standard organization founded in 1906 and recognized worldwide for standards in the controls industry by over 50 countries. The standard is already well established in Europe and is rapidly gaining popularity in North America and Asia as the programming standard for industrial and process control.

The adoption of IEC 61131-3 by the industry is driven by the increasing software complexity of control and automation requirements. The time to create, labor cost, and maintainability of control software has a major impact on control projects which can be improved using the IEC 61131-3 vendor independent programming language standard. Applying a standard programming language has a positive impact on the software life-cycle that includes requirements analysis, design, construction, testing (validation), installation, operation, and maintenance.

The IEC 61131-3 standard combined with new powerful Freescale chip architectures enables an entire controller to be delivered in an embedded device. Control programs can run distributed and independently rather than concentrated in large controllers. No longer are thousands of lines of control programs required running in one controller for complex automation applications. This increases performance, improves reliability, and simplifies programs.

IEC 61131-3 provides multiple language support within a control program. The control program developer can select the language that is best suited to a particular task, greatly increasing their productivity. Plus with a standardized programming interface that is completely independent of the hardware platform, users can greatly reduce the cost of program maintenance and training across company wide automation applications. IEC 61131-3 is hardware independent.

Terms of the standard

Data Typing

Within the common elements, the data types are defined. Data typing prevents errors in an early stage. It is used to define the type of any parameter used. This avoids, for instance, dividing a Date by an Integer. Common data types are Boolean, Integer, Real, Byte and Word, but also Date, Time-of-Day and String. Based on these, one can define their own personal data types, known as derived data types.


Variables are used to store and process information, variables are assigned to one of the data types. Data variables in IEC61131-3 may be defined so that they are accessible to all programs within a resource or controller, or limited access is provided only to the functions or routines within a single program.


IEC 61131-3 is the international standard for controller programming languages. As such, it specifies the syntax, semantics and display for the following suite of PLC programming languages:

  • Ladder diagram (LD)
  • Sequential Function Charts (SFC)
  • Function Block Diagram (FBD)
  • Structured Text (ST)
  • Instruction List (IL)

Ladder Diagram has its roots in the USA. It is based on the graphical presentation of Relay Ladder Logic.

Instruction List is its European counterpart. As a textual language, it resembles assembler.

Function Block Diagram is very common to the process industry. It expresses the behavior of functions, function blocks and programs as a set of interconnected graphical blocks, like in electronic circuit diagrams. It looks at a system in terms of the flow of signals between processing elements. Structured Text is a very powerful language with its roots in Ada, Pascal and “C”. It is well suited for, and can be used to define the nature of complex Function Blocks, which can then be used within any of the other languages.




Join the discussion