You are on page 1of 91

PLCopen

for efficiency in automation

Introduction in IEC 61131-3


Check also the notes coupled to each slide
for further explanation

Page 1 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

PLCopen TC1 : Standards


links to IEC 61131-3
Harmonizing the way people look to
control
the future is here

Page 2 printed at 1/12/2015

www.PLCopen.org

PLCopen

for efficiency in automation

Fiction?
Imagine
*
*
*
*

you are in industrial control


working with 4 different brands of controls
using different dialects in their programming languages
struggling to match the level of your software engineers with
the operators and maintenance people on the factory floor
* & seeing that your competitor does better
Why? Whats wrong ?
Page 3 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Out of the jungle

The current variety of problems can be


vastly reduced via standardization
... and such a standard is available
Page 4 printed at 1/12/2015

www.PLCopen.org

PLCopen

for efficiency in automation

IEC 61131-3
The best thing that happened
to industrial control
Sugar Lantic on Automation Maillist
Page 5 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The 9 parts of the IEC 61131 Standard


Project

Title

Valid till

61131- 1, Ed 2.0

General information,

2003-05

2013

61131- 2, Ed 3.0

Equipment requirements and tests,

2007-07

2012

61131- 3, Ed 3.0

Programming languages (Currently CDV - Committee Draft for Voting)

2012+5

61131- 4, Ed 2.0

User guidelines (TR),

2004-07

2010

61131- 5, Ed 1.0

Communications,

2000-11

2013

61131- 6, Ed 1.0

Functional safety for PLC

61131- 7, Ed 1.0

Fuzzy control programming,

2000-08

2013

61131- 8, Ed 2.0

Guidelines applic. & implem. progr. languages (TR),

2003-09

2008

61131- 9, Ed 1.0

Single-drop digital communication interface for small sensors


and actuators (SDCI) aka IO-Link (Currently CD - Committee Draft)

Page 6 printed at 1/12/2015

(Currently CDV - Committee Draft for Voting)

2012+5

2012+5

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 1131 versus IEC 61131


The good news is there is no difference
It is an international harmonization of all the IEC standards

and the localized versions

Page 7 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Programming languages /


Industrial Control Programming

Standardizing the way people work with controls

Page 8 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Programming languages /


Industrial Control Programming
...with support for people
with different backgrounds

Page 9 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The IEC 61131-3 Standard


Common Elements

Programming Languages

Page 10 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 : Common Elements


Variables & Data Types
What is this?

01010101 10101010
Historically
Reference to a physical memory location
Reference to a physical Input

Page 11 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 : Common Elements


Variables & Data types
Temperature_Sensor_1 : Integer

Symbolic representation via labels

Restricted area for I/O mapping

Hardware independent software code

Result: higher transparency & readability

And less errors

Page 12 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 : Common Elements


Software Model

Page 13 printed at 1/12/2015

Configuration
Resources
Tasks

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Software Model


Configuration

Communication Function
Page 14 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Software Model


Configuration

Resource

Resource

Communication Function
Page 15 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Software Model


Configuration
Resource
Task

Resource
Task

Task

Task

Communication Function
Page 16 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Software Model


Configuration
Resource

Resource

Task

Task

Task

Task

Program

Program

Program

Program

Execution
control path

Communication Function
Page 17 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 Software Model


Configuration
Resource
Task

Variable
access path

Resource
Task

Task

Task

FB
Function
Block

Program

Program
FB

Program

FB

Program
FB

Global and direct variables

Variable

FB

Execution
control path

Access path
Communication Function
Page 18 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 vs conventional PLC


Configuration
Resource
Task

Variable
access path

Resource
Task

Task

Task

FB
Function
Block

Program

Program
FB

Program

FB

Program
FB

Global and direct variables

Variable

FB

Execution
control path

Access path
Communication Function
Page 19 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Conventional PLC vs IEC 61131-3


Time based

Task 1
Resource
Task

Endless Loop:
Task 2

Events based

Read inputs

Do Calculations

Task 3

Events based

Program
Set Outputs
Time based

Page 20 printed at 1/12/2015

Task 4

www.PLCopen.org

PLCopen
for efficiency in automation

Common Elements: Tasks


PLCs

DCS
PC based
Control
Page 21 printed at 1/12/2015

Embedded

IEC 61131-3

