You are on page 1of 99

SIEMENS SIMATIC S7

INTRODUCTION TO

PROGRAMMABLE
LOGIC
CONTROL
Revision 2

ASSESSMENT

Practical Test 1 20%


Practical Test 2 20%
Assignment 20%
Final Exam 30%
Key Qualification 10%

Handout section 1.0

Topic 1
Basic Principle of
Control Technology

PLC
PROGRAMMABLE LOGIC CONTROL (PLC):
A digital electronic device that uses a
programmable memory to store instructions
and to implement specific functions such as
logic, sequence, timing, counting and
arithmetic to control machines and process.

Definition of Control
What is CONTROL?
CONTROL is the process in a system in which
one or several input variables influence other
variables
DIN 19226

A Simple View of a Control System

INFORMATION

COMMANDS

C
O
N
T
R
O
L

S
Y
S
T
E
M

SENSORS

ACTUATORS

P
L
A
N
T

Open-loop Control System


In open-loop control systems, output variables are
influenced by the input variables.
L

Closed-loop Control System


It is characterized by continuous comparison of the
desired value (or set point) with the actual value of the
controlled variable.
L
Xi - Required value

Xi > Xs

Xs - Actual value
N

C
Xs

Xi < Xs

Xi

Handout section 1.1

PLC and Conventional Control System


The essential difference between programmable
control and traditional control technology may be
summed up as follows:
The functions are no longer determined by the wiring, but
rather by the program
Programming is simplified to enable symbols familiar to
the control engineer to be used (contacts or logic graphic
symbols)

Handout section 1.3

Hardwire and PLC Wiring Diagrams


L

24 VDC
S1
S2

S1
K1

K1
N

S2

PLC
K1
0V

Hardwire

PLC

Comparison
Hardwired control systems

Programmable control system

The functions are determined by


the physical wiring.

The functions are determined by


a program stored in the memory.

Changing the function means


changing the wiring

The control functions can be


changed simply by changing the
program.

Can be contact-making type


(relays, contactors) or electronic
type (logic circuits)

Consist of a control device, to


which all the sensors and
actuators are connected.

HISTORY OF PLC
During the late 1960s, General Motors (USA) was interested in the
computer application to replace the hardwire systems.
Bedford Associates (Modicon) and Allen Bradley responded to General
Motors.
The name given was Programmable Controllers or PC.
Programmable Logic Controller or PLC was a registered trademark of
the Allen Bradley.
Later, PC was used for Personal Computer and to avoid confusion PLC
for Programmable Controller and PC for a personal computer.

ADVANTAGES OF PLC COMPARED TO HARDWIRE


Implementing changes and correcting errors
Pilot run - trial / test run
Visual observation - online monitoring
Speed of operation
Reliability
Documentation

Handout section 1.4

Basic Structure of a PLC


POWER
SUPPLY

INPUT
MODULES

PG/
PC

CENTRAL
PROCESSING
UNIT (CPU)
MEMORY
(EPROM/RAM)

OUTPUT
MODULES

Input Connections

Input card

Input
Devices

Converter
field voltage to 5V
acceptable by the CPU

Handout section 1.4.1

Input Interface / Module


From field wiring
Detection
Bridge
Signal
Conditioning
Logic Status
Light

Threshold
Decision

Opto-Isolation
Logic
To CPU / Memory

Output Connections

Output card
Converter
5V to field voltage
to drive field devices

Output
Devices

Handout section 1.4.2

Output Interface / Module


From CPU / Memory
Logic Status
Light

Logic

Opto-Isolation
Switching
Circuitry

Protection
Circuitry
To field wiring

Input / Output Modules


Digital input modules adapt digital signals e.g. from proximity
sensors
Digital output modules convert the internal signal level of PLC into
digital process signals e.g. relays
Analog input modules adapt analog process signals e.g. from
transducers
Analog output modules convert internal digital values of the PLC to
analog process signals e.g. temperature controller

Handout section 1.4.3

Central Processing Unit (CPU)


What is a CPU?
The brain of a PLC
Controlled by a program called the executive or operating
system (OS)
The executive is a collection of supervisory programs
permanently stored in memory

CPU
Four basic types of CPU operations:
Input and output operation
Arithmetic and logic
Reading or changing contents of memory locations
Jump operations

CPU

ACCUMULATOR

INTERNAL
PROGRAM
MEMORY
(RAM)

MEMORY
SUBMODULE
(EPROM/
EEPROM/
RAM)

TIMERS,
COUNTERS,
Memory

SERIAL
INTERFACE

PROCESSOR
PII

PIQ

