Every control system may be divided into three general sections: input devices (sensors), controllers, and output devices (actuators). The input devices sense what is happening in the process, the controller decides what to do about it, and the output devices manipulate the process to achieve the desired result.
A programmable logic controller or PLC is a general-purpose controller, applicable to many different types of process control applications. The word “programmable” in its name reveals just why PLCs are so useful: the end-user is able to program, or instruct, the PLC to do virtually any control function imaginable. Unlike PID loop controllers, which are special-purpose devices intended to perform a single type of control function, a PLC may be instructed to do almost anything with the signals it receives from input devices.
PLCs were introduced to industry as electronic replacements for electromechanical relay controls. In applications where relays typically control the starting and stopping of electric motors and other discrete output devices, the reliability of an electronic PLC meant fewer system failures and longer operating life. The re-programmability of a PLC also meant changes could be implemented to the control system strategy must easier than with relay circuits, where re-wiring was the only way to alter the system’s function. Additionally, the computer-based nature of a PLC meant that process control data could now be communicated by the PLC over networks, allowing process conditions to be monitored in distant locations, and by multiple operator stations.
The legacy of PLCs as relay-replacements is probably most evident in their traditional programming language: a graphical convention known as a Ladder Diagram. Ladder Diagram PLC programs resemble ladder-style electrical schematics, where vertical power “rails” convey control power to a set of parallel “rung” circuits containing switch contacts and relay coils. A human being programming a PLC literally draws the diagram on the screen, using relay-contact symbols to represent instructions to read data bits in the PLC’s memory, and relay-coil symbols to represent instructions writing data bits to the PLC’s memory. This style of programming was developed to make it easier for industrial electricians to adapt to the new technology of PLCs. While Ladder Diagram programming definitely has limitations compared to other computer programming languages, it is relatively easy to learn and diagnose, which is why it remains popular as a PLC programming language today.
Typical devices connecting to a PLC’s inputs include hand switches, process switches, sensors, analog transmitters (4-20 mA), thermocouples, thermistors, and strain gauges. Typical devices connecting to a PLC’s outputs include electric lamps, solenoids, relay coils, motor contactors, analog final control elements (e.g. throttling control valves, variable-speed motor drives), and audible buzzers. While PLCs were originally designed for discrete (on/off) control applications such as conveyor belt management, batch sequencing, and assembly line controls, modern PLCs are equally capable of inputting and outputting analog signals as well. Thus, it is just as likely now to find a PLC performing PID loop control as it is to find a PLC turning discrete devices on and off.