Vous êtes sur la page 1sur 4

PLCopen

for efficiency in automation

IEC 61131-3: a standard programming resource


IEC 61131-3 is the first real endeavor to standardize input channel as data type, and re-use this over an over
programming languages for industrial automation. With its again.
worldwide support, it is independent of any single
company. Variables
Variables are only assigned to explicit hardware addresses
IEC 61131-3 is the third part of the IEC 61131 family. (e.g. input and outputs) in configurations, resources or
This consists of: programs. In this way a high level of hardware
• Part 1: General Overview independency is created, supporting the reusability of the
• Part 2 Hardware software.
• Part 3 Programming Languages The scopes of the variables are normally limited to the
• Part 4 User Guidelines organization unit in which they are declared, e.g. local.
• Part 5 Communication This means that their names can be reused in other parts
• Part 7 Fuzzy Logic without any conflict, eliminating another source of errors,
• Part 8 Application Guidelines e.g. the scratchpad. If the variables should have global
scope, they have to be declared as such (VAR_GLOBAL).
There are many ways to look at part 3 of this standard. Just Parameters can be assigned an initial value at start up and
to name a few: cold restart, in order to have the right setting.
• the result of the Task Force 3, Programming
Languages, within IEC TC65 SC65B Configuration, Resources and Tasks
• the result of hard work by 7 international companies To understand these better, let us look at the software
adding tens of years of experience in the field of model, as defined in the standard (see below).
industrial automation Configuration
• approx. 200 pages of text, with 60-something tables, Resource Resource
including features tables
• the specification of the syntax and semantics of a Task Task Task Task FB
Function
unified suite of programming languages, including the Block
overall software model and a structuring language.
Program Program Program Program

Another elegant view is by splitting the standard in two FB FB FB FB

parts (see figure 1):


Execution
1. Common Elements control path
2. Programming Languages
Access path

The IEC 61131-3 Standard


At the highest level, the entire software required to solve a
particular control problem can be formulated as a
Common Elements Configuration. A configuration is specific to a particular
type of control system, including the arrangement of the
hardware, i.c. processing resources, memory addresses for
I/O channels and system capabilities.
Programming Languages 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
Let’s look more in detail to these parts: function blocks. These can either be executed periodically
or upon the occurrence of a specified trigger, such as the
Common Elements change of a variable.
Data Typing Programs are built from a number of different software
Within the common elements, the data types are defined. elements written in any of the IEC defined languages.
Data typing prevents errors in an early stage. It is used to Typically, a program consists of a network of Functions
define the type of any parameter used. This avoids for and Function Blocks, which are able to exchange data.
instance dividing a Date by an Integer. Function and Function Blocks are the basic building
Common datatypes are Boolean, Integer, Real and Byte blocks, containing a datastructure and an algorithm.
and Word, but also Date, Time_of_Day and String. Based Let’s compare this to a conventional PLC: this contains
on these, one can define own personal data types, known one resource, running one task, controlling one program,
as derived data types. In this way one can define an analog running in a closed loop. IEC 61131-3 adds much to this,
making it open to the future. A future that includes multi- Sequential Function Chart, SFC
processing and event driven programs. And this future is
not so far: just look at distributed systems or real-time
control systems. IEC 61131-3 is suitable for a broad range
Step 1 N FILL
of applications, without having to learn additional
programming languages.
Transition 1
Program Organization Units
Within IEC 61131-3, the Programs, Function Blocks and Step 2 S Empty
Functions are called Program Organization Units, POUs.