Drives
LON nodes

SoftLogic
www.PLCopen.org

PLCopen
for efficiency in automation

Common Elements : Tasks & Datatypes


Multi functional Operator Panel
Windows CE or any other

RPM =2000

IEC 61131-3 tasks


SCADA & HMI tasks
I/O Communication tasks
OPC UA
I/O Communication bus

Page 22 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC 61131-3 : Common Elements


COMMON ELEMENTS
a.o.
Data Types

&

Variables

Configuration, Resources, Tasks


Programming Organization Units, POUs
* Functions
* Function Blocks

* Programs

Page 23 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Functions ..
* Standard functions
ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.

* Your own defined functions:


FUNCTION SIMPLE_FUN : REAL
VAR_INPUT
A, B
: REAL;
C
: REAL := 1.0;
END_VAR
SIMPLE_FUN := A*B/C;
END FUNCTION
Page 24 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

. & Function Blocks


Standard Function Blocks

I NPUT OUTPUT I N_OUT EXTERNAL

FUNCTION_BLOCK

Type Local

Hysterisis

Page 25 printed at 1/12/2015

REAL

XIN1

REAL
REAL

XIN2

BOOL

EPS

www.PLCopen.org

PLCopen
for efficiency in automation

. & Function Blocks


Standard Function Blocks
Additional supplied
Function Blocks

I NPUT OUTPUT I N_OUT EXTERNAL

FUNCTION_BLOCK

Type Local

Hysterisis

Page 26 printed at 1/12/2015

REAL

XIN1

REAL
REAL

XIN2

BOOL

EPS

www.PLCopen.org

PLCopen
for efficiency in automation

. & Function Blocks


Standard Function Blocks
Additional supplied
Function Blocks
Your own defined Function
Blocks

I NPUT OUTPUT I N_OUT EXTERNAL

FUNCTION_BLOCK

Type Local

Hysterisis

Page 27 printed at 1/12/2015

REAL

XIN1

REAL
REAL

XIN2

BOOL

EPS

www.PLCopen.org

PLCopen
for efficiency in automation

. & Function Blocks


Standard Function Blocks
Additional supplied
Function Blocks
Your own defined Function
Blocks
All FBs are highly re-usable
in same program, different
programs or project

Page 28 printed at 1/12/2015

I NPUT OUTPUT I N_OUT EXTERNAL

FUNCTION_BLOCK

Type Local

Hysterisis
REAL

XIN1

REAL
REAL

XIN2

BOOL

EPS

www.PLCopen.org

PLCopen
for efficiency in automation

Function Block example


REAL
REAL
REAL

Hysterisis
XIN1
Q
XIN2
EPS

BOOL

Q
1
0
EPS

EPS

XIN2
Page 29 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Function Block example


REAL
REAL
REAL

Hysterisis
XIN1
Q
XIN2
EPS

Q
1

BOOL

FUNCTION_BLOCK HYSTERISIS
VAR_INPUT
XIN1, XIN2 : REAL;
EPS : REAL; (* Hysterisis band *)
END_VAR
VAR_OUTPUT
Q : BOOL := 0
END_VAR
IF Q THEN
IF XIN1 < (XIN2-EPS) THEN
Q := 0 (* XIN1 decreasing *)
END_IF;
ELSIF XIN1 > (XIN2 + EPS ) THEN
Q := 1; (* XIN1 increasing *)
END_IF;
END_FUNCTION_BLOCK

0
EPS

EPS

XIN2
Page 30 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Programs : design via building bricks


Start : BOOL;
Emergency : BOOL;
Limit : INT;

Automation
application
INPUT

OUTPUT

IN_OUT

EXTERNAL

FUNCTION_BLOCK
PROGRAM

Type
Type

Local

Local
GLOBAL
INPUT

FUNCTION

Type

Page 31 printed at 1/12/2015

Local

www.PLCopen.org

PLCopen
for efficiency in automation

Structure & Advantages of POUs


Create own Function Block Libraries (per application area)
FBs are tested and documented

Make libraries (world wide) accessible


Re-use as much as possible

Change programming to creating networks of FBs


Save 40% on next project
Page 32 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Sequential Function Chart, SFC


Powerful graphical technique for
describing the sequential
behavior of a control program

Step 1

Used to partition a control


problem
Shows overview, also suitable for
rapid diagnostics

