You are on page 1of 6

IEC61131-3

This article gives a brief overview the PLC Software IEC1131-3 (also referred to as
through this document by its full title IEC61131-3) and covers the following:

¾ Why the IEC 61131-3 standard was developed,

¾ The languages and concepts defined in the standard,

¾ How to obtain further information

Why was this standard necessary?

During the last ten to fifteen years a wide range of different programming techniques has
been used to write programs for industrial control applications and for Programmable
Logic Controllers (PLCs). Control applications have been developed in BASIC, FORTH,
C, Structured English, Instruction List and numerous other proprietary languages
including various dialects of Ladder programming . Unfortunately, the only thing that can
be said of all of these programming languages is that they are all different. For people
involved with such systems from technicians, maintenance personnel, system designers
to plant managers, this results in inefficient use of time and money. There is clearly a
waste of human resources involved in training staff in skills in so many different control
languages.

Fortunately the international industrial community recognized that a new standard for
programmable logic controllers was required. A working group within the International
Electro-technical Commission (IEC) was set up to look at the complete design of
programmable logic controllers, including the hardware design, installation, testing,
documentation, programming and communications. The IEC as a sister organization to
the International Standardization Organization (ISO) based in Geneva, has committees
and working groups formed from representatives put forward by standardization bodies
of most industrial countries of the world.

During the early 1990s, the IEC published various parts of the IEC61131 standard that
covers the complete life-cycle of the Programmable Logic Controllers (PLCs), these are:

Part 1 General information Definition of basic terminology and concepts- published


1992

Part 2 Equipment requirements and tests Electronic and mechanical construction


and verification tests. - published 1992

Part 3 Programmable languages PLC software structure, languages and program


execution. -published 1993
Part 4 User guidelines Guidance on selection, installation, maintenance of PLCs. -
published 1995

Part 5 Messaging service specification Software facilities to communicate with other


devices using communications based on MAP Manufacturing Messaging Services. -
published 1998

Part 6 Communications via fieldbus Software facilities of PLC communications using


IEC fieldbus -Awaiting completion of fieldbus standards

Part 7 Fuzzy control programming Software facilities, including standard function


blocks for handling fuzzy logic within PLCs - published 1997

Part 8 Guidelines for the implementation of languages for programmable controllers


Application and implementation guidelines for the IEC61131-3 languages. -
published 1999

The IEC recognise that industrial instrumentation and control systems need an 'open
systems' approach to build large systems using equipment from different manufacturers.
Until the IEC 61131-3 standard was published in March 1993, there was no suitable
standard that defined the way control systems such as PLCs could be programmed.
Ladder Programming has become as one of the most popular graphical languages for
programming PLCs but unfortunately had a number of problems.

Deficiencies of Ladder Programming

Conventional ladder programming has a number of deficiencies:

1. The ladder symbols and facilities vary between different PLC products.
2. Poor facilities for structured or hierarchical program decomposition,
3. Limited facilities for software re-use,
4. Poor facilities for addressing and manipulating data structures,
5. Limited facilities for building complex sequences,
6. Limited control over program execution,
7. Facilities for arithmetic operations are cumbersome.

For people who work with PLCs everyday, this summary may seem to be somewhat
harsh. With very good programming standards, use of program generators, off-line
documentation tools and the application of information technology (IT) using databases
to manage data addressing and so on, many of these deficiencies can be circumvented
to some degree but never completely ignored. The IEC61131-3 PLC languages do not
exhibit these weaknesses and will significantly improve the quality of PLC software.

Features of IEC 61131-3 PLC Software Standard

The major new features offered by IEC 61131-3 are:


The IEC 61131-3 encourages well structured, 'top-down' or 'bottom-up' program
development. The standard allows a program to be broken down into functional
elements that are referred to as program organisation units or POUs. POUs include
functions, function blocks and programs.

The standard requires that there is strong data typing. This means that the IEC
languages reduce programming errors where a programmer erroneously attempts to
write the wrong type of data to a variable.

Facilities are provided so that different parts of a program can be executed at different
times, at different rates and in parallel, i.e. there is support for full execution control, i.e.
different parts can scan at different rates under the control of 'tasks'.

There is full support for describing sequences so that complex sequential behaviour
can be easily broken down using a concise graphical language called Sequential
Function Chart. This allows a sequence to be described in terms of steps, their actions
and transitions between steps.

There is support for defining data structures so that data elements that are associated
can be passed between different parts of a program as if they were a single entity. It is
then possible to pass complex information as a single variable between different
program organisation units. This improves program readability and ensures that
associated data is always accessed correctly.

The standard provides flexible language selection, i.e. a set of three graphical and two
textual languages for expressing different parts of a control application. The system
designer is free to choose the language that is most suitable to solve a part of an
application program. Different parts of a program can be expressed in any of the
languages.

IEC61131-3 provides standardised languages and methods of program execution so


that a wide range of technological problems can be programmed as vendor-independent
software elements.

Features of IEC 61131-3 Languages

Structured Text (ST) - A high level textual language that encourages structured
programming. It has a language structure (syntax) that strongly resembles PASCAL and
supports a wide range of standard functions and operators. The standard includes a
formal syntax definition of ST.
Fig 1 Structured Text Language

Function Block Diagram (FBD) - A graphical language for depicting signal and
data flows through function blocks - re-usable software elements. FBD is very useful for
expressing the interconnection of control system algorithms and logic.

Fig 2 Function Block Diagram

Ladder Diagram (LD) - A graphical language that is based on the relay ladder logic
- a technique commonly used to program current generation PLCs. However, the IEC
Ladder Diagram language also allows the connection of user defined function blocks and
functions and so can be used in a hierarchical design.
Fig 3 Ladder Diagram Language

Instruction List (IL) - A low level 'assembler like' language that is based on similar
instruction list languages found in a wide range of today's PLCs.

Fig 4 Instruction List Language

Sequential Function Chart (SFC) - A graphical language for depicting sequential


behaviour of a control system. It is used for defining control sequences that are time-
and event-driven. This is an extremely effective graphical language for expressing both
the high level sequential parts of a control program as well as programming low-level
sequences, e.g. to program an interface to a device.
Fig 5 Sequential Function Chart Language

You might also like