In the world of manufacturing, there are computers, and then there's computer automation.

While you may think you know all there is to know about computers, you just haven't even scratched the surface of using computers to automate things until you've used a programmable logic controller - known in the automation industry simply as a "PLC". A PLC is nothing more than a computer with a processor, except that the architecture is created in a way that is focused on interacting with the outside world. It gets information from the outside world through inputs - digital and analog sensors, relays and other assorted gadgets. It interacts with the real world through outputs - motors, valves, conveyor belts, actuators and much more.

In between all of the inputs and outputs is the PLC - the heart of the beast and the brains behind the entire operation. PLC programming makes the decisions based on input from the real world, and then immediately interacts with the real world through the outputs - all in fractions of a second. These are essentially robots.

Where Computer Automation Programming Came From

Before computer systems, manufacturing equipment was all manually controlled. What that means is that a person would press buttons to directly control devices. For example, an operator might press a button to move a conveyor belt until a bottle is underneath a spout. Then they would press another button to open the valve and fill the bottle, and then press the conveyor button again. This was the stage of automation that initially replaced (and in some cases saved) human hands.

plc programming

The evolution of PLC programming came from how these "manual" control systems were wired. In many cases, there were some "smarts" factored into the electrical wiring in order to safeguard the machine. The schematics included input push buttons and output contact relays that looked like the following on the prints.

how can i learn plc programming from home

Those are contact relays - one is called "normally open" and the other "normally closed", meaning that one would close the electrical circuit when activated, and the other would open it. Relays could be activated by anything - a pushbutton, a limit switch struck by an object, etc. On the output side of the wiring, electricians would use the following signal to represent an output coil that might turn on a motor or other device.

how can i learn plc programming from home

With the advent of not only computer processors, but also advanced sensor devices like infrared proximity and level sensors, many of these "manual" processes where a human being still had to make decisions, started getting replaced with computer automation programming inside these high-speed processor units called PLCs.

So, what makes a PLC different than a regular computer? PLCs are made to cycle quickly, and to interact quickly with the outside world. If you look at the first image in this article of an Allen-Bradley PLC system, you may be surprised to learn that only the very left module is the actual computer. The bulk of the "rack" includes various modules that interact with input sensors or devices, and then other modules to control output devices as well.

As these systems were being used to replace systems that used to be wired and maintained by electricians, the control "language" had to be something that those electricians could understand. That was how "ladder logic" was born.

Computer Automated Programming Uses Ladder Logic

While this may change at some point in the near future, up until now these PLCs utilized various versions of "ladder logic."  Ladder logic is a programming language that looks very much like those old style electrical diagrams and those electrical symbols, but it's laid out inside the processor in a sequential "program" that controls everything.

how can i learn plc programming from home

This PLC programming looks like an electrical schematic, but these are only symbols used to represent some function.  Input relays are examining some sensor in the real world, the output symbols are turning on or off a real-world device, and any boxes in the middle represent various mathematical calculations or other "functions", just like you'd have in any other computer software.

They are laid out on "rungs" in the program - and all rungs are scanned nearly simultaneously. If you think about how computer programmers are accustomed to writing sequential programs where the script is processed one line at a time - it can take some time to get used to writing a program where everything is happening all at once.

But if you consider how quickly an automated "robot" has to respond to any change in the real world, you can see why this quick scan time is critical.

plc programming

When it comes to the high-volume, precise demands of the high-tech manufacturing world today, you can see why these high-speed, programmable computers are at the heart of what gives any manufacturer a competitive advantage.

Automating any process involves understanding the process, understanding the machinery, and then thinking like a computer programmer so that you can tell that PLC exactly how to do what 2 or 3 human beings previously had to do by hand.

Even better, once you use a computer to do those things, you can also take instant measurements, conduct tests and collect data so that information becomes immediately available to you in a database or on a web-based display.

Have you ever had a chance to interact with automated PLC-controlled systems? Are you a PLC programmer? Share your thoughts and experiences about this technology in the comments section below.

Image credit: Sistemart, Elmschrat, Nuno Nogueira