You are on page 1of 113

Learning system for automation and communications

Programmable Logic Controller

Fundamentals and Applications of


Programmable Logic Controllers

Exercises
Solutions

Festo Didactic
E311 Fundamentals and Applications of Programmable Logic Controllers
3
Exercise 1

Exercise 1

The YES Function

Problem Description

Actuation of a push button (S1) is to cause a lamp (H1) to


be switched on. The lamp is to be illuminated as long as
the push button is actuated.

• Draw the circuit diagram and assemble the equipment.


• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
4
Exercise 1

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


5
Solution 1

Solution 1
Electrical Circuit Diagram

24V
0V

S1

I 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

24V
PLC
0V

O 0.0 0.1 0.2 0.3

H1

0V

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Push Button S1


Output0_0 [Output] BOOL Lamp H1

Festo Didactic
6
Solution 1

Ladder Programming

Input0_0 Output0_0

IL Programming

LD Input0_0
ST Output0_0

ST Programming

Output0_0:=Input0_0;

FBD Programming

Input0_ Output0_
0 0

E311 Fundamentals and Applications of Programmable Logic Controllers


7
Exercise 2

Exercise 2

The NOT Function

Problem Description

A thin wire has been stretched behind a display window,


which breaks if a burglary is attempted. A close circuit is
interrupted as a result of this and a buzzer is sounded. A
normally closed switch is used to simulate the unbroken
wire.

• Draw the circuit diagram and assemble the equipment.


• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
8
Exercise 2

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


9
Solution 2

Solution 2
Electrical Circuit Diagram
24V
0V

S1

I 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

24V
PLC
0V

O 0.0 0.1 0.2 0.3

H1

0V

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Sensor S1


Output0_0 [Output] BOOL Siren H1

Festo Didactic
10
Solution 2

Ladder Programming

Input0_ Output0_
0 0

IL Programming

LDN Input0_0
ST Output0_0

ST Programming

Output0_0:= NOT Input0_0;

FBD Programming

Input0_ Output0_
0 0

OR

NOT
Input0_ Output0_
0 0

E311 Fundamentals and Applications of Programmable Logic Controllers


11
Exercise 3

Exercise 3

The AND Function

Problem Description

A press stamp 1.0 is to advance only if a push button is


actuated and a protective guard is closed. If one of these
conditions is not met, the press tool is to return
immediately.

The position of the closed protective guard B1 is


monitored by a proximity switch B1. The press tool is
advanced or retracted by means of a spring return
solenoid valve (Coil Y1).

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg
• You can use any one or all of the five languages
available.

Festo Didactic
12
Exercise 3

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


13
Exercise 3

Festo Didactic
14
Solution 3
Solution 3
Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


15
Solution 3

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Switch S1


Input0_1 [Input] BOOL Safety Sensor B1
Output0_0 [Output] BOOL Cylinder Extends Y1

Ladder Programming

Input0_ Input0_ Output0


0 1 _0

IL Programming

LD Input0_0
AND Input0_1
ST Output0_0

ST Programming

Output0_0:= Input0_0 AND Input0_1;

FBD Programming

AN
D
Input0_
0
Input0_ Output0_
1 0

Festo Didactic
16
Exercise 4
Exercise 4

The OR Function

Problem Description

An apartment bell is to ring if bell button S1 at the front


door is pressed or bell button S2 at the apartment door.

• Draw the circuit diagram and assemble the equipment.


• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

E311 Fundamentals and Applications of Programmable Logic Controllers


17
Exercise 4

Electrical Circuit Diagram

Festo Didactic
18
Solution 4
Solution 4
Electrical Circuit Diagram

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Push Button S1


Input0_1 [Input] BOOL Push Button S2
Output0_0 [Output] BOOL Bell H1

E311 Fundamentals and Applications of Programmable Logic Controllers


19
Solution 4

Ladder Programming

Input0_ Output0_
0 0

LDInput0_
Input0_1
1
OR Input0_2
ST Outuput0

IL Programming

LD Input0_0
OR Input0_1
ST Output0_0

ST Programming

Output0_0:= Input0_0 OR Input0_1;

FBD Programming for Festo PLC

OR

Input0_
0
Input0_ Output0_
1 0

Festo Didactic
20
Exercise 5
Exercise 5

Combination of AND/OR/NOT Functions

Problem Description

A stamping device can be operated from three sides. A


workpiece is inserted via a guide, whereby it touches two
of the three proximity switches B1, B2 and B3. This causes
a pneumatic cylinder 1.0 to extend via a solenoid valve
(Coil Y1), whereby a recess is to be stamped into the
workpiece.

The stamping cycle is to be triggered only if two signal


generators are Typeesses. For reasons of safety the
cylinder must be prevented from advancing, if all three
proximity sensors are contacted.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

E311 Fundamentals and Applications of Programmable Logic Controllers


21
Exercise 5

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

Festo Didactic
22
Exercise 5

E311 Fundamentals and Applications of Programmable Logic Controllers


23
Solution 5

Solution 5
Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

Festo Didactic
24
Solution 5
Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Proximity Sensor B1


