You are on page 1of 33

7 Flowchart Based Design

una introducci
on para la programaci
on de PLCs

Esteban Chavez-Conde
UPGto Rob
otica

Automatizaci
on Ind.
Nov 09

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

1 / 32

Contenido

Tecnicas de dise
no secuencial

Flowchart Based Design


Introduction
Block Logic
Sequence Bits

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

2 / 32

Contenido

Tecnicas de dise
no secuencial

Flowchart Based Design


Introduction
Block Logic
Sequence Bits

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

2 / 32

Referencias
Libros, tutoriales

Automating Manufacturing Systems with PLCs


Hugh Jack
Free Software Foundation, Inc. May, 2007

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

3 / 32

T
ecnicas de dise
no secuencial

Tecnicas de diseno secuencial


Introducci
on

En la Figura 1 se muestran tecnicas de dise


no secuencial para la solucion
de diversos problemas de automatizaci
on industrial.

Figura 1: T
ecnicas de dise
no secuencial.
Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

4 / 32

Flowchart Based Design

Flowchart Based Design

A flowchart is ideal for a process that has sequential process steps.


The steps will be executed in a simple order that may change as the result
of some simple decisions.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

5 / 32

Flowchart Based Design

Introduction

Introduction
Flowchart Based Design

The symbols used for flowcharts are shown in Figure 2.

Figure 2: Flowchart Symbols.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

6 / 32

Flowchart Based Design

Introduction

Introduction
Flowchart Based Design

These blocks are connected using arrows to indicate the sequence of the
steps. The different blocks imply different types of program actions.
Programs always need a start block, but PLC programs rarely stop so the
stop block is rarely used.
Other important blocks include operations and decisions. The other
functions may be used but are not necessary for most PLC applications.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

7 / 32

Flowchart Based Design

Introduction

Introduction
Flowchart Based Design

A flowchart is shown in Figure 3 for a control system for a large water tank.

Figure 3: A Flowchart for a Tank Filler.


Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

8 / 32

Flowchart Based Design

Introduction

Introduction
Flowchart Based Design

When a start button is pushed the tank will start to fill, and the flow out
will be stopped. When full, or the stop button is pushed the outlet will
open up, and the flow in will be stopped.
In the flowchart the general flow of execution starts at the top. The first
operation is to open the outlet valve and close the inlet valve. Next, a
single decision block is used to wait for a button to be pushed. When the
button is pushed the yes branch is followed and the inlet valve is opened,
and the outlet valve is closed.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

9 / 32

Flowchart Based Design

Introduction

Introduction
Flowchart Based Design

Then the flow chart goes into a loop that uses two decision blocks to wait
until the tank is full, or the stop button is pushed. If either case occurs the
inlet valve is closed and the outlet valve is opened. The system then goes
back to wait for the start button to be pushed again. When the controller
is on the program should always be running, so only a start block is
needed. Many beginners will neglect to put in checks for stop buttons.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

10 / 32

Flowchart Based Design

Introduction

Introduction
Flowchart Based Design

The general method for constructing flowcharts is:


1

Understand the process.

Determine the major actions, these are drawn as blocks.

Determine the sequences of operations, these are drawn with arrows.

Once a flowchart has been created ladder logic can be written. There are
two basic techniques that can be used, the first presented uses blocks of
ladder logic code. The second uses normal ladder logic.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

11 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

The first step is to name each block in the flowchart, as shown in Figure 4.
Each of the numbered steps will then be converted to ladder logic.
Step 1: Add labels to each block in the flowchart.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

12 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Figure 4: Labeling Blocks in the Flowchart.


Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

13 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Each block in the flowchart will be converted to a block of ladder logic. To


do this we will use the MCR (Master Control Relay) instruction. The
instruction is shown in Figure 5, and will appear as a matched pair of
outputs labelled MCR.

Figure 5: The MCR Function.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

14 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

If the first MCR line is true then the ladder logic on the following lines will
be scanned as normal to the second MCR. If the first line is false the lines
to the next MCR block will all be forced off. If a normal output is used
inside an MCR block, it may be forced off. Therefore latches will be used
in this method.
The first part of the ladder logic required will reset the logic to an initial
condition, as shown in Figure 6. The line will only be true for the first scan
of the PLC, and at that time it will turn on the flowchart block F1 which
is the reset all values off operation. All other operations will be turned off.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

15 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Step 2: Write ladder logic to force the PLC into the first state.

Figure 6: Initial Reset of States.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

16 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

The ladder logic for the first state is shown in Figure 7. When F1 is true
the logic between the MCR lines will be scanned, if F1 is false the logic
will be ignored. This logic turns on the outlet valve and turns off the inlet
valve. It then turns off operation F1, and turns on the next operation F2.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

17 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Step 3: Write ladder logic for each function in the flowchart.

Figure 7: Ladder Logic for the Operation F1.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

18 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

The ladder logic for operation F2 is simple, and when the start button is
pushed, it will turn off F2 and turn on F3. The ladder logic for operation
F3 opens the inlet valve and moves to operation F4.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

19 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Figure 8: Ladder Logic for Flowchart Operation F2.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

20 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Figure 9: Ladder Logic for Flowchart Operation F3.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

21 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

The ladder logic for operation F4 turns off F4, and if the tank is full it
turns on F6, otherwise F5 is turned on. The ladder logic for operation F5
is very similar.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

22 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Figure 10: Ladder Logic for Operation F4.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

23 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Figure 11: Ladder Logic for Operation F5.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

24 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

The ladder logic for operation F6 turns the outlet valve on and turns off
the inlet valve. It then ends operation F6 and returns to operation F2.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

25 / 32

Flowchart Based Design

Block Logic

Block Logic
Flowchart Based Design

Figure 12: Ladder Logic for Operation F6.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

26 / 32

Flowchart Based Design

Sequence Bits

Sequence Bits
Flowchart Based Design

In general there is a preference for methods that do not use MCR


statements or latches. The flowchart used in the previous example can be
implemented without these instructions using the following method.
The first step to this process is shown in Figure 13. As before each of the
blocks in the flowchart are labelled, but now the connecting arrows
(transitions) in the diagram must also be labelled. These transitions
indicate when another function block will be activated.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

27 / 32

Flowchart Based Design

Sequence Bits

Sequence Bits
Flowchart Based Design

Figure 13: Label the Flowchart Blocks and Arrows.


Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

28 / 32

Flowchart Based Design

Sequence Bits

Sequence Bits
Flowchart Based Design

The first section of ladder logic is shown in Figure 14. This indicates when
the transitions between functions should occur. All of the logic for the
transitions should be kept together, and appear before the state logic that
follows in Figure 15.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

29 / 32

Flowchart Based Design

Sequence Bits

Sequence Bits
Flowchart Based Design

Figure 14: The Transition Logic.


Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

30 / 32

Flowchart Based Design

Sequence Bits

Sequence Bits
Flowchart Based Design

The logic shown in Figure 15 will keep a function on, or switch to the next
function. Consider the first ladder rung for F1, it will be turned on by
transition T1 and once function F1 is on it will keep itself on, unless T2
occurs shutting it off.
If T2 has occurred the next line of ladder logic will turn on F2. The
function logic is followed by output logic that relates output values to the
active functions.

Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

31 / 32

Flowchart Based Design

Sequence Bits

Sequence Bits
Flowchart Based Design

Figure 15: The Function Logic and Outputs.


Esteban Ch
avez-Conde

UPGto

Rob
otica

()

7 Flowchart Based Design

Automatizaci
on Ind. Nov 09

32 / 32