What is a Programmable Logic Controller and How Does it Work?

A Programmable Logic Controller is a dedicated controller that processes a specific program over and over. It is a highly specialized device which is intended to control a machine, and to do its one job very well, even in highly challenging conditions. These are machines that are built for reliability and ease of replacement rather than for flexibility. An example of a PLC is the RSLogix 5000, which we provide training on at http://controllogixtraining.com/.

A PLC shares a number of similarities with a standard computer. It runs software, it is (often) capable of communication. It has a power supply, a central processing unit and some memory. It accepts input and it can send output although the forms of input and output can vary massively.


A PLC is usually used in an industrial unit, and it is capable of withstanding humidity, dust, vibrations and extreme temperatures. Some PLCs are modular, so that if one part breaks it can simply be replaced – but this tends to be the case only with the much older ones. Modern PLCs are often a small, self-contained box, which means that there is less chance of damage due to humidity or dust, but it is also required to replace the entire thing if something does go wrong.

With some PLCs, there are fixed I/O points, with others there is a ‘rack’ that can accept several different I/O modules, to suit the device in question. The I/O modules slot into a back-plane, and the PLC itself is a ‘rack’ that contains a PSU and the CPU.

The CPU is the brains of the PLC, and it consists of a memory chip, a microprocessor, and several integrated circuits that handle the monitoring, the communications, and the logic. The CPU has a programming mode, which is used to make it accept logic. Once it has been programmed with the tasks that it needs to perform, it is put into run mode, where it executes the program that it has been given.

A PLC is a dedicated device. Where a PC can fulfill many roles at once, and is a general-purpose machine, PLCs perform the same process over and over again. One complete cycle of a program takes a given amount of time, called the scan time. In this time, it will read through the inputs from the connected modules, execute whatever logic it has been given, and then update the outputs as required. Scan times tend to be measured in thousandths of a second, and while the CPU is running the program, the memory modules will hold the status of the I/O systems.

The I/O systems could be anything from temperature sensors to speed sensors, light detectors, simple switches, resistance monitors, or anything else that can accept variable readings for input, with lights, storage devices, screens, etc., being outputs. Output signals can even be voltage or current to drive controllers and regulators.

Programming a PLC is done using a PC with some highly specialist software. Unlike traditional PC programming languages, which use detailed syntax, PLCs typically use ladder logic – which uses symbols in the place of words, to dictate the logic that is to be carried out. The completed program will look like a ladder (hence the name) but in reality, it is a circuit, and it needs to be laid out in a specific way to ensure that it is readable. The left-hand side is positive, the right is ground. The wiring links the components. If you are familiar with how a circuit works, then you should be able to read a ladder logic program, and with a little thought write one. It is quite an intuitive system.

Tom Archibeque on Linkedin
Tom Archibeque
Tom Archibeque is an Electrical Controls Engineer, with 23 years of experience as a Manufacturing Engineering Technician with Coors Brewing Co. He currently provides PLC training to maintenance and engineering personnel at Control Logic Training.