Beruflich Dokumente
Kultur Dokumente
Chang
Chapter 7. PROGRAMMABLE
LOGIC CONTROLLER
05/14/15
7- 1
T.C. Chang
FUNCTIONS OF CONTROLLERS
1) on-off control,
2) sequential control,
3) feedback control, and
4) motion control.
05/14/15
7- 2
T.C. Chang
CONTROL DEVICES
1) mechanical control - cam, governor, etc.,
2) pneumatic control - compressed air,
valves,etc.
3) electromechanical control - switches,
relays, a timer, counters, etc,
4) electronics control - similar to
electromechanical control, except uses
electronic switches.
5) computer control.
05/14/15
7- 3
T.C. Chang
PROGRAMMABLE LOGIC
CONTROLLER
Invented in 1968 as a substitute for hardwired relay panels.
"A digitally operating electronic apparatus which uses a
programmable memory for the internal storage of instructions by
implementing specific functions such as logic sequencing,
timing, counting, and arithmetic to control, through digital or
analog input/output modules, various types of machines or
processes. The digital computer which is used to perform the
functions of a programmable controller is considered to be
within this scope.
Excluded are drum and other similar
mechanical sequencing controllers."
05/14/15
7- 4
T.C. Chang
VENDOR
S
MODICOM - GOULD
ALLEN-BRADLEY
GE
SQUARE-D
etc.
05/14/15
7- 5
T.C. Chang
PLC
CPU
Input
Input
Module
Flag
System
Output
Output
Module
User Ladder
Diagram
Working
memory
registers
05/14/15
7- 6
T.C. Chang
Allen-Bradley PLC-3
05/14/15
7- 7
T.C. Chang
05/14/15
7- 8
T.C. Chang
SWITCHES
Non-locking
Locking
Normally Ope n
Normally Clos e d
P1
SPDT
DPST
P2
05/14/15
Multiple Throw
Multiple Pole
7- 9
T.C. Chang
TERMS
Throw - number of states
Pole - number of connecting moving parts (number of individual
circuits).
SPDT
DPST
B
Output
Input
Knob
How is this switch classified?
05/14/15
7- 10
T.C. Chang
TYPES OF SWITCHES
05/14/15
Selector switches
Pushbutton switches
Photoelectric switches
Limit Switches
Proximity switches
Level switches
Thumbwheel switches
Slide switches
RATING:
24 Volts AC/DC
48 Volts AC/DC
120 Volts AC/DC
230 Volts AC/DC
TTL level
(Transistor-to-transistor
5V)
Isolated Input
7- 11
T.C. Chang
RELAYS
A switch whose operation is activated by an electromagnet is called a "relay"
contact
coil
input
Relay coil
R1
Output contact
05/14/15
R1
7- 12
T.C. Chang
COUNTER
Digital counters output in the form of a relay contact when a preassigned
count value is reached.
input
reset
Register
Accumulator
contact
output
Input
Reset
Output
Count
05/14/15
12
1
7- 13
T.C. Chang
TIMER
A timer consists of an internal clock, a count value register, and an
accumulator. It is used for or some timing purpose.
Clock
reset
Accumulator
Register
contact
Contact
output
Clock
Reset
Output
Count
Time 5 seconds.
05/14/15
7- 14
T.C. Chang
For a process control, it is desired to have the process start (by turning
on a motor) five seconds after a part touched a limit switch. The
process is terminated automatically when the finished part touches a
second limit switch. An emergency switch will stop the process any
time when it is pushed.
L1
LS1
PB1
LS2
R1
R1
R1
TIMER
R2
LS1
PB1
LS2
PR=5
TIMER
5
Motor
R2
R1
05/14/15
7- 15
T.C. Chang
PLC ARCHITECTURE
Programmable controllers replace most of the relay panel wiring by
software programming.
Program
Loader
PC
Switches
Printer
Processor
I/O
Modules
Memory
Power
Supply
Machines
Cassette
Loader
EPROM
Loader
External Devices
Peripherals
A typical PLC
05/14/15
7- 16
T.C. Chang
PLC COMPONENTS
1. Processor
Microprocessor based, may allow arithmetic
operations, logic operators, block memory moves,
computer
interface, local area network, functions, etc.
2. Memory
Measured in words.
05/14/15
7- 17
T.C. Chang
3. I/O
PLC
COMPONENTS
Modular plug-in periphery
AC voltage input and output,
DC voltage input and output,
Low level analog input,
High level analog input and output,
Special purpose modules, e.g., high speed timers,
Stepping motor controllers, etc. PID, Motion
05/14/15
modular PC
7- 18
T.C. Chang
Discrete I/O
AC Voltage I/O
DC Voltage I/O
numerical input and output
special-purpose modules, for example, highspeed timers, and stepping motor controllers
05/14/15
7- 19
T.C. Chang
Analog I/O
Analog inputs:
Flow sensors
Humidity sensors
Potentiometers
Pressure sensors
Temperature sensors
Analog outputs:
Analog meters
Analog valves and actuators
DC and AC motor drives
05/14/15
7- 20
T.C. Chang
Thermocouple input
Fast input
50 to 100 microsecond pulse signal detection.
ASCII I/O
Communicates with ASCII devices.
Servo interface
Control DC servo motor for point-to-point control and axis positioning.
PID control
The Proportional Integral Derivative is used for closed loop process
control.
Network module
05/14/15
7- 21
T.C. Chang
05/14/15
7- 22
T.C. Chang
LADDER DIAGRAM
A ladder diagram (also called contact symbology) is a means of
graphically representing the logic required in a relay logic system.
Rail
Rung
start
PB1
emergency stop
PB2
R1
R1
R1
A
05/14/15
7- 23
T.C. Chang
Input
01
02
Output
PLC
01
02
20
11
12
20
03
20
11
External
switches
Stored program
05/14/15
7- 24
T.C. Chang
Input Connections
AC
05/14/15
DC
TTL
7- 25
T.C. Chang
Output Connections
AC
05/14/15
DC
TTL
7- 26
T.C. Chang
SCAN
A PLC resolves the logic of a ladder diagram (program) rung by rung,
from the top to the bottom. Usually, all the outputs are updated based on
the status of the internal registers. Then the input states are checked and
the corresponding input registers are updated. Only after the I/Os have
been resolved, is the program then executed. This process is run in a
endless cycle. The time it takes to finish one cycle is called the scan
time. In some controllers the idle state is eliminated. In this case, the
scan time varies depends on the program length.
Output
Input
begin
Idle
Scan cycle
Resolve
logic
05/14/15
7- 27
T.C. Chang
PLC Programming
05/14/15
7- 28
T.C. Chang
05/14/15
7- 29
T.C. Chang
LOGIC STATES
ON : TRUE, contact closure, energize, etc.
OFF: FALSE, contact open , de-energize, etc.
Do not confuse the internal relay and program with the external
switch and relay. Internal symbols are used for programming.
External devices provide actual interface.
(In the notes we use the symbol "~" to represent
negation. AND and OR are logic operators. )
05/14/15
7- 30
T.C. Chang
PB2
R1
R1 = PB1.AND.PB2
AND
PB3
PB1
PB4
R2
R2 = PB2.AND.~PB4
R1
R1 = PB1 .OR. PB2
OR
05/14/15
PB2
7- 31
T.C. Chang
R1
PB1
PB2
05/14/15
pb3
7- 32
T.C. Chang
RELAY
A Relay consists of two parts, the coil and the contact(s).
Contacts:
a. Normally open
-| |-
b. Normally closed
-|/|-
-|P|-
-|N|-
()
Coil:
05/14/15
a. Coil
-( )-
b. negative coil
-(/)-
c. Set Coil
-(S)-
d. Reset Coil
-(R)7- 33
T.C. Chang
Relay (continue)
Coil:
e. Retentive memory Coil
-(M)-
-(SM)-
-(RM)-
-(P)-
-(N)-
(set coil latches the state, reset coil deenergize the set coil.
retentive coil retain the state after power failure.)
05/14/15
7- 34
T.C. Chang
True
a. Retentive on delay
-(RTO)-
-(RTF)-
c. Reset
-(RST)-
stop
True
counting
resume
counting stop
Counter:
05/14/15
False
a. Counter up
-(CTU)-
b. Counter down
-(CTD)-
c. Counter reset
-(CTR)-
7- 35
T.C. Chang
SEQUENCE
R or processes involving
Sequencers are used with machines
Step
05/14/15
Dwell time
ON
OFF OFF
5 sec.
ON
ON OFF
10 sec.
OFF
OFF ON
3 sec.
OFF
ON OFF
9 sec.
7- 36
T.C. Chang
A-B PLC
I/O points are numbered, they correspond to the I/O slot on the
PLC.
For A-B controller used in our lab
I/O uses 1-32
Internal relays use 033 - 098
Internal timers/counters/sequencers use 901-932
Status 951-982
05/14/15
7- 37
T.C. Chang
PROGRAMMING EXAMPLE 1
Bar code reader
microswitch
Stopper
Conveyor
Part
Robot
Machine
id description
MSI microswitch
R1 output to bar code reader
C1 input from bar code reader
R2 output robot
R3 output robot
C2
input from robot
R4 output to stopper
C3
input from machine
C4
input from machine
05/14/15
state
1
1
1
1
1
1
1
1
1
explanation
part arrive
scan the part
right part
loading cycle
unloading cycle
robot busy
stopper up
machine busy
task complete
7- 38
T.C. Chang
SOLUTION
Input
MS1
C1
C2
C3
C4
Output
01
11
02
12
03
13
04
14
Programmable
Controller
PLC
05
01
11
14
14
02
05/14/15
14
04
05
03
03
12
13
R1
R2
R3
R4
15
T.C. Chang
05/14/15
assignments
expressions
statements
operators
function calls
flow control
7- 40
T.C. Chang
Data Types
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
short integer
integer
double integer
long integer
unsigned short integer
unsigned integer
unsigned double integer
unsigned long integer
real
long real
1 byte
2 bytes
4 bytes
8 bytes
1 byte
2 bytes
4 bytes
8 bytes
4 bytes
8 bytes
BOOL
BYTE
WORD
DWORD
LWORD
boolean
byte
16 bit bit string
32 bit bit string
64 bit bit string
1 bit
1 byte
16 bits
32 bits
64 bits
05/14/15
7- 41
T.C. Chang
BOOL;
TIME;
BOOL;
INT;
7- 42
T.C. Chang
Variable Declarations
Local variable:
VAR
I,j,k :
v
:
END_VAR
05/14/15
INT;
REAL;
7- 43
T.C. Chang
parenthesized expression
function( )
function
**
exponentiation
negation
NOT
Boolean complement
+-*/
math operators
MOD
modulus operation
comparison operators
equal
<>
not equal
AND, &
Boolean AND
XOR
Boolean XOR
OR
Boolean OR
05/14/15
Y := X+1.0;
y := a AND b;
v := (v1 + v2 + v3)/3
output := (light = open) OR
(door = shut);
7- 44
T.C. Chang
Condition Statements
IF a > 100 THEN
redlight := on;
ELSEIF a > 50 THEN
yellowlight := on;
ELSE
greenlight := on;
END_IF;
05/14/15
CASE dial_setting OF
1:
x := 10;
2:
x := 15;
3:
x := 18;
4,5: x := 20; (* 4 or 5 *)
ELSE
x := 30;
END_CASE
7- 45
T.C. Chang
Iteration Statements
FOR I:= 0 to 100 BY 1 DO
light[I] := ON;
END_FOR
I := 0;
WHILE I < 100 DO
I := 0;
REPEAT
I := I + 1;
light[I] := on;
UNTIL I > 100;
END_REPEAT
I := I + 1;
light[I] := on;
END_WHILE
05/14/15
7- 46
T.C. Chang
Functions
FUNCTION add_num : REAL
VAR_INPUT
I,J
REAL
END_VAR
add_num := I + J;
END_FUNCTION
Call a function:
x:= add_num(1.2, 5.6);
Built-in Functions:
ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIn, ACOS,
ATAN, ADD, MUL, SUB, DIV, MOD, EXPT, MOVE), logic
functions (AND, OR, XOR, NOT), bit string functions (SHL,
SHR shift bit string left and right , ROR, ROL rotate bit
string), etc.
05/14/15
7- 47
T.C. Chang
Programs
PROGRAM example7.1
VAR_INPUT
MSI :
BOOL;
C1 :
BOOL;
C2 :
BOOL;
C3 :
BOOL;
C4 :
BOOL;
R4 := C1;
END_PROGRAM
END_VAR
VAR_OUTPUT
R1 :
BOOL : FALSE;
R2 :
BOOL : FALSE;
R3 :
BOOL : FALSE;
R4 :
BOOL : FALSE;
END_VAR
05/14/15
7- 48
T.C. Chang
05/14/15
7- 49
T.C. Chang
CU
R
PV
Q
CV
05/14/15
: input to be counted
: reset
: preset value
: contact output
: counter value.
ELSEIF CU
AND (CV < PV) THEN
CV := CV + 1;
END_IF;
Q := (CV >= PV);
END_FUNCTION_BLOCK
7- 50
T.C. Chang
block diagram
05/14/15
SP
set point
PV
sensor feedback
KP
TR
integral gain
TD
derivative gain
AUTO
calculate
XOUT
output to process
XO
cycle
Vout K p E Tr Edt Td
dE
dt
control algorithm
7- 51
T.C. Chang
loop
05/14/15
LD
ST
ANDN
MS1
R1
C3
7- 52
T.C. Chang
Operator
s
load operand
ST N
store register
value into operand
S
AND N, (
Boolean AND
&
N, (
Boolean AND
OR
N, (
Boolean OR
XOR N, (
XOR
Boolean
ADD (
addition
SUB (
subtraction
MUL (
multiplication
DIV (
division
GT
(
greater than
GE
(
greater than and equal
to
EQ
equal
NE
not equal
LE
(
less than and equal to
LT(
less than
JMP
C, N
jump to label
CAL
C, N
RET
C, N
return from function or7- 53
T.C. Chang
MS1
ANDN
R4
ST
R1
LD
R4
MSI
C1 :
BOOL;
C2 :
BOOL;
C3 :
BOOL;
ANDN
C3
C4 :
BOOL;
ANDN
C2
END_VAR
ST
R2
VAR_OUTPUT
LD
C4
R1 :
BOOL : FALSE;
ANDN
C3
R2 :
BOOL : FALSE;
ST
R3
R3 :
BOOL : FALSE;
R4 :
BOOL : FALSE;
LD
C1
ST
R4
END_VAR
BOOL;
LD
END_PROGRAM
05/14/15
7- 54
T.C. Chang
7- 55
T.C. Chang
SFC
Action Qualifiers:
N
7- 56
T.C. Chang
05/14/15
7- 57