A programmable logic controller or PLC is an electronic appliance designed to replace a bulky cabinet full of relay logic.
It consists of a small computer running a program. The program reads the inputs of the logic controller, calculates a custom logic function, and then produces the outputs.
Unlike general purpose computers, PLCs are designed to be used by electricians who train on the job. They are usually programmed in a language called "ladder logic", which strongly resembles a blueprint of relay logic. PLCs are also available that can be programmed in more traditional programming languages.
In ladder logic, a relay coil, or just 'coil', can open or close any number of contacts, the switches which a relay controls. This can make ladder logic on a PLC easier then designing a relay based control system. In addition to normal relays, ladder logic allows for math functions through black box pieces that are integrated into the ladder. A simple addition function may count the number of times a button is pushed.
A PLC programmer numbers the contacts and coils and decides which relays are powered when.
PLCs generally accept contact closures (like buttons and switches) as inputs, and provides some set of switches as output.
PID Loops
PLCs often also include logic for single-variable generic industrial feedback loop, a "proportional, integral, derivative" loop, or "PID controller."
A PID loop is the standard solution to many industrial control processes that require proportional control.
Links
Many companies manufacture PLCs including Zworld, GE Fanuc, Microchip (makers of PIC microcontrollers).