Functions Transition 2
IEC has defined standard functions and user defined
functions. Standard functions are for instance ADD(ition), Step 3
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
Function Blocks, FBs control program. It is derived from Petri Nets and IEC 848
Function Blocks are the equivalent to Integrated Circuits, Grafcet, with the changes necessary to convert the
ICs, representing a specialized control function. They representation from a documentation standard to a set of
contain data as well as the algorithm, so they can keep execution control elements.
track of the past (which is one of the differences w.r.t. SFC structures the internal organization of a program, and
Functions). They have a well-defined interface and hidden helps to decompose a control problem into manageable
internals, like an IC or black box. In this way they give a parts, while maintaining the overview.
clear separation between different levels of programmers, SFC consists of Steps, linked with Action Blocks and
or maintenance people. Transitions. Each step represents a particular state of the
A temperature control loop, or PID, is an excellent systems being controlled. A transition is associated with a
example of a Function Block. Once defined, it can be used condition, which, when true, causes the step before the
over and over again, in the same program, different transition to be deactivated, and the next step to be
programs, or even different projects. This makes them activated. Steps are linked to action blocks, performing a
highly re-usable. certain control action. Each element can be programmed in
Function Blocks can be written in any of the IEC any of the IEC languages, including SFC itself.
languages, and in most cases even in “C”. It this way they One can use alternative sequences and even parallel
can be defined by the user. Derived Function Blocks are sequences, such as commonly required in batch
based on the standard defined FBs, but also completely applications. For instance, one sequence is used for the
new, customized FBs are possible within the standard: it primary process, and the second for monitoring the overall
just provides the framework. operating constraints.
Because of its general structure, SFC provides also a
The interfaces of functions and function blocks are communication tool, combining people of different
described in the same way: backgrounds, departments or countries.

FUNCTION_BLOCK Example
Programming Languages
VAR_INPUT: Within the standard four programming languages are
X : BOOL; defined. This means that their syntax and semantics have
Y : BOOL; been defined, leaving no room for dialects. Once you have
END_VAR
learned them, you can use a wide variety of systems based
VAR_OUTPUT on this standard. The languages consist of two textual and
Z : BOOL; two graphical versions:
END_VAR Textual:
(* statements of functionblock body *) • Instruction List, IL
• Structured Text, ST
END_FUNCTION_BLOCK Graphical:
The declarations above describe the interface to a function • Ladder Diagram, LD
block with two Boolean input parameters and one Boolean • Function Block Diagram, FBD
output parameter.
Programs
With the above-mentioned basic building blocks, one can
say that a program is a network of Functions and Function
Blocks. A program can be written in any of the defined
programming languages.
Instruction List (IL) Structured Text Top-down vs. bottom-up
LD A
ANDN B C:= A AND NOT B
ST C Top Down

Function Block Diagram Common Elements


Ladder Diagram
(FBD)
(LD)
AND
A B C
A Programming Languages
-| |--|/|----------------( )
Bottom Up
B

Also, the standard allows two ways of developing your