FILL

Transition 1

Step 2

Empty

Transition 2
Step 3

Page 33 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Sequential Function Chart, SFC


Powerful graphical technique for
describing the sequential
behaviour of a control program

Step 1

Used to partition a control


problem
Shows overview, also suitable for
rapid diagnostics
The basic elements are STEPS
with ACTION BLOCKS and
TRANSITIONS

FILL

Transition 1

Step 2

Empty

Transition 2
Step 3

Support for alternative and


parallel sequences

Page 34 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

SFC : alternative sequences


Step 1
Transition 1a
Step 2 a

Empty

FILL

Transition 1b
Step 2 b

Transition 2a

Empty

Transition 2b

Step 3

Page 35 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The IEC 61131-3 Standard


Common Elements

Programming Languages

Page 36 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The IEC 61131-3 Programming Languages


Instruction List
LD

ANDN

ST

C:= A AND NOT B

Function Block Diagram


AND
A

Structured Text

Ladder Diagram
A B

-| |--|/|----------------( )

Page 37 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The IEC 61131-3 Standard


Top Down

Common Elements

Programming Languages
Bottom Up

Page 38 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

IEC Programming Environments


Many of them offer:
graphical programming
screens
support for multiple
windows
mouse operation
pull-down menus
built-in hypertext help
function
software verification during
design
Page 39 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

What are the benefits ?

Page 40 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Users? Which Users?


Discrete Mnf
Process cntrl
YOU ??

System Integrator

Education
Programming
Maintenance
Page 41 printed at 1/12/2015

Installation
www.PLCopen.org

PLCopen
for efficiency in automation

Users? Which Users?


Automobile production lines

Water treatment plant

Food processing and packaging machinery

Cable manufacturing

Semi-conductor clean room automation

Theme-park roller coasters

Nuclear waste treatment plant


This wide range encompass different skills

Page 42 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits
Reduced waste of human resources (in training,
debugging, maintenance and consultancy)

Page 43 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits

Reduced waste of human resources (in


training, debugging, maintenance and
consultancy)

Creating a focus to problem solving via software re-usability


(reduced application investment and supplier dependency)

Page 44 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits

Reduced waste of human resources (in


training, debugging, maintenance and
consultancy)
Creating a focus to problem solving via
software re-usability (reduced application
investment and supplier dependency)
Reduced misunderstandings and errors

Page 45 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits

Reduced waste of human resources (in


training, debugging, maintenance and
consultancy)
Creating a focus to problem solving via
software re-usability (reduced application
investment and supplier dependency)
Reduced misunderstandings and errors

Programming techniques usable in more environments


(general industrial control)

Page 46 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits

Reduced waste of human resources (in


training, debugging, maintenance and
consultancy)
Creating a focus to problem solving via
software re-usability (reduced application
investment and supplier dependency)
Reduced misunderstandings and errors
Programming techniques usable in more
environments (general industrial control)

Combining harmoniously different components from different


locations, companies or countries, or projects

Page 47 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits

Reduced waste of human resources (in


training, debugging, maintenance and
consultancy)
Creating a focus to problem solving via
software re-usability (reduced application
investment and supplier dependency)
Reduced misunderstandings and errors
Programming techniques usable in more
environments (general industrial control)
Combining harmoniously different
components from different locations,
companies or countries, or projects

Increased connectivity (investment protection)

Page 48 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Benefits

Reduced waste of human resources (in


training, debugging, maintenance and
consultancy)
Creating a focus to problem solving via
software re-usability (reduced application
investment and supplier dependency)
Reduced misunderstandings and errors
Programming techniques usable in more
environments (general industrial control)
Combining harmoniously different
components from different locations,
companies or countries, or projects
Increased connectivity (investment
protection)

Page 49 printed at 1/12/2015

Software
Library

Function Block
"Heating"
Function
"LIMIT"
Function
"TEST"

Function Block
"Turning"

Function Block
"Feeding"

www.PLCopen.org

PLCopen
for efficiency in automation

How to use IEC 61131-3


an example:

Structuring Software Development


with IEC 61131-3
7 steps to success

Page 50 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Software Development Cycle


Design
/
Development
/
Installation
/
Maintenance..
phases

Page 51 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

software development cycle...


enhancements..
.. new requirements ...
. new functionality .
. new wishes ...
the never ending story of software