CPU
The CPU reads in input signal states, processes the control program
and controls the outputs.
The CPU provides internal Memory, timers and counters.
Restart procedure can be preset and errors can be diagnosed using the
CPUs LEDs.
The overall Reset on the CPU is used to delete the contents of the
RAM.
A PG or a Memory submodule is used to transfer the control program to
the CPU.

Handout section 1.4.4

Program Memory
Program memory

RAM (Random Access Memory)

ROM (Read Only Memory)

the memory contents can be


read and written (modified)

the memory contents can be


read, but cannot be modified

memory contents will be lost


when the supply voltage fails

Types of Program Memory


Program memory
Programmable
(Read-write memory)

Non-programmable
Non-alterable
ROM / PROM

Alterable

UV erasable
EPROM / REPROM

Semiconductor RAM

Electrically erasable
EEPROM / EAPROM

Semiconductor
EEPROM / EAPROM

Memory Submodules
EPROM SUBMODULE
An ultraviolet erasing device is used to delete the contents of the
submodule
EEPROM SUBMODULE
EEPROM submodule can be programmed or erased using a
programmer
RAM SUBMODULE
Can be used in addition to program storage; and used to test a
control program during system startup

Handout section 1.4.5

Power Supply Module


The power supply module supplies the operational voltage for the
PLC and provides backup for the RAM with a battery
Backup battery
The backup battery maintains the program and data when the PLC
is switch off
The backup battery has a service life of approximately 2 years

Hardware Summary
External power supply

PG

PS951

CPU

Input
module

Input
devices

Output
module

Output
devices

Handout section 1.6

Signal States and Sensor Contacts


There are only two different states:
SIGNAL STATE 0
SIGNAL STATE 1
The sensor is a

=
=

voltage not present = OFF


voltage present
= ON

The sensor is

Voltage at input

Signal state

NO contact

activated

present

NO contact

not activated not present 0

NC contact

activated

NC contact

not activated present

not present 0
1

Handout section 1.7

Addressing of Inputs and Outputs


The addressing of inputs and outputs are identified by an operand
identifiers and the parameter
Operand identifiers:
I
- Input
Q - Output
Parameter: (consists of a byte and a bit address)
0.0 0.7
(where 0. is the byte; 07 are the bit addresses)
1.0 1.7

Types of Addressing
Symbolic

Absolute

example:
A
I 0.0
=
Q 8.0
A
I0.4
=
Q20.5
Call FC18
Symbol

example:
A
=
A
=
Call

System_On
System_On
M_FORW
MOTOR_FOR
COUNT

Address

Data Type

MOTOR_FOR

Q20.5

BOOL

Motor moves forward

COUNT

FC18

FC18

Count bottles

SYSTEM_ON

I0.0

BOOL

Switch system ON

SYSTEM_ON

Q8.0

BOOL

Indicator: System is ON

M_FORW

I0.4

BOOL

Pushbutton: Motor forward

Max. 24 character

Comment

Max. 80 character

Handout section 1.8.1

Program Representation - LAD


LAD - Ladder Diagram
I 0.0
I 0.1

Q 4.0

( )

The graphical representation of a control task using symbols to


DIN 19239
Very similar to traditional circuit diagrams, but the current paths are
arranged horizontally instead of vertically

Handout section 1.8.2

Program Representation - FBD


FBD - Function Block Diagram
I 0.0
I 0.1

&

Q 4.0

The graphical representation of a control task using symbols to


DIN 40700 and DIN 19239
Inputs are arranged on the left side while outputs on the right

Handout section 1.8.3

Program Representation - STL


STL - Statement List
A I 0.0
A I 0.1
= Q 4.0
The control statement describes the task with mnemonic abbreviations of
function designation (DIN 19239)
Each method of representation has special characteristics and specific limits
If certain rules are followed, translation into all three methods of
representation is possible

Handout section 1.8.4

Operation And Operand


Operation;
Describes the function to be carried out (what is to be done)
e.g Binary operations, Digital operations and Organizational operations
Operand;
START FROM HERE

Handout section 1.8.4

Operation And Operand


LAD

FBD

OPERATION + OPERAND

I 0.0

M 80.0

STL

OPERAND + OPERATION

I 0.0
M 80.0

&

OPERATION + OPERAND

A I 0.0
A M 80.0

OPERATION + OPERAND

Q 4.0
( )

Q 4.0

= Q 4.0

Handout section 1.9

Program Execution
PLC Scan Function:
Read the status of all inputs and outputs
Examine the application program instructions
Execute the control program

Handout section 1.9.1

Linear Program Scanning


