IEC 61131-3

From Wikipedia, the free encyclopedia

IEC 61131-3 is the third part of the open international standard IEC 61131, and was first published in December 1993 by the IEC. The current (second) edition was published in 2003.

Part 3 of IEC 61131 deals with programming languages and defines two graphical and two textual PLC programming language standards:

The standard also defines both graphical and textual sequential function chart elements to organize programs for sequential and parallel control processing.

[edit] External link

Standard 61131-3 on IEC website, retrieved November 22, 2006


       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 Standardisation Organisation (ISO) based in Geneva, has committees and working groups formed from representatives put forward by standardisation 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
       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
       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
       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
       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
       Fig 5 Sequential Function Chart Language 
               Features of IEC 61131-3 Standard
               Further information and IEC 61131-3 Book
In other languages