Input0_1 [Input] BOOL Proximity Sensor B2
Input0_2 [Input] BOOL Proximity Sensor B3
Flag1 [Internal] BOOL Internal Relay 1
Flag2 [Internal] BOOL Internal Relay 2
Flag3 [Internal] BOOL Internal Relay 3
Output0_0 [Output] BOOL Cylinder Extends Y1

Ladder Programming

Input0_ Input0_ Input0_ Output0_


0 1 2 0

Input0_ Input0_ Input0_


0 1 2

Input0_ Input0_ Input0_


0 1 2

E311 Fundamentals and Applications of Programmable Logic Controllers


25
Solution 5

Instruction List Programming

LD Input0_0
AND Input0_1
ANDN Input0_2
ST Flag1

LD Input0_0
AND Input0_2
ANDN Input0_1
ST Flag2

LD Input0_1
AND Input0_2
ANDN Input0_0
ST Flag3

LD Flag1
OR Flag2
OR Flag3
ST Output0_0

Structured Text Programming

Flag1:= Input0_0 AND Input0_1 AND NOT Input0_2;


Flag2:=Input0_0 AND Input0_2 AND NOT Input0_1;
Flag3:=Input0_1 AND Input0_2 AND NOT Input0_0;
Output0_0:=Flag1 OR Flag2 OR Flag3;

OR

Output0_0:= (Input0_0 AND Input0_1 AND NOT


Input0_2)
OR (Input0_0 AND Input0_2 AND NOT
Input0_1)

Festo Didactic
26
Solution 5

FBD Programming

AND
Input0_
0
Input0_
1
Input0_
2

AND OR
Input0_
0
Input0_
1
Input0_ Output0_
2 0

AND
Input0_
0
Input0_
1
Input0_
2

E311 Fundamentals and Applications of Programmable Logic Controllers


27
Exercise 6

Exercise 6

Logic Control System with Branching.

Problem Description

The control of a bulk material mixing system consists of a


push button (S1) and a selector switch (S2).

Once the appropriate silo has been selected using the


selector switch (S2), pressing the push button (S1) opens
the silo. Use single-solenoid 5/2-way directional control
valves to control both cylinders. The cylinders are
extended in the initial position.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
28
Exercise 6

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


29
Exercise 6

Festo Didactic
30
Solution 6
Solution 6
Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


31
Solution 6

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Selector Switch S2
Cylinder A Retracts
Output0_0 [Output] BOOL
Y1
Cylinder B Retracts
Output0_1 [Output] BOOL
Y2

Ladder Programming

Input0_0 Input0_1 Output0_0

Input0_0 Input0_1 Output0_1

IL Programming

LD Input0_0
ANDN Input0_1
ST Output0_0

LD Input0_0
AND Input0_1
ST Output0_1

Festo Didactic
32
Solution 6

ST Programming

Output0_0:= Input0_0 AND NOT Input0_1;


Output0_1:= Input0_0 AND Input0_1;

FBD Programming

AND

Input0_
0
Input0_ Output0_
1 0

AND

Input0_
0
Input0_ Output0_
1 1

E311 Fundamentals and Applications of Programmable Logic Controllers


33
Solution 6

Festo Didactic
34
Exercise 7
Exercise 7
Setting and Resetting of an Output

Technical Knowledge

Storage operations form part of the elementary PLC


operations and apply in cases where a briefly occurring
signal status is permanently stored. Typical examples of
storage operations are the permanent setting or resetting
of output signals. The standard function blocks SR and RS
are available for the realisation of storage functions.

Function block SR, dominant setting flip-flop

Function block SR contains a dominant setting flip-flop.

The typical behaviour of the SR function block is therefore


as follows:

• A 1-signal at set input S1 sets the flip-flop, i.e. the


value of Q1 becomes 1.
• A 1 signal at reset input R sets the value of Q1 at 0
only if a 0-signal simultaneously applies at the S1
input.
• If a 1-signal applies both at the S1 and the R input
output Q1 is set.

Function block RS, dominant resetting flip-flop

Function block RS contains a dominant resetting flip-flop.

E311 Fundamentals and Applications of Programmable Logic Controllers


35
Exercise 7

The behaviour of the block represented is as follows:

• A 1-signal at reset input R1 sets the value of Q1 to 0,


irrespective of which value applies at input S.
• A 1-signal at set input S sets output Q1 to 1 only if a 0-
signal simultaneously applies at the R1 input.
• If 1-signals apply both at inputs S and R1, output Q1 is
reset.

Problem Description

The drill on a drilling unit is monitored by means of a drill


breakage sensor (B1).

If the drill is broken, the sensor interrupts the circuit. A


buzzer (H1) is to sound in this event. The buzzer can only
be switched off via push button S1.

• Draw the electrical circuit diagram.


• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
36
Exercise 7

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


37
Exercise 7

Festo Didactic
38
Solution 7
Solution 7
Electrical Circuit Diagram

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Push Button S1


Input0_1 [Input] BOOL Sensor B1
Output0_1 [Output] BOOL Buzzer H1

