0% found this document useful (0 votes)
293 views4 pages

IEC 61131-3: A Standard Programming Resource: Common Elements

IEC 61131-3 is an international standard that defines a unified suite of programming languages for industrial automation. It consists of common elements like data typing and variables as well as four defined programming languages. The standard defines a software model of configurations, resources, and tasks. Programs are built from functions and function blocks, which are reusable programming units that can keep track of past states.

Uploaded by

Minh Pham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
293 views4 pages

IEC 61131-3: A Standard Programming Resource: Common Elements

IEC 61131-3 is an international standard that defines a unified suite of programming languages for industrial automation. It consists of common elements like data typing and variables as well as four defined programming languages. The standard defines a software model of configurations, resources, and tasks. Programs are built from functions and function blocks, which are reusable programming units that can keep track of past states.

Uploaded by

Minh Pham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

IEC 61131-3: a standard programming resource

IEC 61131-3 is the first real endeavor to standardize This means that their names can be reused in other parts
programming languages for industrial automation. With its without any conflict, eliminating another source of errors.
worldwide support, it is independent of any single If the variables should have global scope, they have to be
company. declared as such. Parameters can be assigned an initial
value at start up and cold restart, in order to have the right
IEC 61131-3 is the third part of the IEC 61131 family, and setting.
is a specification of the syntax and semantics of a unified
suite of programming languages, including the overall Configuration, Resources and Tasks
software model and a structuring language. To understand these better, let us look at the software
It consists of: model, as defined in the standard (see below).
 Part 1: General Overview Configuration
 Part 2 Equipment Requirements & Tests Resource Resource
 Part 3 Programming Languages
 Part 4 User Guidelines Task Task Task Task FB
Function
 Part 5 Communications Block
 Part 6 Functional Safety
 Part 7 Fuzzy Control Programming Program Program Program Program
FB FB FB FB
 Part 8 Application Guidelines
 Part 9 Communication Interface Execution
control path

Another elegant view is by splitting the standard in two Access path


parts (see figure 1):
1. Common Elements At the highest level, the entire system required to solve a
2. Programming Languages particular control problem can be formulated as a
Configuration, including the arrangement of the hardware,
The IEC 61131-3 Standard memory addresses for I/O channels and system
capabilities.
Common Elements Within a configuration one can define one or more
Resources. One can look at a resource as a processing
facility that is able to execute IEC programs.
Within a resource, one or more Tasks can be defined.
Tasks control the execution of a set of programs and/or
Programming Languages
function blocks. These can either be executed periodically
or upon the occurrence of a specified trigger, such as the
change of a variable.
Programs are built from a number of different software
elements written in any of the IEC defined languages.
Common Elements Typically, a program consists of a network of Functions
Data Typing (like ADD(ition), SINus and COSinus) and Function
Within the common elements, the data types are defined. Blocks, which are able to exchange data. Function and
Data typing prevents errors in an early stage. It is used to Function Blocks are the basic building blocks, containing a
define the type of any parameter used. This avoids for datastructure and an algorithm.
instance dividing a Date by an Integer. Function Blocks contain data as well as the algorithm, so
Common datatypes are Boolean, Integer, Real and Byte they can keep track of the past. They have a well-defined
and Word, but also Date, Time_of_Day and String. Based interface and hidden internals, like an IC or black box. In
on these, one can define own personal data types, known this way they give a clear separation between different
as derived data types. In this way one can define an analog levels of programmers, or maintenance people.
input channel as data type, and re-use this over an over A temperature control loop, or PID, is an excellent
again. example of a Function Block. Once defined, it can be used
over and over again, in the same program, different
Variables programs, or even different projects. This makes them
Variables are only assigned to explicit hardware addresses highly re-usable.
(e.g. input and outputs) in configurations, resources or Function Blocks can be written in any of the IEC
programs. In this way a high level of hardware languages, and in most cases even in “C” or C++. In this
independency is created, supporting the reusability of the way they can be defined by the user.
software.
The scopes of the variables are normally limited to the
organization unit in which they are declared, e.g. local.
A conventional PLC contains one resource, running one Sequential Function Chart, SFC
task, controlling one program, running in a closed loop.
IEC 61131-3 adds much to this, making it open to the
future. A future that already includes multi-processing and Step 1 N FILL
event driven programs.
IEC 61131-3 is suitable for a broad range of applications,
without having to learn additional programming Transition 1
languages.
Step 2 S Empty
Program Organization Units
Within IEC 61131-3, the Programs, Function Blocks and
Functions are called Program Organization Units, POUs. Transition 2

