Programmable Logic Controller (PLC)
Also known as: PLC, programmable controller, logic controller, industrial controller
A Programmable Logic Controller (PLC) is a specialised industrial computer designed to automate machinery, production processes, and physical systems in demanding environments.
PLCs continuously read inputs from sensors and switches, execute programmed logic, and write outputs to actuators, motors, and control devices -- making real-time control decisions at millisecond speeds. They are designed for reliability in harsh industrial environments (temperature, vibration, dust, humidity) with deterministic timing, fault tolerance, and modular I/O expansion. PLCs are the workhorses of factory automation, utilities, and critical infrastructure.
Programmable Logic Controller (PLC), explained at three levels
At home
A PLC is a specialised computer that controls physical machinery. Unlike the computer on your desk that runs many programs and talks to the internet, a PLC is dedicated to one job: reading sensors, making decisions, and controlling motors, valves, and machines based on those decisions. It does this thousands of times per second, reliably, without stopping. PLCs are inside the bottling machines that fill your drinks, the traffic lights that control your commute, and the systems that treat the water that comes from your tap.
At work
For operations managers and systems integrators, PLCs are the foundation of factory and process automation. When specifying or procuring automation systems, the PLC is the central controller for a machine or process cell -- integrating inputs from sensors, encoders, safety devices, and operator panels, and driving outputs to motors, drives, valves, and indicators. PLC selection depends on the I/O count needed (number of sensor and actuator connections), the speed of the control loop required (a packaging machine needs faster cycle times than a water treatment plant), and the communication protocols required to integrate with SCADA and MES.
At home
PLC programming languages under IEC 61131-3 each suit different applications. Ladder Diagram (LD) resembles electrical relay diagrams and is the most widely used language -- intuitive for electricians and controls engineers familiar with relay logic. Function Block Diagram (FBD) represents logic as interconnected functional blocks, suited to process control. Structured Text (ST) is a high-level textual language resembling Pascal, suited to complex mathematical calculations. Sequential Function Chart (SFC) represents sequential processes as state machines, suited to multi-step processes. Modern PLCs typically support all five languages in a single programming environment.
At work
Safety PLCs (or safety-rated controllers) are a distinct category from standard PLCs. Standard PLCs are designed for high reliability, but a failure does not necessarily result in a safe state. Safety PLCs are designed and certified to IEC 62061 and ISO 13849 functional safety standards -- meaning they can be relied upon to safely stop or hold a dangerous machine in the event of a fault, even if the controller itself fails. Safety PLCs are required for machines where a control failure could cause injury: emergency stop circuits, safety light curtains, interlocked guards, and two-hand controls.
At home
Modern PLCs increasingly support Ethernet-based industrial protocols (EtherNet/IP, PROFINET, Modbus TCP) alongside legacy serial protocols (RS-232, RS-485, Modbus RTU). This connectivity enables PLCs to participate in IIoT architectures -- sending real-time production data to SCADA historians, receiving production orders from MES systems, and publishing OPC-UA data to cloud analytics platforms. However, connecting PLCs to broader networks also increases their cybersecurity attack surface, requiring network segmentation and access controls.
At work
From a practitioner standpoint, PLC projects have distinct requirements from enterprise software projects. PLCs must often be programmed offline, simulated, tested, and validated before installation -- especially in continuous-process industries where shutting down production for on-site commissioning is expensive. Requirements for PLC-controlled machinery must address: safety function requirements (with SIL or PL ratings per the functional safety standard), I/O architecture (what sensors and actuators the PLC must interface with), communication requirements (what systems the PLC must exchange data with), and backup and recovery (how to restore PLC programs if hardware fails).
Real-world examples
At home
Thomas was in a lift when the doors started to close just as someone rushed in. The doors immediately reopened. That response was controlled by a PLC running safety logic: the door motor current suddenly spiked (indicating resistance), the safety input triggered, and the PLC instantly reversed the door. The whole sequence took milliseconds.
At work
A food manufacturing plant upgraded its production line to add automated quality rejection. A vision system detected product defects and sent a signal to the PLC, which tracked the product's position along the conveyor (using an encoder on the belt drive motor) and activated a reject gate at exactly the right moment to divert the defective item to a waste bin while allowing good product to continue. The PLC's cycle time of 10 milliseconds provided the timing precision needed for accurate rejection at line speeds of 200 products per minute.
Common confusions
- A PLC and a PC running automation software are not the same thing. Industrial PCs (IPCs) running Windows-based SCADA or HMI software can control some processes, but PLCs are preferred for direct machine control because they offer deterministic real-time performance (guaranteed response times in milliseconds), hardware fault tolerance, and operation without reboots for years. PLCs are hardened for industrial environments; PCs running Windows are not.
- PLC and SCADA are complementary, not competing. A PLC executes local control logic -- it reads sensors and drives actuators directly, at the machine level, without network connectivity required. SCADA is the supervisory system above multiple PLCs that collects data, provides operator visibility, and sends high-level set points. A SCADA system without PLCs has no way to directly control field devices; PLCs without SCADA operate in isolation with no centralised monitoring.
- PLCs are not just for factories. PLCs control water treatment plants, sewage systems, road tunnels, car parks, airport baggage handling, heating systems in large buildings, and many other non-factory applications. Any situation involving physical control of actuators (motors, valves, lights, gates) based on sensor inputs with reliability requirements is a potential PLC application.
For analysts
In BA artefacts, PLC requirements surface in manufacturing execution system integration, operational technology specifications, and industrial automation procurement. When documenting integration requirements between an MES and PLC-controlled production equipment, include: 'The PLC must expose the following real-time data via OPC-UA: machine state, cycle count, reject count, fault codes, and current order reference. The MES must read this data at a polling interval of [X] seconds and write production order start and quantity data to the PLC at order initiation. Data exchange must be via the OT network only, with no direct connection between the PLC and the corporate IT network.'
History & origin
The PLC was invented in 1968 by Dick Morley at Bedford Associates, responding to a request from General Motors to replace the complex relay-based control panels used in automotive assembly. The original Modicon PLC replaced banks of relays and timers with a programmable device that could be reprogrammed when production line changes required different control logic -- previously requiring physical rewiring. The IEC 61131-3 standard (1993, updated 2003) defined five standardized PLC programming languages: Ladder Diagram (LD), Function Block Diagram (FBD), Structured Text (ST), Instruction List (IL), and Sequential Function Chart (SFC), which are still used today. The shift toward Ethernet-based industrial communications (EtherNet/IP, PROFINET) from the 2000s enabled PLCs to participate in networked industrial architectures.