Function or Function
Name Comment
Block
RS_1 RS RS Function Block 1

E311 Fundamentals and Applications of Programmable Logic Controllers


39
Solution 7

Ladder Diagram

Output0_0
Input0_1
S

Output0_0
Input0_0

IL Programming

LDN Input0_1
S Output0_0

LD Input0_0
R Output0_0

OR

LDN Input0_1
ST RS_1.SET
LD Input0_0
ST RS_1.RESET1
CAL RS_1
LD RS_1.Q1
ST Output0_0

ST Programming

RS_1(SET:=Not Input0_1, RESET1:=


Input0_0);
Output0_0:= RS_1.Q1;

Remember to declare RS_1 in the Variables under


Function Block.

Festo Didactic
40
Solution 7

FBD Programming

RS_1
RS

SET
Input0_
1
Input0_ RESET1 Q1 Output0_
0 0

Using FBD in Ladder Diagrams

RS-1
RS
Input0_1 Output0_0

SET Q1

Input0_0 RESET1

E311 Fundamentals and Applications of Programmable Logic Controllers


41
Solution 7

Festo Didactic
42
Exercise 8
Exercise 8

Transfer of a Part

Problem Description

Using a double-acting cylinder, a part is to be moved from


one roller track to another. The operation is to be started
using a push button. An acknowledgement signal is
required when the piston is fully extended to ensure that
the part has been transferred. The return stroke is to be
automatic. Use a double solenoid valve.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

E311 Fundamentals and Applications of Programmable Logic Controllers


43
Exercise 8

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

Festo Didactic
44
Solution 8
Solution 8
Electro-Pneumatic Circuit Diagram

B1 B2

Electrical Circuit Diagram

Y2

E311 Fundamentals and Applications of Programmable Logic Controllers


45
Solution 8

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Cylinder A Back B1
Cylinder A Forward
Input0_2 [Input] BOOL
B2
Output0_0 [Output] BOOL Cylinder A Extends Y1
Cylinder A Retracts
Output0_1 [Output] BOOL
Y2

Ladder Diagram

Output0_0
Input0_0 Input0_1
S
Output0_1

Output0_1
Input0_2
S

Output0_0

IL Programming

LD Input0_0
AND Input0_1
ST Output0_0

LD Input0_2
ST Output0_1

Festo Didactic
46
Solution 8
OR

LD Input0_0
AND Input0_1
S Output0_0
R Output0_1

LD Input0_2
S Output0_1
R Output0_0

ST Programming

Output0_0:= Input0_0 AND Input0_1;


Output0_1:= Input0_2;

FBD Programming

AND
Input0_
0
Input0_ Output0_0
1
Input0_ Output0_1
2

OR

RS_1
AND
Input0_0 RS
Input0_1 SET Q1 Output0_0

Input0_2 RESET1

Input0_2 Output0_1

E311 Fundamentals and Applications of Programmable Logic Controllers


47
Solution 8

Festo Didactic
48
Exercise 9
Exercise 9

Activating a Cylinder

Signal Edges

Technical Knowledge

PLC applications frequently require the detection and


evaluation not of signal itself, but of the point of change of
a signal. These signal changes are described as edges.

Rising (positive) edges mark the instant, during which a


signal change takes place from 0 to 1.

Falling (negative) edges mark the instant, during which a


signal change takes place from 1 to 0.

Function block R_TRIG for rising edge detection

This standard function block is used for the detection of a


rising edge.

If a signal change takes place from 0 to 1 at input CLK,


output Q assumes the value 1 during a program cycle.

E311 Fundamentals and Applications of Programmable Logic Controllers


49
Exercise 9

Function block F_TRIG for falling edge detection

This standard function block is used for the detection of a


falling edge.

If a signal change takes place from 1 to 0 at input CLK,


output Q carries a 1-signal during a program cycle.

Problem Description

A cylinder is actuated by means of a spring-returned


solenoid valve (coil Y1). Two proximity switches signal the
positions "extended" (B2) and "retracted" (B1). Push
button (S1) is used to actuate the cylinder in such a way
that it advances from the retracted end position into the
opposite direction. The cylinder must advance only once
per push button actuation. To trigger a second movement
of the cylinder, the push button must be released and
actuated afresh.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.

Festo Didactic
50
Exercise 9
• You can use any one or all of the five languages

available.

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


51
Exercise 9

Festo Didactic
52
Solution 9
Solution 9
Electro-Pneumatic Circuit Diagram

B1 B2

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


53
Solution 9

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Cylinder A Back B1
Cylinder A Forward
Input0_2 [Input] BOOL
B2
Flag1 [Internal] BOOL Internal Relay 1
Output0_0 [Output] BOOL Cylinder Solenoid Y1

Function or Function
Name Comment
Block
R_TRIG_1 R_TRIG Rising Edge 1
RS_1 RS Reset-Set 1

Ladder Diagram

R_TRIG_1
Output0_0
Input0_0 R_TRIG Input0_1
CLK Q
S

Output0_0
Input0_2
R

IL Programming for Festo PLC

