Title: Basics of PLC Programming
1Basics of PLC Programming
- EE 100 Intro to EE
- Fall 2004
- Dr. Stephen Williams, P.E.
2Overview
- 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?
SLC
PLC
AB
GM
Ford
Autos
Sensor
Bus
Drive
3Vocabulary
- 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
4First Programmable Controller
- General Motors Corporation
- Hydromatic Division
- Replaced relay-controlled system
- PDP-8 minicomputers?
- MODICON 084
- Modular Digital Controller
5Information Flow
Process or Machine
Measure
Control
Programmable Controller
6Genesis 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
7Industrial Revolution
- High-volume production
- Interchangeable parts
- Transportation system
- Inexpensive energy (coal)
- Frederick W. Taylor
- Scientific management
- Henry Ford
8Purpose of Automation
- Increase productivity
- Standardize components or processes
- Free workers from repetitive, and sometime
dangerous, tasks
9Early 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
10The 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.
11Forces Driving Automation
- Lower costs
- Faster production
- Better quality control
- How have they remained relevant today?
12Engineering Resources
- Why do you need all of these engineers running
around to make all of this stuff work?
13Breakthroughs and Plateaus
- Where have we seen breakthroughs, and then
plateaus of technology? - Microprocessors
- Graphical User Interfaces
- Power Electronics
- Software Systems
14Brief Review of Technology
- Traditional (ancient?) devices
- Still used in many plants
- If it aint broke
- Where are we going?
15Traditional 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
16Traditional Devices
- Relays
- Contactors
- Motor Starters
- Manually operated switches
- Mechanically operated switches
- Electrically operated switches
17Relays
- Original control elements
- Now used as auxiliary devices
- The PLC is not designed to switch high currents
or voltages
18Contactors
- Used for heavy-duty switching
- Provides isolation from high voltages and large
currents - Usefully for large inductive currents, such as
motor starting
19Motor 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
20Manually Operated Switches
- Pushbuttons
- Normally open
- Normally closed
- Break-then-make
- Make-then-break
- Selector switches
- Maintained or spring return
21Mechanically Operated Switches
- Limit Switches
- Temperature Switches
- Pressure Switches
- Level Switches
22Electrically Operated Switches
- Photoelectric Switches
- Proximity Switches
23What's ahead?
- Solid state devices to replace motor starters
- Distributed smart sensors
- Micro- and nanomachines
- Adaptive control
- Smart maintenance
24Summary
- A very brief history of industrial automation
- Overview of some of the older technologies
- Some thoughts on the future
25PLC Systems
- CPU
- Processor
- Memory
- One Module
- Power Supply
- Part of the chassis or a separate module
- Programming/ Monitoring Device
- I/0 Modules
26Small Logic Controllers
27Input 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
28Configurations
- 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
29Chassis Versus Rack
- One Rack is 128 inputs/outputs
- A chassis is the outer shell of the PLC
- Chassis ? Rack
- SLC 5/02s in S-340 have a ten-slot chassis
- Slots are numbered from 0 to 9
30SLC Image Tables
- Hex numbering
- Addressing
- I12.0/01
- I is for the file type
- 1 is the file number
- 2 is the element number
- .0 is the sub-element number (gt16)
- /01 is the bit number
31Real World Address
- I13.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
32Remote Racks
- I/O racks located close to the equipment being
monitored - Simplifies wiring
- Communication modules
- Similar to LAN
- Fiber Optic
- Coaxial cable
33Discrete I/O Modules
- Either on or off
- Bit oriented
- Various ratings
- 24 V
- 120 V
- TTL
- 4 20 mA
34Special I/O Modules
- Analog
- High speed counter
- Thumb-wheel
- TTL
- Encoder
- PID
- Servo
35Memory 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
36SLC Program File Structure
Program File Number Use
0 System Functions
1 Reserved
2 Main Program
3-255 Subroutines
37RSLogix 500 Screen
- Define controller attributes
- Model
- Memory
- Communication
- Program files
- Main program
- Subprograms
38SLC Data File Structure
Data File Number Use
0 Output Image Table
1 Input Image Table
2 Status Table
3 Bit Table
39SLC Data File Structure
Data File Number Use
4 Timer Table
5 Counter Table
6 Control Table
7 Integer Table
40SLC Data File Structure
Data File Number Use
8 Reserved (Floating Point Value Table)
9 Network Table
10-255 Any combination of Bit, Timer, Counter, Control, or Integer Tables
41RSLogix 500 Screen
- Access to input and output tables
- Access to timer and control control files
42Address Format
- What type of device or module
- Where is it located physically or in memory
- For example, T40/DN is the done bit for timer 0
in file 4 - I2.0 is an input module in slot 2
- Word versus bit addresses
- I3.0 is a word, I3.0/04 is a bit
43Multiword 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)
44Counter Element Example
Name Address Example
Control Word C50 C50/DN
Preset Word C50.PRE 5000
Accumulated Word C50.ACC 1240
45RSLogix 500 Screen
46Program Scan
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
I/O Scan
47Programming 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
48Transducers
- Converts energy from one form to another
- Input transducers
- Real world into the PLC
- Output transducers
- PLC to real world
49Sensors
- 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
50Proximity Sensors
- Detect the presence of a object (target) without
physically touching the object - Solid-state devices
- Completely encapsulated
- Used when
- Detecting small objects
- Rapid response is required
51Inductive 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
52Manually Operated Switches
- Pushbuttons
- Normally open
- Normally closed
- Break-then-make
- Make-then-break
- Selector switches
- Maintained or spring return
53Counter 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
54How 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 C50.PRE
55Control 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
56Integer 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
57Cascading Example
58Down 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 - The SLC 5/02 CTD works with another counter with
the same address
59Down Counter Example
60Types of Data Instructions
- Math Functions
- Add, subtract, multiply, etc.
- Data Conversion and Comparison
- Integer to BCD, Less than, Equal, etc.
- Logical Operations
61Bits, Words, and Files
- A bit is the smallest unit of information
- T40/DN is a bit
- A word is another name for a register
- T40.PRE is a word
- A file is a block of words, also known as a
table - T4 is a file
62Data Transfer Move
- The move instruction takes a value from a
register, or a constant value, and places it in
another register
63BCD Move Into a Register
- Moves an integer value into a BCD device.
- In lab, the LED Display
64BCD Move From a Register
- Moves an BCD value into an integer register.
- In lab, the thumb-wheel inputs
65Comparisons
- Greater than, less than, equals, etc.
- When true, output is true
66Todays 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!