1. INTRODUCTION
Designing software for control systems is difficult. Experienced controls engineers have learned many techniques that allow them to solve problems. This book was written to present methods for designing controls software using Programmable Logic Controllers (PLCs). It is my personal hope that by employing the knowledge in the book that you will be able to quickly write controls programs that work as expected (and avoid having to learn by costly mistakes.)
This book has been designed for students with some knowledge of technology, including limited electricity, who wish to learn the discipline of practical control system design on commonly used hardware. To this end the book will use the Allen Bradley ControlLogix processors to allow depth. Although the chapters will focus on specific hardware, the techniques are portable to other PLCs. Whenever possible the IEC 61131 programming standards will be used to help in the use of other PLCs.
In some cases the material will build upon the content found in a linear controls course. But, a heavy emphasis is placed on discrete control systems. Figure 1 crudely shows some of the basic categories of control system problems.
Logical/Discrete - The value to be controlled are easily described as on-off. e.g. the car motor is on-off. NOTE: all systems are continuous but they can be treated as logical for simplicity.
e.g. "When I do this, that always happens!" For example, when the power is turned on, the press closes!
Linear - Can be described with a simple differential equation. This is the preferred starting point for simplicity, and a common approximation for real world problems.
e.g. A car can be driving around a track and can pass same the same spot at a constant velocity. But, the longer the car runs, the mass decreases, and it travels faster, but requires less gas, etc. Basically, the math gets tougher, and the problem becomes non-linear.
e.g. We are driving the perfect car with no friction, with no drag, and can predict how it will work perfectly.
The difference between these control systems can be emphasized by considering a simple elevator. An elevator is a car that travels between floors, stopping at precise heights. There are certain logical constraints used for safety and convenience. The points below emphasize different types of control problems in the elevator.
Logical and sequential control is preferred for system design. These systems are more stable, and often lower cost. Most continuous systems can be controlled logically. But, some times we will encounter a system that must be controlled continuously. When this occurs the control system design becomes more demanding. When improperly controlled, continuous systems may be unstable and become dangerous.
When a system is well behaved we say it is self regulating. These systems don't need to be closely monitored, and we use open loop control. An open loop controller will set a desired position for a system, but no sensors are used to verify the position. When a system must be constantly monitored and the control output adjusted we say it is closed loop. A cruise control in a car is an excellent example. This will monitor the actual speed of a car, and adjust the speed to meet a set target speed.
Many control technologies are available for control. Early control systems relied upon mechanisms and electronics to build controlled. Most modern controllers use a computer to achieve control. The most flexible of these controllers is the PLC (Programmable Logic Controller).
The book has been set up to aid the reader, as outlined below.
Sections labeled Aside: are for topics that would be of interest to one discipline, such as electrical or mechanical.