LD Input0_0
ST R_TRIG_1.CLK
CAL R_TRIG_1

LD R_TRIG_1.Q
AND Input0_1
S Output0_0

LD R_TRIG_1.Q
AND Input0_2
R Output0_0
Festo Didactic
54
Solution 9

ST Programming

R_TRIG_1(CLK:=Input0_0);

RS_1(SET:=R_TRIG1_1.Q AND
Input0_1,RESET1:=R_TRIG_1.Q AND Input0_2);
Output0_0:= RS_1.Q1;

FBD Programming

RS_1
AND
Input0_
RS
1 R_TRIG_1

R_TRIG SET
Q1 Output0_
Input0_ CLK Q RESET1 0
0 AND

Input0_
2

E311 Fundamentals and Applications of Programmable Logic Controllers


55
Solution 9

Festo Didactic
56
Exercise 10
Exercise 10

Bonding of Components

Pulse Timer

Technical Knowledge

A large number of control tasks require the programming


of time. Through IEC61131-3, standard function blocks are
available for timers with different time response.

Timers are available for the realisation of a pulse time


response, a switch-on signal delay and a switch-off signal
delay.

Function block TP, pulse timer

Standard function block TP is a pulse timer

The response of function block TP is as follows:

• Function block TP is started via a short or long signal at


input IN.
• Once the timer has started, a 1-signal applies at output
Q for the time specified at input PT.
• The current timer value (the time, which has elapsed
since the start) is available at output ET.
• The timer can only be started again once it has
expired.

E311 Fundamentals and Applications of Programmable Logic Controllers


57
Exercise 10

Problem Description

Two components are to be bonded together with the help


of a pneumatic cylinder 1.0. To do this, the bonding
surfaces are pressed together with a defined force for 5
seconds. The time is commenced once the cylinder
advances from its retracted end position (sensor B1).

The cylinder is controlled by single solenoid directional


control valves (Y1). Once the 5 seconds have expired, the
cylinder is to return to the initial position. The bonding
process is started by a push button S1.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
58
Exercise 10

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


59
Exercise 10

Festo Didactic
60
Solution 10
Solution 10
Electro-Pneumatic Circuit Diagram

B1

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


61
Solution 10

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Cylinder A Back B1
Output0_0 [Output] BOOL Cylinder Solenoid Y1

Function or Function
Name Comment
Block
TP_1 TP Timer Preset 1

Ladder Diagram

TP_1
Input0_0 Input0_1 TP Output0_0
IN Q

T#5s PT ET

IL Programming

LD Input0_0
AND Input0_1
ST TP_1.IN
LD T#5s
ST TP_1.PT
CAL TP_1
LD TP_1.Q
ST Output0_0

Festo Didactic
62
Solution 10

ST Programming

