Preface |
|
viii | |
Acknowledgments |
|
xi | |
About the Author |
|
xii | |
|
Chapter 1 Programmable Logic Controllers (PLCs): An Overview |
|
|
1 | (16) |
|
1.1 Programmable Logic Controllers |
|
|
2 | (2) |
|
|
4 | (4) |
|
1.3 Principles of Operation |
|
|
8 | (3) |
|
1.4 Modifying the Operation |
|
|
11 | (1) |
|
1.5 PLCs versus Computers |
|
|
11 | (1) |
|
1.6 PLC Size and Application |
|
|
12 | (5) |
|
|
15 | (1) |
|
|
16 | (1) |
|
Chapter 2 PLC Hardware Components |
|
|
17 | (29) |
|
|
18 | (4) |
|
|
22 | (5) |
|
|
27 | (4) |
|
|
31 | (2) |
|
|
33 | (2) |
|
Typical Discrete I/O Module Specifications |
|
|
33 | (1) |
|
Typical Analog I/O Module Specifications |
|
|
34 | (1) |
|
2.6 The Central Processing Unit (CPU) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (2) |
|
2.9 Programming Terminal Devices |
|
|
39 | (1) |
|
2.10 Recording and Retrieving Data |
|
|
39 | (1) |
|
2.11 Human Machine Interfaces (HMIs) |
|
|
39 | (7) |
|
|
43 | (2) |
|
|
45 | (1) |
|
Chapter 3 Number Systems and Codes |
|
|
46 | (15) |
|
|
47 | (1) |
|
|
47 | (2) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
3.6 Binary Coded Decimal (BCD) System |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
54 | (1) |
|
|
55 | (2) |
|
3.11 Floating Point Arithmetic |
|
|
57 | (4) |
|
|
59 | (1) |
|
|
60 | (1) |
|
Chapter 4 Fundamentals of Logic |
|
|
61 | (13) |
|
|
62 | (1) |
|
4.2 AND, OR, and NOT Functions |
|
|
62 | (3) |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
64 | (1) |
|
The Exclusive-OR (XOR) Function |
|
|
65 | (1) |
|
|
65 | (1) |
|
4.4 Developing Logic Gate Circuits from Boolean Expressions |
|
|
66 | (1) |
|
4.5 Producing the Boolean Equation for a Given Logic Gate Circuit |
|
|
66 | (1) |
|
4.6 Hardwired Logic versus Programmed Logic |
|
|
67 | (3) |
|
4.7 Programming Word Level Logic Instructions |
|
|
70 | (4) |
|
|
72 | (1) |
|
|
72 | (2) |
|
Chapter 5 Basics of PLC Programming |
|
|
74 | (24) |
|
5.1 Processor Memory Organization |
|
|
75 | (3) |
|
|
75 | (1) |
|
|
75 | (3) |
|
|
78 | (3) |
|
5.3 PLC Programming Languages |
|
|
81 | (2) |
|
5.4 Bit-Level Logic Instructions |
|
|
83 | (3) |
|
5.5 Instruction Addressing |
|
|
86 | (1) |
|
|
87 | (2) |
|
5.7 Internal Relay Instructions |
|
|
89 | (1) |
|
5.8 Programming Examine If Closed and Examine If Open Instructions |
|
|
90 | (1) |
|
5.9 Entering the Ladder Diagram |
|
|
91 | (2) |
|
|
93 | (1) |
|
5.11 Connecting with Analog Devices |
|
|
93 | (5) |
|
|
95 | (1) |
|
|
96 | (2) |
|
Chapter 6 Developing Fundamental PLC Wiring Diagrams and Ladder Logic Programs |
|
|
98 | (33) |
|
6.1 Electromagnetic Control Relays |
|
|
99 | (1) |
|
|
100 | (1) |
|
|
101 | (1) |
|
6.4 Manually Operated Switches |
|
|
102 | (1) |
|
6.5 Mechanically Operated Switches |
|
|
103 | (1) |
|
|
104 | (8) |
|
|
104 | (3) |
|
|
107 | (1) |
|
|
107 | (2) |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
110 | (1) |
|
|
111 | (1) |
|
Velocity and Position Sensors |
|
|
111 | (1) |
|
6.7 Output Control Devices |
|
|
112 | (2) |
|
|
114 | (1) |
|
6.9 Electrical Interlocking Circuits |
|
|
115 | (1) |
|
|
116 | (5) |
|
6.11 Converting Relay Schematics into PLC Ladder Programs |
|
|
121 | (3) |
|
6.12 Writing a Ladder Logic Program Directly from a Narrative Description |
|
|
124 | (3) |
|
|
127 | (4) |
|
|
128 | (1) |
|
|
129 | (2) |
|
Chapter 7 Programming Timers |
|
|
131 | (25) |
|
7.1 Mechanical Timing Relays |
|
|
132 | (2) |
|
|
134 | (1) |
|
7.3 On-Delay Timer Instruction |
|
|
135 | (5) |
|
7.4 Off-Delay Timer Instruction |
|
|
140 | (4) |
|
|
144 | (3) |
|
|
147 | (9) |
|
|
151 | (1) |
|
|
151 | (5) |
|
Chapter 8 Programming Counters |
|
|
156 | (28) |
|
|
157 | (2) |
|
|
159 | (7) |
|
|
162 | (4) |
|
|
166 | (4) |
|
|
170 | (3) |
|
8.5 Incremental Encoder-Counter Applications |
|
|
173 | (1) |
|
8.6 Combining Counter and Timer Functions |
|
|
174 | (3) |
|
|
177 | (7) |
|
|
179 | (1) |
|
|
179 | (5) |
|
Chapter 9 Program Control Instructions |
|
|
184 | (23) |
|
|
185 | (1) |
|
9.2 Master Control Reset Instruction |
|
|
185 | (3) |
|
|
188 | (2) |
|
|
190 | (3) |
|
9.5 Immediate Input and Immediate Output Instructions |
|
|
193 | (2) |
|
9.6 Forcing External I/O Addresses |
|
|
195 | (2) |
|
|
197 | (3) |
|
9.8 Selectable Timed Interrupt |
|
|
200 | (1) |
|
|
201 | (1) |
|
9.10 Temporary End Instruction |
|
|
201 | (1) |
|
|
202 | (5) |
|
|
203 | (1) |
|
|
203 | (4) |
|
Chapter 10 Data Manipulation Instructions |
|
|
207 | (27) |
|
|
208 | (1) |
|
10.2 Data Transfer Operations |
|
|
208 | (8) |
|
10.3 Data Compare Instructions |
|
|
216 | (5) |
|
10.4 Data Manipulation Programs |
|
|
221 | (3) |
|
10.5 Numerical Data I/O Interfaces |
|
|
224 | (2) |
|
|
226 | (8) |
|
|
230 | (1) |
|
|
231 | (3) |
|
Chapter 11 Math Instructions |
|
|
234 | (18) |
|
|
235 | (1) |
|
11.2 Addition Instruction |
|
|
236 | (2) |
|
11.3 Subtraction Instruction |
|
|
238 | (1) |
|
11.4 Multiplication Instruction |
|
|
239 | (1) |
|
11.5 Division Instruction |
|
|
240 | (2) |
|
11.6 Other Word-Level Math Instructions |
|
|
242 | (3) |
|
11.7 File Arithmetic Operations |
|
|
245 | (7) |
|
|
247 | (1) |
|
|
248 | (4) |
|
Chapter 12 Sequencer and Shift Register Instructions |
|
|
252 | (29) |
|
12.1 Mechanical Sequencers |
|
|
253 | (2) |
|
12.2 Sequencer Instructions |
|
|
255 | (4) |
|
|
259 | (5) |
|
|
264 | (8) |
|
12.5 Word Shift Operations |
|
|
272 | (9) |
|
|
277 | (1) |
|
|
277 | (4) |
|
Chapter 13 PLC Installation Practices, Editing, and Troubleshooting |
|
|
281 | (24) |
|
|
282 | (2) |
|
|
284 | (1) |
|
13.3 Leaky Inputs and Outputs |
|
|
285 | (1) |
|
|
285 | (2) |
|
13.5 Voltage Variations and Surges |
|
|
287 | (1) |
|
13.6 Program Editing and Commissioning |
|
|
288 | (1) |
|
13.7 Programming and Monitoring |
|
|
289 | (2) |
|
13.8 Preventive Maintenance |
|
|
291 | (1) |
|
|
292 | (7) |
|
|
292 | (1) |
|
|
292 | (2) |
|
|
294 | (1) |
|
|
294 | (5) |
|
13.10 PLC Programming Software |
|
|
299 | (6) |
|
|
302 | (1) |
|
|
302 | (3) |
|
Chapter 14 Process Control, Network Systems, and SCADA |
|
|
305 | (28) |
|
|
306 | (2) |
|
14.2 Structure of Control Systems |
|
|
308 | (2) |
|
|
310 | (1) |
|
|
311 | (4) |
|
|
315 | (1) |
|
|
316 | (12) |
|
|
322 | (1) |
|
|
322 | (1) |
|
|
322 | (3) |
|
|
325 | (1) |
|
|
325 | (1) |
|
|
326 | (1) |
|
|
326 | (1) |
|
|
326 | (2) |
|
14.7 Supervisory Control and Data Acquisition (SCADA) |
|
|
328 | (5) |
|
|
331 | (1) |
|
|
332 | (1) |
|
Chapter 15 ControlLogix Controllers |
|
|
333 | (62) |
|
Part 1 Memory and Project Organization |
|
|
334 | (11) |
|
|
334 | (1) |
|
|
334 | (1) |
|
|
335 | (1) |
|
|
336 | (1) |
|
|
336 | (1) |
|
|
337 | (1) |
|
|
337 | (3) |
|
|
340 | (1) |
|
|
341 | (1) |
|
Monitoring and Editing Tags |
|
|
342 | (1) |
|
|
342 | (2) |
|
|
344 | (1) |
|
Part 2 Bit-Level Programming |
|
|
345 | (13) |
|
|
345 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
Adding Ladder Logic to the Main Routine |
|
|
348 | (2) |
|
Internal Relay Instructions |
|
|
350 | (2) |
|
Latch and Unlatch Instructions |
|
|
352 | (1) |
|
|
353 | (3) |
|
|
356 | (1) |
|
|
356 | (2) |
|
Part 3 Programming Timers |
|
|
358 | (10) |
|
Timer Predefined Structure |
|
|
358 | (1) |
|
|
359 | (3) |
|
|
362 | (2) |
|
|
364 | (1) |
|
|
365 | (2) |
|
|
367 | (1) |
|
|
367 | (1) |
|
Part 4 Programming Counters |
|
|
368 | (6) |
|
|
368 | (1) |
|
|
369 | (2) |
|
|
371 | (1) |
|
Combining Counter and Timer Functions |
|
|
372 | (1) |
|
|
373 | (1) |
|
|
373 | (1) |
|
Part 5 Math, Comparison, and Move Instructions |
|
|
374 | (10) |
|
|
374 | (2) |
|
|
376 | (3) |
|
|
379 | (1) |
|
Combining Math, Comparison, and Move Instructions |
|
|
380 | (3) |
|
|
383 | (1) |
|
|
383 | (1) |
|
Part 6 Function Block Programming |
|
|
384 | (11) |
|
Function Block Diagram (FBD) |
|
|
384 | (4) |
|
|
388 | (6) |
|
|
394 | (1) |
|
|
394 | (1) |
Glossary |
|
395 | (12) |
Index |
|
407 | |