A programmable logic controller (PLC) is a digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, amusement rides, or lighting fixtures. Unlike general-purpose computers, the PLC is designed specificly for multiple inputs and output arrangements, extended temperature ranges, immunity to electrical noise, and resistance to vibration and impact. Programs to control machine operation are typically stored in battery-backed or non-volatile memory.
The PLC was invented in response to the needs of the American automotive manufacturing industry. It was initially adopted to replace the re-wiring of hard-wired control panels with software revision when production models changed. The functionality of the PLC has evolved over the years to include sequential relay control, motion control, process control, distributed control systems and networking. The main difference from other computers is that PLCs are armored for severe conditions (such as dust, moisture, heat, cold) and have the facility for extensive input/output (I/O) arrangements.