The acronym PLC stands for “Programmable Logic Controller” and it describes a device used to control industrial processes. To do its job, a PLC runs softwares and processes digital and analog inputs collected by the sensors installed on an industrial plant.
What is a PLC?
The very first PLC controller for automation was created by Dick Morley in 1968 and today these devices are smaller, more powerful and are used not only in factories, but in our houses as well, to control different systems used in a domestic environment (e.g.: heating, alarms, water plant etc.).
PLCs are perfect for industrial applications, not just because they can process quite an amount of inputs and commands, but also thanks to their sturdiness that allows them to resist in environments that would compromise many electrical devices. PLCs can resist electric interferences, high humidity and temperatures, dust, vibrations and any other hazard that might threaten the integrity of a similar device. If you think about it, those attributes are also the key for some PLCs to be able to work 24/7.
How is it made?
A PLC consists of:
A power supply;
Input and output digital boards;
Input and output analog boards ─ if needed.
Should a PLC be installed in a 4.0 system, in which it’s necessary to be able to operate online, it can be equipped with communication boards, compatible with the net protocol, just like the other PLCs installed. On the other hand, when it comes to a robotic system, axis control boards can be featured in the PLC, in order to control movements and locations of the robot axis. The market also offers different controllers and electronic equipments for a PLC, that make this multipurpose device suitable for almost any application.
Long story short: with the right modifications and the adequate processing power, a PLC can work in any system.
How does it work?
A PLC works on a scan cycle, executing its program repeatedly. A basic cycle consists of tree steps:
The first thing a PLC does, when it’s started, is to scan all the inputs, both analog and digital, and memorise their status in a memory called “inputs record”. After that, the CPU processes the commanding instructions and registers the results in the “outputs record”; such content is then transcripted on the physical exits of the PLC, that are this way activated.
This whole process takes approximately between 10 to 100 milliseconds for every cycle the PLC has to process.
PLC programming is made on a computer, creating programs that eventually are loaded on the PLC’s CPU.
The most used programming languages, today, are standardised in three graphic languages and two textual languages, following the ICE EN 61131-3 directive.
The five PLC programming languages are:
Ladder Diagram (LD); graphic
Sequential Functional Chart (SFC); graphic
Function Block Diagram (FBD); graphic
Structured Text (ST); textual
Instruction List (IL). textual
Among the five languages, Ladder Diagram was the most used until not long ago and it was designed to resemble an electric diagram, so that electricians and other technicians could program a PLC with even little experience with programming.
PLCs and other systems
PLCs are very well suited for sectors that feature production lines for mass production and that are subjected to different modifications during their lifespan.
In particular, if we talk about a mass production process, a customised PLC is the ideal choice, but “pre-made” PLCs can be an option too: they’re cheaper and more on the standard side than a customised one ─ in fact, if there are only simple functions to control and manage (open/close doors, move a conveyor, etc.), pre-programmed PLCs are actually the best choice.
For processes that need a lot of processing power, e.g.: chemical plants or flight controls, even a high performance PLC would be inadequate. In these cases, to process all the complicated algorithms in a short period of time, it’s better to go for a single-board Computer, in which a “softPLC” is installed ─ a software that emulates the functions of a PLC, inside an industrial PC and can interface with the installed I/O modules.