program: top down and bottom up. Either you specify your
In the above figure, all four languages describe the same whole application and divide it into sub parts, declare your
simple program part. variables, and so on. Or you start programming your
The choice of programming language is dependent on: application at the bottom, for instance via derived
• the programmers’ background functions and function blocks. Whichever you choose, the
• the problem at hand development environment will help you through the whole
• the level of describing the problem process.
• the structure of the control system
• the interface to other people / departments Implementations
The overall requirements of IEC 61131-3 are not easy to
All four languages are interlinked: they provide a common fulfill. For that reason, the standard allows partial
suite, with a link to existing experience. In this way they implementations in various aspects. This covers the
also provide a communication tool, combining people of number of supported languages, functions and function
different backgrounds. 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, like in electronic circuit diagrams. It looks at a that this is not specified within the standard itself: it is one
system in terms of the flow of signals between processing of the parts where suppliers can differentiate.
elements.
Structured Text is a very powerful high-level language Conclusion
with its roots in Ada, Pascal and “C”. It contains all the
The technical implications of the IEC 61131-3 standard are
essential elements of a modern programming language,
high, leaving enough room for growth and differentiation.
including selection branches (IF-THEN-ELSE and CASE
This makes this standard suitable to evolve well into the
OF) and iteration loops (FOR, WHILE and REPEAT).
next century.
These elements can also be nested.
IEC 61131-3 will have a great impact on the whole
It can be used excellently for the definition of complex
industrial control industry. It certainly will not restrict
function blocks, which can be used within any of the other
itself to the conventional PLC market. Nowadays, one sees
languages.
it adopted in the motion control market, distributed
systems and softlogic / PC based control systems,
Program example in ST:
including SCADA packages. And the areas are still
I:=25;
WHILE J<5 DO growing.
Z:= F(I+J); Having a standard over such a broad application area,
END_WHILE brings numerous benefits for users / programmers. The
benefits for adopting this standard are various, depending
IF B_1 THEN
%QW100:= INT_TO_BCD(Display) on the application areas. Just to name a few for the
ENDIF mindset:
• reduced waste of human resources, in training,
CASE TW OF
1,5: TEMP := TEMP_1;
debugging, maintenance and consultancy
2: TEMP := 40; • creating a focus to problem solving via a high level of
4: TEMP := FTMP(TEMP_2); software reusability
ELSE • reduced misunderstanding and errors
TEMP := 0;
B_ERROR :=1; • programming techniques usable in a broad
END_CASE environment: general industrial control
• combining different components from different
programs, projects, locations, companies and/or
countries
PLCopen enhancements of the Standard
PLCopen creates efficiency in industrial automation through TC4 - Communications works on the relation between
the harmonization and integration of logic, motion, and communication and programming languages. A new working
safety, combined with communication and exchange. item is the mapping of the IEC 61131-3 software model to
PLCopen deals together with its members with the the OPC UA information model, leading to a standard way
specification. The PLCopen members implement (parts of) how OPC UA server-based controllers expose data structures
these specifications in their products, supporting transparent and function blocks to OPC UA clients like HMIs. This
environments. work resulted in the specification OPC UA Information
The created efficiency is in the development of the Model for IEC 61131-3.
application software, the life-cycle cost of the equipment, the
training of operating and maintenance personnel as well as of TC5 - Safe Software prepares recommendations for
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 works on the specification of XML schemes for
The Technical Committees, TCs, with representatives of all languages, as well as full projects. This specification will
PLCopen members, work on specific items. provide 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
a joint position, and distributes related information. This was
specifically focused to the second edition of the standard, Promotional Events
which was released at the beginning of 2003, and now to the An important tasks of PLCopen is to inform users /
third edition. programmers about the benefits of standardized industrial
control programming. This is done via:
TC2 - Functions defines common libraries of Function
(Blocks) for specific application areas. Examples are the • the PLCopen website: www.plcopen.org
library definitions of Function Blocks for Motion Control. • publication of a free electronic newsletter
This standardization integrates motion control with industrial • publications in the press
control. As such, it provides a common look-and-feel • participation at conferences and shows
towards the users: programmers, as well as installation and • organization of own conferences, and seminars
maintenance people. With multiple implementations of this
library, reusability of software and scaling of the control The Promotional Committees PC1, PC3 PC4, and PC5
system is much easier, even across different architectures support these activities.
and / or controller brands.
PC2 - Common training has defined a common basis for
Certification & Conformity testing training. This includes certification. In this way, certified
TC3 - Certification defines a certification system for IEC training centres for training on IEC 61131-3 can be easily
61131-3 PSEs, Program Support Environments identified.
(development environments). Each PSE can be tested to
show that it complies with a PLCopen specified subset of the Benefits of Membership
IEC 61131-3 standard. For this, several levels are defined A membership of PLCopen has many benefits for users,
with Conformity Level, CL as the highest level. vendors, and institutes. By joining PLCopen, one makes a
In addition Reusability Level, RL, is dedicated to making clear statement about your commitment to open
the programming units functions and function blocks architectures. In addition, one can participate in the
reusable on a different PSE in the same programming committees, and as such have upfront information as well as
language. influence on the work done, and use the PLCopen logos.
Historically there exists an entry level called Base Level, to The annual contribution depends on voting and non-voting
show commitment to the standard. rights, the number of relevant employees active, and the
Detailed specifications of most of the IEC 61131-3 nature of the organization. The different types are:
languages are already finished. The compliance test • Companies: commercial organizations active in the IC
procedure and the accreditation procedure for test • Users: focused to the application and usage of IC
laboratories have been established. Independent test • System Integrators / Re-sellers: added value is not in the
laboratories have been accredited and an increasing number IC or its programming environment
of products have been certified. For a complete list please
• Non-profit organizations
refer to the website www.plcopen.org .
• Educational institutes
For more information, please check www.plcopen.org.

Vous aimerez peut-être aussi