TP_1(IN:=Input0_0 AND Input0_1,PT:= T#5s);


Output0_0:= TP_1.Q;

FBD Programming for Festo PLC

Input0_ AND TP_1


0 TP
Input0_
1
IN Q Output0_
T#5s 0
PT ET

E311 Fundamentals and Applications of Programmable Logic Controllers


63
Solution 10

Festo Didactic
64
Exercise 11
Exercise 11

Embossing Device

Switch-on Signal Delay

Technical Knowledge

Function block TON, Switch-on signal delay

The standard function block TON is used to generate a


switch-on signal delay.

The behaviour of function block TON is as follows:

• Function block TON is started by means of a 1-signal at


input IN.
• Upon expiry of the time specified at input PT, output Q
carries a 1-signal. The 1-signal at output Q applies until
the input signal IN reverts to the value 0.
• If the duration of the input signal IN is shorter than the
specified time PT, the value of output Q remains a
constant 0.
• The current timer value (the time, which has elapsed
since the start) is available at output ET.

E311 Fundamentals and Applications of Programmable Logic Controllers


65
Exercise 11

Problem Description

A workpiece is to be embossed by activating a start


button (S1). In order to ensure that the embossing cycle is
not triggered inadvertently, the embossing cycle is to be
triggered only after 3 seconds have expired. During this
time the start button must be permanently actuated. The
position of the cylinder 1.0 is established by means of the
proximity switches B1 (retracted) and B2 (extended). The
cylinder is controlled by single solenoid directional control
valves (Y1).

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
66
Exercise 11

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


67
Exercise 11

Festo Didactic
68
Solution 11
Solution 11
Electro-Pneumatic Circuit Diagram

B1 B2

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


69
Solution 11

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Cylinder A Back B1
Cylinder A Forward
Input0_2 [Input] BOOL
B2
Output0_0 [Output] BOOL Cylinder Solenoid Y1

Function or Function
Name Comment
Block
TON_1 TON Timer Delay On 1
RS_1 RS Reset-Set 1

Ladder Diagram

TON_1
Input0_0 Input0_1 TON Output0_0
IN Q S

T#3s PT ET

Input0_2 Output0_0
R

Festo Didactic
70
Solution 11

IL Programming

LD Input0_0
AND Input0_1
ST TON_1.IN

LD T#3s
ST TON_1.PT

CAL TON_1

LD TON_1.Q
S Output0_0

LD Input0_2
R Output0_0

ST Programming

TON_1(IN:=Input0_0 AND Input0_1,PT:= T#3s);


RS_1(SET:=TON_1.Q,RESET1:= Input0_2);
Output0_0:= RS_1.Q1;

FBD Programming for Festo PLC

TON_1 RS_1
AND
Input0_
TON RS
0
Input0_
1
IN Q SET Q1 Output0_0
T#3s PT ET RESET1

Input0_
2

E311 Fundamentals and Applications of Programmable Logic Controllers


71
Solution 11

Festo Didactic
72
Exercise 12
Exercise 12

Clamping Device

Switch-off Signal Delay

Technical Knowledge

Function block TOF, switch-off signal delay

The standard function block TOF is used to generate a


switch-off signal delay.

The behaviour response of function block TOF is as


follows:

• Function block TOF is started via a 1-signal at input IN.


Output Q simultaneously receives the value 1.
• After the input signal IN has reverted to the value 0,
the 1 signal continues to be applied at output Q for the
time specified at the PT input and then returns to the
value 0.

E311 Fundamentals and Applications of Programmable Logic Controllers


73
Exercise 12

Problem Description

A workpiece is to be clamped by activating the start


button S1. When the workpiece is clamped by cylinder
1.0, cylinder 2.0 extends and embosses the workpiece.
Since the workpiece requires time to cool down, it remains
clamped for a period of 3 seconds. This time is started
with the advancing of cylinder 1.0.

Use single solenoid DCV for cylinder 1.0 and double


solenoid DCV for cylinder 2.0.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use any one or all of the five languages
available.

Festo Didactic
74
Exercise 12

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


75
Exercise 12

Festo Didactic
76
Solution 12
Solution 12
Electro-Pneumatic Circuit Diagram

B1 B2

Electrical Circuit Diagram

Variables

E311 Fundamentals and Applications of Programmable Logic Controllers


77
Solution 12

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Cylinder A Back B1
Cylinder A Forward
Input0_2 [Input] BOOL
B2
Input0_3 [Input] BOOL Cylinder B Back B3
Cylinder B Forward
Input0_4 [Input] BOOL
B4
Output0_0 [Output] BOOL Cylinder Solenoid Y1
Output0_1 [Output] BOOL Cylinder B Extends Y2
Cylinder B Retracts
Output0_2 [Output] BOOL
Y3

Function or Function
Name Comment
Block
TOF_1 TOF Timer Delay Off 1
R_TRIG_1 R_TRIG Rising Edge 1
RS_1 RS Reset-Set 1
RS_2 RS Reset-Set 2

Festo Didactic
78
Solution 12
Ladder Diagram

TOF_1
Input0_0 Input0_1 Input0_3 TOF Output0_0
IN Q

T#3s PT ET

R_TRIG_1

Input0_2 R_TRIG Input0_3 Output0_1


CLK Q S

Input0_4 Output0_1

Output0_2

Input0_3 Output0_2

E311 Fundamentals and Applications of Programmable Logic Controllers


79
Solution 12

IL Programming

LD Input0_0
AND Input0_1
AND Input0_3
ST TOF_1.IN

LD T#3s
ST TOF_1.PT

CAL TOF_1

LD TOF_1.Q
ST Output0_0

LD Input0_2
ST R_Trig_1.CLK

CAL R_Trig_1

LD R_Trig_1.Q
AND Input0_3
S Output0_1

LD Input0_4
R Output0_1
S Output0_2

LD Input0_3
R Output0_2

ST Programming

TOF_1 (IN:=Input0_0 AND Input0_1 AND Input0_3,PT:=


T#3s);
Output0_0:= TOF_1.Q;
R_Trig_1 (Input0_2);
RS_1 (SET:=R_Trig_1.Q AND Input0_3,RESET1:=
Input0_4);
Output0_1:= RS_1.Q1;
RS_2 (SET:=Input0_4,RESET1:= Input0_3);

Festo Didactic
80
Solution 12

FBD Programming

AND TOF_1
Input0_
0 TOF
Input0_
1
Input0_ IN Q Output0_
3 0
T#3s PT ET

R_TRIG_1

R_TRIG
RS_1
AND
Input0_ CLK Q RS
2
Input0_ SET Q1 Output0_
3 1
Input0_ RESET1
4

RS_2
RS

Input0_ SET Q1 Output0_


0 2
Input0_ RESET1
1

E311 Fundamentals and Applications of Programmable Logic Controllers


81
Solution 12

Festo Didactic
82
Exercise 13
Exercise 13

Bending Device with Counter

Counters

Technical Background

Function block CTU, incremental counter

Function block CTU realises an incremental counter. Its


interface is defined by means of three input and two

output parameters.

The characteristic behaviour of an incremental counter is


as follows:

• A 1-signal at reset input R sets the current counter


status CV at 0.
• Thereafter, the value CV of the counter is increased by
1 with each rising edge at input CU.
• A 1-signal applies at output Q as soon as the current
value CV is equal or greater than the preselect value
PV. Output Q carries a 0-signal as long as current
counter status CV is less than the preselect value PV.

Function block CTD, Decremental counter

Function block CTD being a decremental counter is


counterpart to function block CTU.

E311 Fundamentals and Applications of Programmable Logic Controllers


83
Exercise 13

The behaviour of a decremental counter is as follows:

• A 1-signal at the LD input sets the current counter


status CV equal to the preselect value PV.
• Each rising edge at the CD input decreases the current
counter status CV by 1.
• Output Q carries a 0-signal as long as the current
counter status CV is greater than 0. Only if the current
value is less or equal to 0, does a 1-signal apply at
output Q.

Problem Description

A double-acting cylinder is used for a bending process and


is to operate for 5 continuous cycle and then stop. The
cycle is started by a push button. The cylinder is
controlled via single solenoid valves.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• Use the Ladder or FBD language.

Festo Didactic
84
Exercise 13

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


85
Exercise 13

Festo Didactic
86
Solution 13
Solution 13
Electro-Pneumatic Circuit Diagram

B1 B2

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


87
Solution 13

Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Start Button S1


Input0_1 [Input] BOOL Cylinder A Back B1
Cylinder A Forward
Input0_2 [Input] BOOL
B2
Flag1 [Internal] BOOL Internal Relay 1
Flag2 [Internal] BOOL Internal Relay 2
Output0_0 [Output] BOOL Cylinder Solenoid Y1

Function or Function
Name Comment
Block
CTU_1 CTU Counter Up 1
R_TRIG_1 R_TRIG Rising Edge 1
R_TRIG_2 R_TRIG Rising Edge 2
RS_1 RS Reset-Set 1
RS_2 RS Reset-Set 2

Festo Didactic
88
Solution 13

Ladder Diagram

Input0_0 Flag1

Input0_1 Flag1 Output0_0

R_TRIG_1

Input0_2 R_TRIG Output0_0

CLK Q R
R_TRIG_2 CTU_1
Input0_2 R_TRIG CTU Flag2
CLK Q CU Q

Flag2 RESET
CV
5 PV
Flag2 Flag1

E311 Fundamentals and Applications of Programmable Logic Controllers


89
Solution 13

IL Programming

LD Input0_0
S Flag1

LD Input0_1
AND Flag1
S Output0_0

LD Input0_2
ST R_TRIG_1.CLK
CAL R_TRIG_1

LD R_TRIG_1.Q
R Output0_0

LD Input0_2
ST R_TRIG_2.CLK
CAL R_TRIG_2

LD R_TRIG_2.Q
ST CTU_1.CU
LD Flag2
ST CTU_1.Reset
LD 5
ST CTU_1.PV
CAL CTU_1

LD CTU_1.Q
ST Flag2

LD Flag2
R Flag1

Festo Didactic
90
Solution 13

ST Programming

RS_1 (SET:=Input0_0,RESET1:= Flag2);


RS_2 (SET:=Input0_1 AND
Flag1,RESET1:=R_TRIG_1.Q);
R_TRIG_1(CLK:=Input0_2);
CTU_1 (CU:=R_TRIG_2.Q,RESET:= Flag2,PV:= 5);
R_TRIG_2(CLK:=Input0_2);
Flag1:= RS_1.Q1;
Output0_0:= RS_2.Q1;
Flag2:= CTU_1.Q;

Function Block Diagram

RS_1
RS

Input0_ SET Q1 Flag1


0
Flag2 RESET1

AND
RS_2
Input0_
RS
1
Flag1
R_TRIG_1 SET Q1 Output0_
R_TRIG RESET1
0

Input0_ CLK Q
2
CTU_1
R_TRIG_2 CTU
R_TRIG

Input0_ CLK Q CU
2 Q Flag2
Flag2 RESET
CV
5 PV

E311 Fundamentals and Applications of Programmable Logic Controllers


91
Solution 13

Festo Didactic
92
Exercise 14
Exercise 14

Lifting Device for Packages

Linear Sequence

Technical Knowledge

Sequence control systems

Sequence control systems describe processes, which


proceed in several clearly separated steps.

The transition from one step to the next is dependent on


the process statuses. It is possible for the process to be
branched into partial processes in relation to the process
statuses established.

The program of a sequence control system must therefore


fulfill three basic exercises:

E311 Fundamentals and Applications of Programmable Logic Controllers


93
Exercise 14

Steps of a sequential function chart

21 Initial Step

Transition Step
1

2 Action Step

Transition Step
2

3 Action Step

Transition Step
3

4 Action Step

Transition Step
4

Example of double divergence and convergence.

1 Initialize

Run
1

2 Process1 101 Process2

End of Process 1 End of Process 2


2 101

3 Wait for Process 2 102 Wait for Process 2

true
3

1
Festo Didactic
94
Exercise 14

Note that if it is an “OR” logic, the line would be a single


line.

Problem Description

A roller conveyor is monitored by proximity switch B1 as


to whether a package is present. If a package is present,
the package is picked up by a Cylinder 1.0 (Lifting
cylinder) and then transferred to another conveyor by
means of Cylinder 2.0 (Transfer cylinder).

Cylinder 1.0 is to retract first, followed by Cylinder 2.0.


The cylinders are retracted and advanced by means of
solenoid valves (Coil Y1 and Y2). The cylinder positions are
monitored by means of proximity switches B2 to B5.

On the feed side, packages have been arranged in such a


way that they reach the lifting devices individually.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You can use all the programming languages but should
try the Sequential Function Chart.

E311 Fundamentals and Applications of Programmable Logic Controllers


95
Exercise 14

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

Festo Didactic
96
Exercise 14

E311 Fundamentals and Applications of Programmable Logic Controllers


97
Solution 14

Solution 14
Electro-Pneumatic Circuit Diagram

B1 B2 B3 B4

Electrical Circuit Diagram

Festo Didactic
98
Solution 14
Variables

For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Proximity Sensor B1


Input0_1 [Input] BOOL Cylinder A Back B2
Cylinder A Forward
Input0_2 [Input] BOOL
B3
Input0_3 [Input] BOOL Cylinder B Back B4
Cylinder B Forward
Input0_4 [Input] BOOL
B5
Cylinder A Solenoid
Output0_0 [Output] BOOL
Y1
Cylinder B Solenoid
Output0_1 [Output] BOOL
Y2
Flag1 [Internal] BOOL Internal Relay 1
Flag2 [Internal] BOOL Internal Relay 2
Flag3 [Internal] BOOL Internal Relay 3
Flag4 [Internal] BOOL Internal Relay 4
Flag5 [Internal] BOOL Internal Relay 5

Function or Function
Name Comment
Block
SR_1 SR Set-Reset 1
SR_2 SR Set-Reset 2
SR_3 SR Set-Reset 3
SR_4 SR Set-Reset 4
SR_5 SR Set-Reset 5
SR_6 SR Set-Reset 6
SR_7 SR Set-Reset 7

E311 Fundamentals and Applications of Programmable Logic Controllers


99
Solution 14

Ladder Diagram

Input0_0 Flag5 Flag1

Flag1

Input0_2 Flag1 Flag2

Flag2

Input0_4 Flag2 Flag3

Flag3

Input0_3 Flag3 Flag4

Flag4

Input0_1 Flag4 Flag5

Flag1 Flag3 Output0_0

Flag2 Flag4 Output0_1

Festo Didactic
100
Solution 14

Ladder with Function Blocks

SR_1
RS
Input0_1 Input0_3 Flag1
SET1 Q1

RESET
Flag2

SR_2
RS
Flag1 Input0_0 Flag2
SET1 Q1

RESET
Flag3

SR_3
RS
Flag1 Flag2 Input0_2 Flag3
SET1 Q1

RESET
Flag4

SR_4
RS
Flag2 Flag3 Input0_4 Flag4
SET1 Q1

RESET
Flag5

SR_5
RS
Flag3 Flag4 Input0_1 Flag5
SET1 Q1

RESET
Flag1

E311 Fundamentals and Applications of Programmable Logic Controllers


101
Solution 14

SR_6
RS
Flag2 Output0_0
SET1 Q1

RESET
Flag4

SR_7
RS
Flag3 Output0_1
SET1 Q1

RESET
Flag5

Structured Text

SR_1 (SET1:=Input0_1 AND Input0_3, RESET:=Flag2);


Flag1:=SR_1.Q1;

SR_2 (SET1:=Input0_0 AND Flag1, RESET:=Flag3);


Flag2:=SR_2.Q1;

SR_3 (SET1:=Input0_2 AND Flag2 AND NOT Flag1,


RESET:=Flag4);
Flag3:=SR_3.Q1;

SR_4 (SET1:=Input0_4 AND Flag3 AND NOT Flag2,


RESET:=Flag5);
Flag4:=SR_4.Q1;

SR_5 (SET1:=Input0_1 AND Flag4 AND NOT Flag3,


RESET:=Flag1);
FestoFlag5:=SR_5.Q1;
Didactic

SR_6 (SET1:=Flag2, RESET:=Flag4);


Output0_0:=SR_6.Q1;
Output0_1:=SR_7.Q1;

102
Solution 14

Function Block Diagram

SR_1
AND
SR
Input0_
1 SET1 Q1 Flag1
Input0_
3
Flag2 RESET

SR_2
AND
SR
Flag1
Input0_ SET1 Q1 Flag2
0
Flag3 RESET

SR_3
Flag1 AND
SR
Flag2
Input0_ SET1 Q1 Flag3
2
Flag4 RESET

SR_4
Flag2 AND
SR
Flag3
Input0_ SET1 Q1 Flag4
4
Flag5 RESET

SR_5
Flag3 AND
SR
Flag4
Input0_ SET1 Q1 Flag5
1
Flag1 RESET
E311 Fundamentals and Applications of Programmable Logic Controllers
103
Solution 14

SR_6
SR

Flag2 SET1 Q1 Output0_0

Flag4 RESET

SR_7
SR

Flag3 SET1 Q1 Output0_1

Flag5 RESET

Instruction List

LD Input0_1
AND Input0_3
ST SR_1.SET1
LD Flag2
ST SR_1.RESET
CAL SR_1
LD SR_1.Q1
ST Flag1

LD Input0_0
AND Flag1
ST SR_2.SET1
LD Flag3
ST SR_2.RESET
CAL SR_2
LD SR_2.Q1
ST Didactic
Festo Flag2
104
Solution 14

LD Input0_2
ANDN Flag1
AND Flag2
ST SR_3.SET1
LD Flag4
ST SR_3.RESET
CAL SR_3
LD SR_3.Q1
ST Flag3

LD Input0_4
ANDN Flag2
AND Flag3
ST SR_4.SET1
LD Flag5
ST SR_4.RESET
CAL SR_4
LD SR_4.Q1
ST Flag4

LD Input0_1
ANDN Flag3
AND Flag4
ST SR_5.SET1
LD Flag1
ST SR_5.RESET
CAL SR_5
LD SR_5.Q1
ST Flag5

LD Flag2
ST SR_6.SET1
LD Flag4
ST SR_6.RESET
CAL SR_6
ST Output0_0

LD Flag3
ST SR_7.SET1
LD Flag5 E311 Fundamentals and Applications of Programmable Logic Controllers
ST SR_7.RESET
CAL SR_7
ST Output0_1
105
Solution 14

Sequential Function Chart for Festo PLC

Sequential Function Chart

S001 R Output0_0

R Output0_1
Input0_0

S002 S Output0_0

Input0_2

S003 S Output0_1

Input0_4

S004 R Output0_0

Input0_1

S005 R Output0_1

Input0_3

Festo Didactic
106
Solution 14

E311 Fundamentals and Applications of Programmable Logic Controllers


107
Exercise 15

Exercise 15

Distributing Device for Boxes

Problem Description

Metal strips are placed manually in a fixture. Cylinder 1.0


clamps the metal strip when a push button is pressed.
Cylinder 2.0 starts the bend and retracts. Cylinder 3.0
completes the bending operation. After Cylinder 3.0 has
returned to its initial position, Cylinder 1.0 releases the
part.

Sequence abbreviation: A+ B+ B- C+ C- A-

Reed switches sense cylinder positions.

• Draw the electrical circuit diagram and Electro-


pneumatic circuit diagram.
• Assemble the equipment.
• Formulate the PLC program using MultiProg.
• You should use either the Ladder Diagram or the
Sequential Function Chart.

Festo Didactic
108
Exercise 15

Electro-Pneumatic Circuit Diagram

Electrical Circuit Diagram

E311 Fundamentals and Applications of Programmable Logic Controllers


109
Solution 15

Solution 15
For Festo PLC

Name Attrib Type Comment

Input0_0 [Input] BOOL Proximity Sensor B1


Input0_1 [Input] BOOL Cylinder A Back B2
Cylinder A Forward
Input0_2 [Input] BOOL
B3
Input0_3 [Input] BOOL Cylinder B Back B4
Cylinder B Forward
Input0_4 [Input] BOOL
B5
Input0_5 [Input] BOOL Cylinder C Back B6
Cylinder C Forward
Input0_6 [Input] BOOL
B7
Cylinder A Solenoid
Output0_0 [Output] BOOL
Y1
Cylinder B Solenoid
Output0_1 [Output] BOOL
Y2
Cylinder C Solenoid
Output0_2 [Output] BOOL
Y3
Flag1 [Internal] BOOL Internal Relay 1
Flag2 [Internal] BOOL Internal Relay 2
Flag3 [Internal] BOOL Internal Relay 3
Flag4 [Internal] BOOL Internal Relay 4
Flag5 [Internal] BOOL Internal Relay 5
Flag6 [Internal] BOOL Internal Relay 6
Flag7 [Internal] BOOL Internal Relay 7

Festo Didactic
110
Solution 15

Ladder Diagram

Input0_0 Flag7 Flag1

Flag1

Input0_2 Flag1 Flag2

Flag2

Input0_4 Flag2 Flag3

Flag3

Input0_3 Flag3 Flag4

Flag4

Input0_6 Flag4 Flag5

Flag5

E311 Fundamentals and Applications of Programmable Logic Controllers


111
Solution 15

Input0_5 Flag5 Flag6

Flag6

Input0_1 Flag6 Flag7

Flag1 Flag6 Output0_0

Flag2 Flag3 Output0_1

Flag4 Flag5 Output0_2

Festo Didactic
112
Solution 15

Sequential Function Chart

S001 R Output0_0

R Output0_1
Input0_0
R Output0_2

S002 S Output0_0

Input0_2

S003 S Output0_1

Input0_4

S004 R Output0_1

Input0_3

S005 S Output0_2

Input0_6

S006 R Output0_2

Input0_5

S007 R Output0_0

Input0_1

E311 Fundamentals and Applications of Programmable Logic Controllers


113
Solution 15

Festo Didactic

You might also like