A Programmable controller is a solid state user programmable control system with functions to control logic, sequencing, timing, arithmetic data manipulation and counting capabilities. It can be viewed as an industrial computer that has a central processor unit, memory, input output interface and a programming device.
The central processing unit provides the intelligence of the controller. It accepts data, status information from various sensing devices like limit switches, proximity switches, executes the user control program store in the memory and gives appropriate output commands to devices like solenoid valves, switches etc.
Input output interface is the communication link between field devices and the controllers; field devices are wired to the I/O interfaces. Through these interfaces the processor can sense and measure physical quantities regarding a machine or process, such as, proximity, position, motion, level, temperature, pressure, etc. Based on status sensed, the CPU issues command to output devices such as valves, motors, alarms, etc.
Programmer unit provides the man machine interface. It is used to enter the application program, which often uses a simple user-friendly logic.