Page 52 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Whats the topic here?


Structuring Software Development with IEC 61131-3
meaning: internal Software Quality
In the sense of:
Understandable, Reusable, Verifiable, Maintainable, Isolation

Page 53 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Managing Complexity
100 10,000 1mio 100mio Lines of Code

Exponentially increasing complexity


Page 54 printed at 1/12/2015

www.PLCopen.org

PLCopen

for efficiency in automation

Why Structuring ?
The ever increasing role of Software on system quality:
errors cost money
Requirements increased dramatically: 100 lines of codes now
10,000 lines
SW development: not a one-man job anymore, but a team
with different know how and background
Commissioning, Installation, Maintenance, and Improvements
are essential parts of the development process
Page 55 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Advantages of Structuring
Better Overview
Better Basis for (internal) Communication
Better Focus to problem solving
Basis for reusable software
Self-documenting
Page 56 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Software Program vs. Software Product


Made by an individual
for own use

Made by a group for


usage by others

Limited functionality

Larger functionality

User interface less


important

User interface very


important

Little documentation

Well documented

Individual development Accepted SW engineering


style
methods
Page 57 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Exploratory Style vs.


Software Engineering Method
Based on error
correction
Finding errors during
final product testing
Coding is the goal,
creating quickly a
working system, and
modifying till
satisfactory
Page 58 printed at 1/12/2015

Focused to error
prevention
Find errors as early as
possible
A structured approach,
clear specifications,
clear phases
Periodic reviews during
all stages of the project
www.PLCopen.org

PLCopen
for efficiency in automation

(Costly) Engineering Habits


Reuse work from similar former projects
Include them into the new project

And start adapting them to the new project


requirements

Copy - Paste & Modify

Page 59 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Dangers of copy paste & modify

The not-invented-here syndrome only own


artifacts (developed in the past)

Non-predictable quality

Prone to errors and reuse potential is wasted

Unsystematically

Difficult to maintain and manage

Very costly over the life cycle

Page 60 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Modern Software Development


Process
A small overview

Page 61 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Modern Software Development Process


Defined in several clearly separated phases - project
definition
Top-down approach
Multiple disciplines involved
Multiple people involved

Different backgrounds
Based on Functional Requirements
Page 62 printed at 1/12/2015

www.PLCopen.org

PLCopen

for efficiency in automation

Example of Software Development Process


Different Phases
Analysis
Design
Development

Installation
Maintenance..

Waterfall model
Page 63 printed at 1/12/2015

www.PLCopen.org

PLCopen

for efficiency in automation

Example of Software Development Process

V-model
Link between
Specification

and testing

Page 64 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The X-Model for SW Development


System
Design

Sub-system
Design

Module
Development

Sub-system
Integration
and Testing

System
Installation
and Testing

Component
Development
Library
Construction
Catalogue
Management
Page 65 printed at 1/12/2015

Component
Design

Component
Identification
www.PLCopen.org

PLCopen
for efficiency in automation

The X-Model for SW Development


Application Software

System
Design

Sub-system
Design

Module
Development

Sub-system
Integration
and Testing

System
Installation
and Testing

Component
Development
Library
Construction
Catalogue
Management
Page 66 printed at 1/12/2015

Component
Design

Component
Identification
www.PLCopen.org

PLCopen
for efficiency in automation

The X-Model for SW Development


System
Design

Sub-system
Design

Module
Development

Sub-system
Integration
and Testing

System
Installation
and Testing

Component
Development
Library
Construction
Catalogue
Management
Page 67 printed at 1/12/2015

Component
Design

Reusable Components (FBs)

Component
Identification
www.PLCopen.org

PLCopen
for efficiency in automation

Requirements on Engineering Tools


1.

Support creation and reuse of technical, non-technical and


combined entities

2.

Support creation of a structured domain repository (like a


library)

3.

Enable multi-user access on the components

4.

Provide configuration management

5.

Cover more than one engineering phase and discipline

6.

Encourage a reuse on different levels of granularity

Page 68 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Decomposition and Reuse

Automation
application

INPUT

OUTPUT

IN_OUT

EXTERNAL

FUNCTION_BLOCK
Type

Local

PROGRAM
INPUT

Type

Local
FUNCTION
GLOBAL

Type

Page 69 printed at 1/12/2015

Local