Statements are scanned linearly
At the end of the program, scanning starts again from the
beginning
This is also referred to as cyclical scanning
Linear program scanning is used mainly for simple, small-scale
control schemes

OB1
Linear program scanning

OB = Organization Block
Every program must have OB1

OB1

When the PLC is set to run, the


PLC will look for OB1 only in the
user memory and execute it

A I 0.0
A I 0.1
= Q 4.0
:
:
:
BE

Other blocks can be called from


OB1 with the jump command

Cyclic program execution

Handout section 1.9.2

Structured Program Scanning


FC1

Complex tasks are subdivided


into clearly differentiated subtasks
i.e. the program is divided into
small, easy-to-follow program
blocks, organized according to
different functions

Cyclic program execution

Operating
system
OB1
JU FC 1
JU FC 4
:
:
:
BE

Structured program scanning

A I 0.0
A I 0.1
= Q 4.0
:
:
:
BE

FC4
A Q 4.0
A I 0.2
= Q 5.0
:
:
:
BE

Linear programming

Structured programming

OB1

Network 1
A I 0.6
A I 0.7
= Q 4.2
Network 2
A I 0.7
A I 0.5
= Q 4.3
Network 3
A Q 4.2
A I 0.2
= Q 5.5
BE

FC 1

OB 1
Network 1
JU FC 1
JU FC 4
BE

Network 1
A I 0.6
A I 0.7
= Q 4.2
Network 2
A I 0.7
A I 0.5
= Q 4.3
BE

FC 4
Network 1
A Q 4.2
A I 0.2
= Q 5.5
BE

Handout section 1.9.3

Program Execution
24 VDC
I 0.0

Input
module

Process
input image

Process
output image

Output
module

Q 4.0

A I 0.1

I 0.1

P
I
I
1

= Q 4.0
O I 0.5
O I 0.7

P
I
Q

= Q 4.3
BE:

I 0.7

1
Input cycle

Program execution

GND

A I 0.0

I 0.5

Program in
the RAM

Output cycle

1
Q 4.3

PII - Process Input Image


Update PII
A buffer of input signals
Update just before program execution
starts
Not updated during program execution

Execute
Program
Logic

Logic executed based on status in PII


Prevent signal transition during program
cycle to affect the program

Update Output

PIQ - Process Output Image


Updated by the
program logic during
program execution

OB1

PIQ

The contents of PIQ


are transferred to the
output module at the
end of OB1
Copy PIQ to Output Module

Handout section 1.9.4

BLOCK TYPES
ORGANISATION BLOCKS (OB) Interface between the operating system and the
user program
FUNCTIONS (FC) - Contains a partial functionality of the program
DATA BLOCKS (DB) Are data areas of the user program in which user data are
managed in a structured manner
SYSTEM FUNCTION BLOCKS (SFB), SYSTEM FUNCTIONS (SFC) - SFBs and
SFCs are integrated in the S7 CPU and allow you access to some important system
functions
FUNCTION BLOCKS (FB) - FBs are blocks with a memory which you can
program yourself
INSTANCE DATA BLOCKS (DB) - Instance DBs are associated with the block
when an FB/SFB is called. They are created automatically during compilation

Block Nesting Depth


FC 7
FC 4
FC 1
OB1
JU FC 1
..
...
..
BE

JU FC4
..
...
BE

JU FC 7
..
...
BE

A I ....
..
..
..
BE

Handout section 1.9.5

The Operand Areas (for Siemens S5-95U PLC)


I (Input)
Interface from the process to the programmable controller
Q (Output)
Interface from programmable controller to the process
M (Memory/Flag)
Memory for intermediate results of binary operations
T (Timer)
Memory for implementing timers
C (Counter)
Memory for implementing counters

Handout section 1.9.6

The Addressing of Siemens S7


Operand Areas

Addressing

Input (I)

0.0 to 0.7
1.0 to 1.7
2.0 to 2.7
3.0 to 3.7
4.0 to 4.7

Output (Q)

5.0 to 5.7
8.0 to 8.7
Counters (C)
Timers (T)

9.0 to 9.7
0 to 63
0 to 127

Handout section 3.0

Topic 3
Programming Basic
Functions

Handout section 3.1

The Stages of Project Planning


Description of the Problem
Assignment Lists
Rough Structure of the Control System
Program Structure
Detailed Structure of the Control System

The Stages of Project Planning


Problem Description
it consists of process schematic, a short description of the task
definition, and a list of the sensors and actuators
Assignment List
the sensors and actuators are allocated to the parameters of the
programmable controller
it contains a short functional description as well as the device
identifier

The Stages of Project Planning


