This book presents a comprehensive treatment of Allen-Bradley programmable logic controllers (PLCs) with an emphasis on program design. This text stresses an organized approach to developing PLC programs - Given a set of operational specifications, how does one develop the PLC program? This book develops the design the tasks involved, breaking the program into manageable pieces, standard code for the various parts, and handling the sequential parts of the problem. Throughout, the book contains example problems demonstrating good design practice and culminates in a full-length case study. Due to its popularity, ladder logic is employed in the text. This language is covered for Allen-Bradley ControlLogix, CompactLogix, MicroLogix, and SLC-500 processors. The main topics of this text 1. PLC ladder logic programming language 2. Structured approach to sequential problems 3. Good program design practice 4. Troubleshooting techniques 5. PID control 6. Sensors and actuators 7. Factory communication networks 8. Human-machine interface (HMI) Most chapters include student problems. The accompanying CD contains 53 additional problems with solutions for chapters 2, 3, 5, 6, 7, 10, 15. Changes for the Second Edition The second edition primarily adds the Micro800 controller, but there are other changes throughout. The major changes 1. Information on input and output buffering has been added to Chapter 2. 2. Addressing for 5069- and 5094-series I/O modules has been added to Chapter 3. 3. Chapter 13 has extensive updates to reflect recent developments in operator interfaces, called "High Performance HMI." 4. The section on ControlLogix simulation in Chapter 15 has been revised to utilize I/O module inhibits to disable the I/O scan. 6. The appearance of the ControlLogix blocks has been updated to match the changes effective with Studio 5000 version 31.