www.PLCopen.org

PLCopen
for efficiency in automation

Decomposition

Page 70 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Reuse via Standardized Function Blocks

Page 71 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

A hierarchy of abstraction

Topdown

Page 72 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Bottom-up after top-down


First decompose then fill it in

Top-

Bottom

down

up

Page 73 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

How does that look in IEC 61131-3 ?


7 Steps to Success
with a
Fermentation Control System
Page 74 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Fermentation Process
Agitator

Feed valve
Acidic reagent
Alkali reagent

Temperature
sensor
pH sensor

Heater band

Harvest valve

Page 75 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

How to create a control program


for this
in a structured way?

Page 76 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Step 1 :
Identification of external Interfaces to the System
Feedback from the temperature sensor
Feedback from the pH sensor
Feedback from the valve positions
Feedback from the motor (speed)

Output to the valves


Output to the motor
Output to the heater band
Page 77 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Step 2:
Definition of the main signals between System and Plant
In this example there is no coupling to the plant, but it could
have been, like:
coupling to main vessels with liquids
coupling to transportation system / filling station after
harvesting

Page 78 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Step 3:
Definition of all Operator interactions, overrides and
supervisory data
For the operator we define:
a Start button
a Stop button
a Duration input

Now we have defined all the interfaces


Page 79 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Step 4:
Brake down from top in logical partitions
MainSequence - filling, heating, agitating, fermenting, harvesting, cleaning.
ValveControl - operating valves used to fill and empty the vessel's
TemperatureControl - for controlling the temperature
AgitatorControl - agitator motor control
pHControl - PH-control
Page 80 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Step 5:
Definition of the required POUs
(Programs and Function Blocks)
Using the definitions above and

representing it in the graphical way

Page 81 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Fermentation Control Program


TempControl
Heat
Heat
Cool

SetPoint

TempSensor

PV

Cool

pHSensor
pHControl
AddAcid
MainSequence
Start
Stop
Duration

Start

Temp

Stop

pH

Duration

Agitation

AddAcid

SetPoint
PV

AddAlkali
AddAlkali

AgitateControl
MotorSpeed

FillState

SetPoint

MotorSpeed

PV
AgitateSpeed
ValveControl
Fill
State

Fill

ValvePositions

Harvest
Harvest

Page 82 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

MainSequence in
Sequential Function
Chart, SFC
Presenting the main
process states

Page 83 printed at 1/12/2015

S1

Initialisation

S2

Filling

S3

Heating

S4

Fermenting

S5

Harvesting

S6

Cleaning

www.PLCopen.org

PLCopen
for efficiency in automation

The Actions Blocks


and Transitions

can be programmed
in any of the four

IEC Programming Languages


Page 84 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The IEC 61131-3 Programming Languages


Instruction List (IL)
LD

ANDN

ST

C:= A AND NOT B

Funktion Block Diagram (FBD)


AND
A

Structured Text (ST)

Ladder Diagram (LD)


A B

-| |--|/|----------------( )

Page 85 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Step 6:
Definition of scan cycle time requirements
for the different parts of the application
In this example we have only one cycle in continuous mode
The remaining time can be used for other cycles like:
. the filling / transportation system

checking boundaries and error conditions (in a parallel


sequence)
Page 86 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

And last but not least: Step 7:


Configuration of the System:
Definition of Resources, Tasks
and linking of programs with physical I/O

Depending on the system involved


Includes physical mapping of symbols to I/O
Mapping of the resource (read: CPUs in the system)
Definition of the scan cycles and events (as defined in Step
6)
Page 87 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Conclusion
The Software development process has changed:
more requirements..
more functionalities..
more code..
more people involved..
more requirements / wishes

Structuring and Decomposition are essential parts of


modern software development
IEC 61131-3 has the right basis to fulfill your requirements
Page 88 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

The association PLCopen


Together we can make it happen:

Standardization in Industrial Control Programming


WE NEED YOUR SUPPORT FOR THIS !
Join the organization PLCopen

Page 89 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

Page 90 printed at 1/12/2015

www.PLCopen.org

PLCopen
for efficiency in automation

More Information...

www.PLCopen.org
Free-of-Charge electronic Newsletter PLCopening (in english)

email: evdwal@PLCopen.org

Page 91 printed at 1/12/2015

www.PLCopen.org

You might also like