Rough Structure of the Control System
it contains all sub-functions of the process with relevant sensors,
actuators and indicators
Program Structure
it determines the order in which the LAD, FBD or STL diagram to
be drafted
Detailed Structure of the Control System
using the assignment list and the program structure, the flow chart
contained in the rough structure is refined

Handout section 3.2

Programming AND Operation


LAD

I 0.0

I 0.1

Q 4.0

( )

FBD

STL

I 0.0

A I 0.0
A I 0.1
= Q 4.0

I 0.1

&

Q 4.0

Handout section 3.3

OR Operation
LAD

I 0.0

Q 4.0

I 0.1

FBD

STL

I 0.0

O I 0.0
O I 0. 1
= Q 4.0

I 0.1

>= 1

Q 4.0

Handout section 3.4

AND - before - OR Operation

I 0.0

I 0.2

I 0.1

I 0.3

LAD
I 0.0

I 0.1

I 0.2

I 0.3

Q 4.0

FBD
I 0.0
I 0.1
I 0.2
I 0.3

&
>= 1

&

Q 4.0

STL
A I 0.0
A I 0.1
O
A I 0.2
A I 0.3
= Q 4.0

Handout section 3.5

OR - before - AND Operation

I 0.0

I 0.2

I 0.1

I 0.3

LAD
I 0.0

I 0.1

I 0.2

I 0.3

Q 4.0

FBD
I 0.0
I 0.1
I 0.2
I 0.3

>= 1

&
>= 1

Q 4.0

)
STL
A(
O I 0.0
O I 0.2
)
A(
O I 0.1
O I 0.3
)
= Q 4.0

Handout section 3.6

Programming of NC Contacts and NO Contacts


Physical connection PLC programming

NO contact
NO contact
NO contact
NO contact
NC contact
NC contact
NC contact
NC contact

NO contact
NO contact
NC contact
NC contact
NO contact
NO contact
NC contact
NC contact

The sensor is

activated
not activated
activated
not activated
activated
not activated
activated
not activated

Signal state

1
0
0
1
0
1
1
0

Handout section 3.7

Latching Output

S3

K2
S4

K2

SET Priority / Dominant SET

S1

K1

S2

K1

RESET Priority / Dominant RESET

Handout section 3.8

RS Memory Function

S3

S4

K2

S2

K2

S1

K1

S
SET Priority / Dominant SET

( )

RS Memory Function

S1

S3

K1

S
S2

K1

S4

K2

RESET Priority / Dominant RESET

( )

Try This !
LAD
I 0.0

I 0.1

Q 4.0

I 0.2

I 0.3

Q 4.0

I 0.4

I 0.5

(
(

)
)

Will the output Q 4.0 be


activated when you
activate:

I 0.0 and I 0.1 ?

I 0.2 and I 0.3 ?

Q 4.0

)
I 0.4 and I 0.5 ?

The Answer
I 0.0 and I 0.1 = NO!
I 0.2 and I 0.3 = NO!
I 0.4 and I 0.5 = YES but why ?

When I0.0 and I0.1 Are Activated...


LAD
I 0.0

I 0.1

Q 4.0

I 0.2

I 0.3

Q 4.0

I 0.4

I 0.5

Q 4.0

(
(
(

)
)
)

the PLC registers in the PIQ


that Q 4.0 is 1
the PLC registers in the PIQ
that Q 4.0 is 0
the PLC registers in the PIQ
that Q 4.0 is 0
so, Q 4.0 = 0

When I0.2 and I0.3 Are Activated...


LAD
I 0.0

I 0.1

Q 4.0

I 0.2

I 0.3

Q 4.0

I 0.4

I 0.5

Q 4.0

(
(
(

)
)
)

the PLC registers in the PIQ


that Q 4.0 is 0
the PLC registers in the PIQ
that Q 4.0 is 1
the PLC registers in the PIQ
that Q 4.0 is 0
so, Q 4.0 = 0

When I0.4 and I0.5 Are Activated...


LAD
I 0.0

I 0.1

Q 4.0

I 0.2

I 0.3

Q 4.0

I 0.4

I 0.5

Q 4.0

(
(
(

)
)
)

the PLC registers in the PIQ


that Q 4.0 is 0
the PLC registers in the PIQ
that Q 4.0 is 0
the PLC registers in the PIQ
that Q 4.0 is 1
this time, Q 4.0 = 1

The Problem of Repetitive Outputs


Therefore, when the same output is used more than once in the
program, only the last state of the output will be valid due to the
PLC dynamically updating the PIQ (Process Output Image)
MEMORY = Memory for intermediate results of binary
operations
Memory can be treated as flags/variables
Memory can be used to solve the problem of repetitive outputs