Functions Step 3
IEC has defined standard functions and user defined
functions. Standard functions are for instance ADD(ition),
ABS (absolute), SQRT, SINus and COSinus. User defined
functions, once defined, can be used over and over again. SFC describes graphically the sequential behavior of a
control program. With this it structures the internal
Function Blocks, FBs organization of a program, and helps to decompose a
Function Blocks are the equivalent to Integrated Circuits, control problem into manageable parts, while maintaining
ICs, representing a specialized control function. They the overview.
contain data as well as the algorithm, so they can keep SFC consists of Steps, linked with Action Blocks and
track of the past (which is one of the differences w.r.t. Transitions. Each step represents a particular state of the
Functions). They have a well-defined interface and hidden systems. A transition is associated with a condition, which,
internals, like an IC or black box. In this way they give a when true, causes the step before the transition to be
clear separation between different levels of programmers, deactivated, and the next step to be activated. Steps are
or maintenance people. linked to action blocks, performing a certain control
A temperature control loop, or PID, is an excellent action. Each element can be programmed in any of the IEC
example of a Function Block. Once defined, it can be used languages, including SFC itself.
over and over again, in the same program, different One can use alternative sequences and parallel sequences,
programs, or even different projects. This makes them such as commonly required in batch applications.
highly re-usable. Because of its general structure, SFC provides also a
Function Blocks can be written in any of the IEC communication tool, combining people of different
languages, and in most cases even in “C”. It this way they backgrounds, departments or countries.
can be defined by the user. Derived Function Blocks are
based on the standard defined FBs, but also completely Programming Languages
new, customized FBs are possible within the standard: it Within the standard four programming languages are
just provides the framework. defined. This means that their syntax and semantics have
been defined, leaving no room for dialects. Once you have
The interfaces of functions and function blocks are learned them, you can use a wide variety of systems based
described in the same way: on this standard. The languages consist of two textual and
FUNCTION_BLOCK Example two graphical versions:
Textual:
VAR_INPUT:
X : BOOL;  Instruction List, IL
Y : BOOL;  Structured Text, ST
END_VAR Graphical:
VAR_OUTPUT
 Ladder Diagram, LD
Z : BOOL;  Function Block Diagram, FBD
END_VAR

(* statements of functionblock body *) Instruction List (IL) Structured Text (ST)


LD A
END_FUNCTION_BLOCK ANDN B C:= A AND NOT B
ST C
The declarations above describe the interface to a function
block with two Boolean input parameters and one Boolean
Function Block Diagram
output parameter. Ladder Diagram
(FBD)
(LD)
Programs AND
With the above-mentioned basic building blocks, one can A B C
A C
say that a program is a network of Functions and Function -| |--|/|----------------( )
Blocks. A program can be written in any of the defined B
programming languages.

In the above figure, all four languages describe the same


simple program part.
The choice of programming language is dependent on: Implementations
 the programmers’ background The overall requirements of IEC 61131-3 are not easy to
 the problem at hand fulfill. For that reason, the standard allows partial
 the level of describing the problem implementations in various aspects. This covers the
 the structure of the control system number of supported languages, functions and function
 the interface to other people / departments blocks. This leaves freedom at the supplier side, but a user
should be well aware of it during his selection process.
Ladder Diagram has its roots in the USA. It is based on Also, a new release can have a dramatically higher level of
the graphical presentation of Relay Ladder Logic. implementation.
Instruction List is its European counterpart. As textual Many current IEC programming environments offer
language, it resembles assembler. everything you expect from modern environments: mouse
Function Block Diagram is very common to the process operation, pull down menus, graphical programming
industry. It expresses the behavior of functions, function screens, support for multiple windows, built in hypertext
blocks and programs as a set of interconnected graphical functions, and verification during design. Please be aware
blocks. It looks at a system in terms of the flow of signals that this is not specified within the standard itself: it is one
between processing elements. of the parts where suppliers can differentiate.
Structured Text is a very powerful high-level language
with its roots in Ada, Pascal and “C”. It contains all the The 3rd edition and Object Oriented features
essential elements of a modern programming language, With the release of the 3rd edition in 2013, object oriented
including selection branches (IF-THEN-ELSE and CASE features were added to the specification. With this, classes,
OF) and iteration loops (FOR, WHILE and REPEAT). method, interfaces and namespaces became part of the
These elements can also be nested. specification, as well as namespaces, all linking it to a new
It can be used excellently for the definition of complex generation of software programmers, as well as to other
function blocks, which can be used within any of the other software tools.
languages.
Conclusion
Program example in ST: The technical implications of the IEC 61131-3 standard are
I:=25; high, leaving enough room for growth and differentiation.
WHILE J<5 DO IEC 61131-3 impacted the whole industrial control
Z:= F(I+J); industry: not only the conventional PLC market, but also
END_WHILE the motion control market, distributed systems and
IF B_1 THEN softlogic / PC based control systems, including PACs. And
%QW100:= INT_TO_BCD(Display) the areas are still growing, including safety,
ENDIF communication and exchange.
Having a standard over such a broad application area,
CASE TW OF
1,5: TEMP := TEMP_1; brings numerous benefits for users / programmers. The
2: TEMP := 40; benefits for adopting this standard are various, depending
4: TEMP := FTMP(TEMP_2); on the application areas. Just to name a few for the
ELSE mindset:
TEMP := 0;
B_ERROR :=1;  reduced waste of human resources, in training,
END_CASE debugging, maintenance and consultancy;
 creating a focus to problem solving via a high level of
