Basics of PLC Programming
EE 100 – Intro to EE
Fall 2004
Dr. Stephen Williams, P.E.
Overview
How did we get where we are today?
How does a project at GM in 1968
relate to the work of Henry Leland in the
late 1800s?
PLC SLC
AB
Autos GM Ford
Bus Sensor
Drive
Vocabulary
Programmable Logic Controllers
Definite-purpose computers design to
control industrial processes and machines
Drives
Solid-state devices designed to control
motors
Sensors
Transducers used to obtain information
First Programmable Controller
General Motors Corporation
Hydromatic Division
Replacedrelay-controlled system
PDP-8 minicomputers?
MODICON 084
Modular Digital Controller
Information Flow
Genesis of Automation
Operation sheets
May date back to the 1830s
Listing of:
All
machining operations
The machine tools employed
Tools, jigs, fixtures, and gauges
Organization and flow of work
Industrial Revolution
High-volume production
Interchangeable parts
Transportation system
Inexpensive energy (coal)
Frederick W. Taylor
Scientific management
Henry Ford
Purpose of Automation
Increase productivity
Standardize
components or
processes
Free workers from
repetitive, and
sometime
dangerous, tasks
Early Automation Applications
1869 – Refineries in
Pennsylvania
automatically covert
crude oil to kerosene
1937 – Pictured is the
loading and unloading
of stators via an
overhead conveyor for
dipping in continuous
process oven
The Case Against Automation
Las Vegas Sun, August 2, 1961
Jimmy Hoffa saw a new industrial revolution
forming with automation being a threat to his giant
union more menacing than the Justice
Department, Attorney General Bobby Kennedy
and the president himself.
He felt he could cope with the Senate committees,
the FBI, and all the new legislation being written,
which he thinks is aimed at unionism. It is with
automation that all his talents, energy and ability
must be directed.
Forces Driving Automation
Lower costs
Faster production
Better quality control
How have they remained relevant
today?
Engineering Resources
Why do you need all
of these engineers
running around to
make all of this stuff
work?
Breakthroughs and Plateaus
Where have we seen breakthroughs,
and then plateaus of technology?
Microprocessors
Graphical User Interfaces
Power Electronics
Software Systems
Brief Review of Technology
Traditional (ancient?) devices
Still used in many plants
If it ain’t broke …
Where are we going?
Traditional Relay Logic
Used since …
Control via a series of relay contacts
On and off inputs
Race conditions on the outputs
Very expensive
Hard to design and construct
Difficult to maintain
Traditional Devices
Relays
Contactors
Motor Starters
Manually operated switches
Mechanically operated switches
Electrically operated switches
Relays
Original
control elements
Now used as auxiliary devices
The PLC is not designed to switch high
currents or voltages
CR1-1
CR1
Contactors
Used for heavy-duty switching
Provides isolation from high voltages
and large currents
Usefully for large inductive currents,
such as motor starting
Motor Starters
Contactors + Overload Relay
Overload relays were usually heaters
and bimetal strips
The bimetal strip separates when heated
Next steps:
PLCs and motor starters
Electronic overloads
Intelligent starters
Manually Operated Switches
Pushbuttons
Normally open
Normally closed
Break-then-make
Make-then-break
Selector switches
Maintained or spring return
Mechanically Operated
Switches
LimitSwitches
Temperature Switches
Pressure Switches
Level Switches
Electrically Operated Switches
PhotoelectricSwitches
Proximity Switches
What's ahead?
Solid state devices to replace motor
starters
Distributed smart sensors
Micro- and nanomachines
Adaptive control
Smart maintenance
Summary
A very brief history of industrial
automation
Overview of some of the older
technologies
Some thoughts on the future
PLC Systems
CPU
Processor
Memory
One Module
Power Supply
Part of the chassis or
a separate module
Programming/
Monitoring Device
I/0 Modules
Small Logic Controllers
Input and Output
Input Modules
Convert “real world” signal to PLC input
24 V, 120 V, Analog, etc.
Output Modules
Convert PLC signal to “real world” output
24 V, 120 V, Analog, etc.
Limiting values
PLC power supply
Configurations
Fixed I/O
Limited expandability
Rack
Many modules, with the possibility of
chaining many racks together
SLC 500 is a fixed I/O device
SLC 5/02 uses a rack configuration
Chassis Versus Rack
One “Rack” is 128
inputs/outputs
A chassis is the outer
shell of the PLC
Chassis ≠ Rack
SLC 5/02’s in S-340
have a ten-slot chassis
Slots are numbered from
0 to 9
SLC Image Tables
Hex numbering
Addressing
I1:2.0/01
I is for the file type
1 is the file number
2 is the element number
.0 is the sub-element number (>16)
/01 is the bit number
“Real World” Address
I1:3.0/01
I is the module type
1 is redundant
3 is the slot number
.0 is for terminals above 15
/01 is the terminal number
Remote Racks
I/O racks located close to the equipment
being monitored
Simplifies wiring
Communication modules
Similar to LAN
Fiber Optic
Coaxial cable
Discrete I/O Modules
Either “on” or “off”
Bit oriented
Various ratings
24 V
120 V
TTL
4 – 20 mA
Special I/O Modules
Analog
High speed counter
Thumb-wheel
TTL
Encoder
PID
Servo
Memory Organization
Not the same on all manufactures
Allen Bradley uses two main types
Memory Maps
Data table
User program
Internal registers
Memory allocation could be fixed or
variable
SLC Program File Structure
Program File
Use
Number
0 System Functions
1 Reserved
2 Main Program
3-255 Subroutines
RSLogix 500 Screen
Define controller
attributes
Model
Memory
Communication
Program files
Main program
Subprograms
SLC Data File Structure
Data File
Use
Number
0 Output Image Table
1 Input Image Table
2 Status Table
3 Bit Table
SLC Data File Structure
Data File
Use
Number
4 Timer Table
5 Counter Table
6 Control Table
7 Integer Table
SLC Data File Structure
Data File
Use
Number
8 Reserved
(Floating Point Value Table)
9 Network Table
10-255 Any combination of Bit, Timer,
Counter, Control, or Integer
Tables
RSLogix 500 Screen
Access to
input and
output tables
Access to
timer and
control control
files
Address Format
What type of device or module
Where is it located physically or in
memory
For example, T4:0/DN is the done bit for
timer 0 in file 4
I:2.0 is an input module in slot 2
Word versus bit addresses
I:3.0 is a word, I:3.0/04 is a bit
Multiword Elements
Timers,counters, and control elements
Three words used
Control word to store status
Preset word to store desired value
Accumulated word to store present value
Control file store a length and position
value (on functions other than counters
and timers)
Counter Element Example
Name Address Example
Control Word C5:0 C5:0/DN
Preset Word C5:0.PRE 5000
Accumulated C5:0.ACC 1240
Word
RSLogix 500 Screen
Counter C5:0
Program Scan
Each cycle through
the program and
I/O process is
called a scan
Scan times vary
with the length of
the program and
the speed of the
processor
Programming Environments
Languages available
Ladder logic
Boolean
Function chart
Ladder logic is the most common
Function chart is the future
C, BASIC, etc., are also possible
Transducers
Converts energy from one form to
another
Input transducers
Real world into the PLC
Output transducers
PLC to real world
Sensors
Sensors are transducers used to
measure or detect
Convert mechanical, magnetic, thermal,
or optical variations into electrical
quantities
Sensor input is the basis for most of the
decisions made in a large system
Proximity Sensors
Detect the presence of a object (target)
without physically touching the object
Solid-state devices
Completely encapsulated
Used when:
Detectingsmall objects
Rapid response is required
Inductive Proximity Sensors
Senses a metallic object
A change in the magnetic field occurs
when a metallic object enters into range
This type of sensor can “see” through
cardboard boxes and other enclosures
Current-sourcing or current-sinking
output
Manually Operated Switches
Pushbuttons
Normally open
Normally closed
Break-then-make
Make-then-break
Selector switches
Maintained or spring return
Counter Instructions
Count Up or Down
Similar to timers, but without an internal
source
Two methods used: block and coil
SLC 5/02s use the coil format
PREset and ACCumlated values
RESet similar to RTO
How Counters Work
Increment or decrement on a false to
true input transition
They are retentive
The accumulated value remains when the
rung goes false
PREset can be changed by the program
Move a new value into C5:0.PRE
Control Bits
15 14 13 12 11 10
CU CD DN OV UN UA
CU = Count Up
CD = Count Down
DN = Done
OV = Overflow, UN = Underflow
Integer Limits
PREset and ACCumulator values must
be integers
Integers on the SLC 5/02 range from
32,767 to -32,768
Cascade counters to go beyond these
limits
Cascading Example
Down Counters
The
SLC 5/02 does not have a true
down counter
The counter does not start at a value and
become true when the ACCumulator is
zero
TheSLC 5/02 CTD works with another
counter with the same address
Down Counter Example
Types of Data Instructions
Math Functions
Add, subtract, multiply, etc.
Data Conversion and Comparison
Integer to BCD, Less than, Equal, etc.
Logical Operations
Bits, Words, and Files
A bit is the smallest unit of information
T4:0/DN is a bit
A “word” is another name for a register
T4:0.PRE is a word
A “file” is a block of words, also known
as a table
T4 is a file
Data Transfer – Move
The move instruction takes a
value from a register, or a
constant value, and places it
in another register
BCD Move Into a Register
Moves an integer value into a BCD
device.
In lab, the LED Display
BCD Move From a Register
Moves an BCD value into an integer
register.
In lab, the thumb-wheel inputs
Comparisons
Greater than, less than, equals,
etc.
When true, output is true
Today’s Task
Use what you have
learned to “break
the code”
Each bench has a
PLC program
The first bench to
turn on all five lamps
wins!