Using Memory...
I 0.0

I 0.1

M 100.0

I 0.2

I 0.3

M 100.1

I 0.4

I 0.5

M 100.2

M 100.0
M 100.1
M 100.2

Q 4.0

Result of Logic Operation (RLO)

Q 4.0
I 0.0
I 0.1
I 0.2

&
>=1

Q 5.0

A Q 4.0
A(
O I 0.1
O I 0.2
O I 0.3
)
= Q 5.0

RLO

STAT

Parenthesized Function
Mathematics

Logic Operation

Multiplication Before Addition


4 X 8 + 3 X 2 = 38

AND before OR
RLO
STAT
A I 0.0
1
A I 0.1
1
O
A I 0.2
0

1
1
1

\
0

Parenthesized Function
Mathematics

Logic Operation

Addition Before Multiplication


4 X (8 + 3 ) X 2 = 88

OR before AND
A I 0.0
A(
O I 0.1
O I 0.2
)
A I 0.3
= Q 4.1

RLO
1
1
1
1
1
1
1

STAT
1
\
1
0
\
1
1

Handout section 4.0

Topic 4
Numerical Systems and
Data Formats

Handout section 4.1

Comparison of Number Systems

Handout section 4.2

Bit, Byte and Word Addresses

Handout section 4.4

Load and Transfer Operations


Characteristics:
They are used to perform operations on a whole byte or word in
memory
They are unconditional operations i.e. They are performed by the
processor in each cycle
Functions:
Exchange information between various operand areas
Prepare times and counts for further processing
Load constants for program processing

Load Operation
ACCUM 2

ACCUM 1

Byte d

Byte c

Byte b

Byte a

Byte b

Byte a

IB 0

L
L

IB 0
IB 1

PII

IB 1
0

IB 0

IB 1
Information from PII

Transfer Operation
ACCUM 2

Byte d

Byte c

ACCUM 1

Byte b

Byte a

T
PIQ
Byte a

Byte d

Byte c

Byte b

QB 0

QB 0

Byte a

Information in the PIQ

Handout section 4.5

Arithmetic and Assignment of Accumulator

Handout section 4.6

Binary Coded Decimal (BCD)

Handout section 5.0

Topic 5
Timer Operations

Handout section 5.0

Fault Indication with Timer Function

Handout section 5.1

Inputs and Outputs of a Timer

Handout section 5.2.1

Types of Timer - Pulse Timer (SP)

Handout section 5.2.2

Extended Pulse Timer (SE)

Handout section 5.2.3

On Delay Timer (SD)

Handout section 5.2.4

Stored On Delay Timer (SS)

Handout section 5.2.5

Off Delay Timer (SF)

Load and Transfer Timer Value

Handout section 5.4

Return Operations
BE (Block End)
the return operation is performed unconditionally
it is always the last statement in the block

BEU (Block End Unconditional)


the return operation is performed unconditionally
statements can follow BEU, but they will not be executed
BEU is often used during commissioning so that individual parts of the
program can be tested

BEC (Block End Conditional)


the return is made dependent on a condition and is only performed if the
condition is satisfied

Block End Operations BEC, BEU and BE


FC1
:
:A
:BEC
:
:BE

OB1
System

:
:JU
:A
:JC
:
:BEU
:
:JU
:BE

FC1
I 0.0
FC 2

FC3

I 0.6

is always executed
is executed only
when I 0.6 = 0

FC2

is not
executed

:
:
:BE

is executed only
when I 0.0 = 1

FC3
:
:
:BE

is not executed

Handout section 6.0

Topic 6
Counter Operations

Handout section 6.0

Counter

Counter Operations
CU
CD
S
CV
R
BI
DE
Q

- count up
- count down
- set counter to the count value (CV)
- the count value
- reset the counter (count value = 0)
- counter output as binary number
- counter output as BCD number
- counter status
Q = 0 when count value = 0
Q = 1 when count value > 1

Handout section 6.2

Timing Diagram

Counter Input

Handout section 6.3

Counter Output

Handout section 6.4

Comparator
Types of comparison:
!=F
><F
>F
>=F
<F
<=F

compare for equal to


compare for not equal to
compare for greater than
compare for greater than or equal to
compare for less than
compare for less than or equal to

Comparison Operations
The comparison operations compare two digital values in
accumulator 1 and accumulator 2
The result of comparison produces an RLO:
Comparison satisfied

RLO = 1

Comparison not satisfied

RLO = 0

Handout section 6.4

Comparator

You might also like