software reusability;
Top-down vs. bottom-up
 reduced misunderstanding and errors;
 programming techniques usable in a broad
environment: general industrial control;
Top Down
 combining different components from different
Common Elements programs, projects, locations, companies and/or
countries.

Programming Languages
Bottom Up

Also, the standard allows two ways of developing your


program: top down and bottom up. Either you specify your
whole application and divide it into sub parts, declare your
variables, and so on. Or you start programming your
application at the bottom, for instance via derived
functions and function blocks. Whichever you choose, the
development environment will help you through the whole
process.
PLCopen enhancements of the Standard
PLCopen creates efficiency in industrial automation through working groups initiated the next step by adding the OPC
the harmonization and integration of logic, motion, and UA client functionality in the controller by defining a set of
safety, combined with communication and exchange. Function Blocks for IEC61131-3. This specification was
The created efficiency is in the development of the released in 2014 with an update in 2016.
application software, the life-cycle cost of the equipment, the
training of operating and maintenance personnel as well as TC5 - Safe Software prepares recommendations for
of the software engineers. applying the IEC 61131-3 standard to safety related
As vendor- and product-independent worldwide association, applications, esp. focused to machines, and the new safety
PLCopen is depending on its income through its membership standards IEC 61508 and 61511 as well as IEC 62061. In
fees. For this, PLCopen supports a multi-level membership, addition, it provides guidelines for the user to use safety
ranging from suppliers to educational institutes. PLCopen aspects within their applications, supported by their
strongly supports the user community. For this it created development environments, as well as library definitions of
additional membership categories. Function Blocks for Safety applications.

Technical results TC6 - XML worked on the specification of XML schemes


The Technical Committees, TCs, with representatives of for all languages, as well as full projects. This specification
PLCopen members, work on specific items. provides the basis for exchange, as well as coupling to other
software tools, including higher-level development tools,
Within TC1 - Standards, PLCopen collects proposals from simulation tools, documentation tools, and verification tools.
its members for the IEC 65B WG7 working group, develops The PLCopen XML specification will become an integral
a joint position, and distributes related information. This was part of the IEC 61131 specifications. The international
specifically focused to the second edition of the standard, standard IEC 61131-10 is expected to be published in 2018.
released in 2003, and now to the third edition, which was
released in 2013. Promotional Events
An important task of PLCopen is to inform users /
TC2 - Functions defines common libraries of Function programmers about the benefits of standardized industrial
(Blocks) for specific application areas. Examples are the control programming. This is done via:
library definitions of Function Blocks for Motion Control.
This standardization integrates motion control with industrial  the PLCopen website: www.PLCopen.org
control. As such, it provides a common look-and-feel  publication of a free electronic newsletter
towards the users: programmers, as well as installation and  publications in the press
maintenance people. With multiple implementations of this  participation at conferences and shows
library, reusability of software and scaling of the control
system is much easier, even across different architectures
and / or controller brands. The Promotional Committees PC1, PC3 PC4, PC5 and
PC6 support these activities.
Certification & Conformity testing
TC3 - Certification defines a certification system for IEC PC2 - Common training has defined a common basis for
61131-3 PSEs, Program Support Environments training. This includes certification. In this way, certified
(development environments). Each PSE can be tested to training centres for training on IEC 61131-3 can be easily
show that it complies with a PLCopen specified subset of the identified.
IEC 61131-3 standard. For this, several levels are defined Although there are guidelines for many programming
with Conformity Level, CL as the highest level. languages, these are nearly non-existent for the important
In addition Reusability Level, RL, is dedicated to making area of industrial control, e.g. IEC 61131-3 and its PLCopen
the programming units functions and function blocks extensions. Therefore PLCopen initiated the development of
reusable on a different PSE in the same programming Software Construction Guidelines.
language.
Historically there exists an entry level called Base Level, to Benefits of Membership
show commitment to the standard. A membership of PLCopen has many benefits for users,
The compliance test procedure and the accreditation vendors, and institutes. By joining PLCopen, one makes a
procedure for test laboratories have been established. clear statement about commitment to open architectures. In
Independent test laboratories have been accredited and an addition, one can participate in the committees, and as such
increasing number of products have been certified. For a have upfront information as well as influence on the work
complete list please refer to the website www.PLCopen.org . done, and use the PLCopen logos.
The annual contribution depends on voting and non-voting
TC4 - Communications works on the relation between rights, the number of relevant employees active, and the
communication and programming languages. A working nature of the organization. The different types are:
item is the mapping of the IEC 61131-3 software model to  Companies: commercial organizations active in the IC
the OPC UA information model, leading to a standard way  Users: focused to the application and usage of IC
how OPC UA server-based controllers expose data  System Integrators / Re-sellers: added value is not in the
structures and function blocks to OPC UA clients like HMIs. IC or its programming environment
This work resulted in the specification OPC UA Information  Non-profit organizations
Model for IEC 61131-3.  Educational institutes
From the beginning it was clear that integrating the OPC UA For more information, please check www.PLCopen.org.
server in the controller was only the first step. So the

You might also like