A programmable logic controller (PLC) is a digital computer used for automation of industrial processes, such as control of machinery on factory assembly lines. PLCs can be programmed to perform logical functions, timing, counting, arithmetic, and data handling tasks needed for controlling industrial equipment and processes.
PLCs have input and output devices that allow them to monitor and control machines and processes. The input devices collect data from sensors that measure things like temperature, pressure, speed, etc. The PLC then processes this data according to a program and determines what the output devices connected to it should do in response. The output devices can control actuators, valves, motors, lights, or other equipment.
History of PLCs
The origins of PLCs go back to the late 1960s when the automotive industry was seeking a way to replace complex relay-based control systems with a more flexible, software-driven approach. Engineers at General Motors (GM) developed the first PLC, introduced in 1968 under the trademarked name Programmable Logic Controller.
GM’s early PLCs used ladder logic diagrams, borrowing from the relay-based control systems they were replacing. Ladder logic made PLC programming more intuitive for engineers accustomed to working with electrical control schematics. The first PLCs had limited memory and logic compared to modern devices, but already offered major advantages in terms of flexibility, ease of programming, and reliability.
PLCs were soon adopted by other industries like steel mills, chemical plants, and food processing due to their ability to control complex systems safely and efficiently. As technology advanced, PLCs became more sophisticated and powerful. Early PLCs could only handle boolean (on/off) logic but later versions introduced more complex functions like timers, counters, arithmetic, and analog I/O handling.
Today’s PLCs are highly advanced computation and control devices capable of managing entire automated factories and processes with precision and reliability. Major PLC manufacturers include Allen-Bradley, Siemens, Mitsubishi, Omron, and Schneider Electric.
Benefits of Using PLCs
PLCs provide many benefits that make them invaluable for industrial automation and process control:
Flexibility – PLC logic can be reprogrammed when needed to make changes or implement improvements in the controlled system. This avoids having to rewire circuits or rebuild equipment when system changes are needed.
Reliability – PLCs are solid state devices with no moving parts that can operate for years in harsh industrial environments like dust, moisture, vibration, and extreme temperatures. This makes them highly reliable compared to electromechanical relays.
Scalability – Most PLCs can be expanded and reconfigured to add I/O points and capabilities. This allows the control system to grow over time as new sensors, processes, or equipment are added.
Ease of Programming – Ladder logic and other PLC programming languages are relatively easy to learn. Programs can be simulated on a PC before loading into the PLC. Troubleshooting and editing programs is straightforward.
Communication Capabilities – PLCs can communicate with other devices and controllers on local networks and larger distributed control systems. This allows coordination and monitoring across an entire automated facility.
Cost Effectiveness – Although the initial investment is higher than simple relays, PLCs offer very competitive long-term value given their flexibility, expandability, and durability.
Enhanced Control Capabilities – PLCs can implement advanced regulatory control, motion control, data acquisition, alarm handling, and other sophisticated automation functions beyond simple on/off control.
How PLCs Work
The basic operation of a PLC involves three primary functions:
- Input Scan – The PLC gathers input data from connected devices like sensors, switches, push buttons, etc. It examines the status of these input devices and saves their on/off states to memory.
- Program Scan – The PLC then executes the logic program, line-by-line, examining the input states and running any logic instructions programmed by the user. During this scan, the PLC may energize and de-energize internal relay coils based on programmed logic. The results or “solutions” are stored in memory.
- Output Scan – Finally, the PLC updates the physical output devices like motors, lights, valves, etc. based on the internal memory solutions from running the user program. The updated outputs then cause a change in the controlled process or machine.
These input-processing-output scans repeat many times per second to achieve real-time automation control. The PLC program determines exactly how the PLC will react to various inputs with appropriate outputs.
PLC Hardware Components
The main hardware components of a PLC include:
- Processor – This is the central processing unit or “brain” containing the main memory, arithmetic logic unit (ALU), control unit, and instruction set to execute the PLC program.
- Power Supply – Provides regulated DC power to the PLC processor, I/O modules, and field devices. Usually 24VDC.
- I/O Modules – Interface between field devices and the PLC processor. Analog I/O modules convert sensor measurements to digital data. Discrete I/O modules convert device states to on/off signals the PLC understands.
- Communication Modules – Allow the PLC to communicate with HMIs, data networks, remote I/O racks, and other devices. Common methods are Ethernet, serial, WiFi, and fieldbus modules like Profibus and Modbus.
- Chassis or Backplane – Metal enclosure housing the processor, power supply, and I/O modules and providing internal communication buses.
- Programming Device – Portable unit used to program the PLC. Can be a laptop, programming panel, or proprietary programmer. Connects to the PLC via USB, Ethernet, or other methods.
PLCs are programmed using special software running on a PC or laptop. Programming involves three main steps:
- Design the program logic and enter via programming software.
- Simulate and debug program offline on the computer.
- Download tested program to the PLC for execution.
There are different techniques and languages used for PLC programming:
The most common PLC programming method which uses ladder diagrams based on circuit diagrams. Ladder logic has contacts, coils, instructions, and functions.
Example Ladder Rungs
Similar to Pascal programming language using statements, functions, variables, and other high level code structures.
Example Structured Text
IF Level > 10 THEN Valve = Open ELSE Valve = Closed END_IF
Function Block Diagrams
Graphical language representing logic as interconnected function blocks. Used in continuous control systems.
Example Function Block
Low level basic instructions similar to assembly code. Not as commonly used today.
Example Instruction List
LOAD Pressure GT 10 JMPC ValveOpen ValveClosed: MOV Valve, 0 JMP End ValveOpen: MOV Valve, 1 END:
Ladder logic is the most popular and widespread PLC programming language because it is easy to learn and mirrors old relay control schematics. But other languages are gaining use for more advanced functions.
Choosing a PLC
Factors to consider when selecting a PLC:
- Number and type of I/O required (analog, digital, specialty modules)
- Speed and memory needed
- Communications requirements (networking, protocols)
- Environmental conditions (temperature, humidity)
- Programming preferences (ladder logic, instruction list, etc.)
- Support and training available
- Compatibility with existing and future systems
- Reliability, reputation of manufacturer
Leading PLC manufacturers include:
- Allen-Bradley (Rockwell)
- Schneider Electric
- Bosch Rexroth
It is best to select a PLC model that offers built-in room for expansion in case your I/O or program memory needs grow in the future. Getting the right PLC for an application involves balancing performance, capabilities, and cost.
Modern PLCs communicate with many other devices and systems using a variety of networking methods and protocols. Communication capabilities a PLC may have include:
Programming – Used to upload/download programs from a PC to the PLC. Connections such as USB, Ethernet, RS-232, RS-485.
HMIs – Human-Machine Interfaces like industrial PCs and touch screens connected to a PLC to display system data and allow operators to monitor and control the process.
SCADA Systems – Supervisory Control and Data Acquisition systems connected to multiple PLCs and HMIs to monitor and control an entire factory or facility from a central computer.
Industrial Networks – PLC communication with other PLCs on high speed networks like Ethernet/IP, Modbus TCP, and EtherCAT to coordinate distributed control systems.
Fieldbuses – Connecting PLCs to remote I/O devices, drives, sensors using fieldbus networks like Profibus, Modbus RTU, and DeviceNet.
Wireless – Technologies like WiFi and cellular allowing PLCs to communicate wirelessly with mobile HMIs, data historians, asset management systems, and remote troubleshooting devices.
PLCs are highly versatile devices used for automation in many industries and applications including:
|Automotive||Assembly lines, conveyors, robotic welding, machine tools, painting|
|Food & Beverage||Mixing, bottling, canning, baking, bagging, automation lines|
|Pharmaceutical||Ingredient handling, mixing, packaging, labeling, inspection|
|Plastics||Injection molding, extrusion, blow molding, cutting, vision inspection|
|Metals||Metal stamping presses, CNC machines, welding, painting, plating|
|Oil & Gas||Pipeline flow control, wellhead monitoring, refinery processing|
|Power||Turbine/generator control, substation automation, boiler control|
|Logistics||Conveyor systems, pick-and-place, sorting, robotic handling|
|Packaging||Labeling, sealing, wrapping, palletizing, cartoning|
The flexibility, computing power, and communication capabilities of modern PLCs make them a fundamental component of automated systems in virtually all industrial sectors.
Advantages and Disadvantages of PLCs
- Flexible, customizable programming
- Reliable and rugged industrial computing platform
- Built-in communications for networking and HMI connectivity
- Scalable I/O configurations
- Advanced capabilities beyond basic control (motion, data collection, etc)
- Integrated diagnostics and troubleshooting
- Mature technology with deep application knowledge base
- Higher initial investment cost than simpler controls
- Requires electrical design and programming skills
- Advanced functions may require costly specialized modules
- Troubleshooting problems requires specialized tools and training
- Proprietary programming languages vary by manufacturer
The Future of Programmable Logic Controllers
PLCs will continue advancing in response to the needs for more sophisticated automation and “smart manufacturing” concepts. Key developments shaping the future of PLC technologies include:
- Hardware advances – Smaller, more powerful, faster, cheaper PLCs with denser I/O and specialized modules
- Increasing emphasis on software, connectivity, and remote access rather than just hardware logic
- Use of PC-based controllers and soft PLCs running on industrial PCs
- Programming enhancements integrating IEC 61131-3 languages with object-oriented extensions
- Open source PLC platforms built on Raspberry Pi and Arduino
- Integration of safety, motion control, vision, advanced math, and analytics into the PLC
- IoT connectivity allowing PLC data access by mobile devices, cloud systems, and web dashboards
- Cybersecurity enhancements to protect against threats to connected PLCs and plants
- Machine learning incorporation for more adaptive analytics and predictive capabilities
PLCs will continue to evolve in ways that mirror computer technology trends while meeting industry needs for the best automation control technology.
Frequently Asked Questions
What are the most common types of sensors used with PLCs?
Some common industrial sensors interfaced to PLCs include:
- Limit Switches – Detect position of moving part.
- Photoelectric Sensors – Detect presence of objects.
- Proximity Sensors – Detect nearness of objects without contact.
- Temperature Sensors – Measure process temperatures.
- Pressure Sensors – Measure liquid, gas, or hydraulic pressures.
- Flow Sensors – Measure liquid or gas flow rates.
- Level Sensors – Measure liquid levels in tanks or vessels.
What are the main advantages of PLCs over relay logic?
PLCs offer numerous advantages compared to traditional relay circuits:
- Flexible programming that is easier to change
- Much faster response and scan times
- Not susceptible to contact issues like sticking or corrosion
- Higher density I/O in smaller space
- Communication and data collection abilities
- Advanced capabilities beyond basic logic
How do you troubleshoot problems with a PLC?
Common techniques for troubleshooting PLC issues include:
- Monitoring status LED indicators on modules
- Checking I/O signals with a handheld digital tester
- Verifying proper voltage at power supply and I/O modules
- Uploading program to computer to check logic and spot errors
- Monitoring PLC diagnostics memory addresses
- Forcing inputs/outputs manually or inserting simulator signals
- Checking communication connectivity and data flow
- Comparing behavior to simulation programs or known good backups
What precautions are important when wiring inputs and outputs to a PLC?
Key wiring precautions include:
- Separating AC power wires from DC I/O wiring
- Properly grounding the PLC and field devices
- Using shielded, twisted pair cables for analog signals
- Avoiding running I/O wiring in parallel with power cords
- Keeping wire lengths short to avoid electrical noise issues
- Double checking wiring before energizing
- Verifying rated voltage and current limits
- Following all electrical safety procedures
How can better cybersecurity be ensured for PLC systems?
PLCs used for critical infrastructure need protections like:
- Blocking unused communication ports
- Disabling unnecessary services and protocols
- Encrypting network traffic where possible
- Using whitelisting to only allow authorized access
- Proper password policies and access controls
- Virtual private networks (VPNs) for remote access
- Security tools like firewalls, intrusion detection, backups
- Physical security restricting physical PLC access
- Regular penetration testing to find vulnerabilities
Programmable logic controllers or PLCs are rugged, reliable computerized control systems used for automation in industrial applications. PLCs contain a processor, power supply, I/O modules, and communication modules housed in a chassis. Input devices like sensors are monitored by a PLC which then runs a logic program to determine the appropriate response from output actuators according to programmed instructions.
Ladder logic is the most common PLC programming language, but other methods like structured text and function block are also used. Leading PLC brands include Allen-Bradley, Siemens, Omron, and Mitsubishi. Choice of PLC depends on factors like number of I/O, speed, memory, and communications requirements.
PLCs provide flexible, scalable, and reliable control well-suited for harsh industrial environments. They offer advanced capabilities beyond what could be achieved with simple relays. Modern PLCs incorporate sophisticated communications, HMIs, motion control, safety systems, data collection, and more. PLCs will continue advancing in response to automation needs for IoT connectivity, machine learning, and other smart technologies.