Automated systems all need something to come back to. There needs to be some sort of brain that runs the infrastructure, does all the math, and calls the shots within the building. This needs to be a programmable device, that works on numerous inputs and outputs, to control what’s going on. It needs to be rugged, reliable, and easy to use. We call it a PLC, Programmable Logic Controller.
The Basic Problem
When we fully automate a building, chemical plant, or manufacturing center, we instantly open ourselves up to hundreds of thousands of little things that need to all be overseen, adjusted, and managed in a rational way. We don’t want a person to be opening or closing a vent by hand, or to have workers walking out to manage mixing valves, or anything else by hand. Everywhere a person might do something, we need a computer, sensors, and actual controls to drive.
We could use a standard desktop computer, that has the raw processing power to handle a couple million inputs and outputs, but it sucks up a ton of power, it doesn’t have that many physical IO connections, it can’t survive being dropped or beaten around, it’s too big, and it’s not guaranteed to be easy to configure. In fact, it’s probably guaranteed to be a nightmare to configure at install and every repair session. The final nail in the coffin comes in terms of security. Common desktop computers require constant updates, or they’ll be easily overcome by the latest computer viruses, something we can’t have happening to buildings or potentially dangerous manufacturing situations.
We could create a mechanical device that manages it all, but that’s not adaptable to each circumstance and it’s a little clunky. We could use a pneumatic logic system, but that probably wouldn’t scale well to control an entire room or building, without needing an entire building just to house all its components.
There needs to be a specialist, compact, durable, adaptable, efficient computer. This ultimately leads to an entire field of products that can perform any task.
The PLC ABC’s
A Programmable Logic Controller is basically a computer, but it’s built to be tolerant of extremely harsh conditions, it has numerous inputs and outputs, it can interact with analog and digital equipment, and because they are designed in a semi-custom manner, they feature integrated controls for each application or specialist programming systems that make them quick and easy to configure.
PLC’s are configured with a program downloaded to them from a workstation. This is usually a program written in LD, Ladder Diagram or Ladder Logic. On top of that, they can be preprogramed and can have physical controls to adjust them to a particular application. A simple design might incorporate a few dials to adjust a timer, and the rest of the unit will toggle it’s outputs on a preprogramed schedule based on those dials, straight from the factory.
The actual PLC programming is generally done in a language called Ladder Diagram or Ladder Logic. This is coding written on a regular workstation, transferred to the controller, and then typically left to run for the controller’s functional lifetime. These programs will just run in an endless loop as soon as the controller is powered on. It gathers input, works out what to do, sends an output as needed, and then repeats the process. This does mean that PLC’s do not act in real time, but rather at an interval, they’ll make adjustments as necessary.
More complex PLC’s will actually encroach on the territory of a full desktop workstation. They’ll feature networking, modular expansions, interconnect with other PLC’s to operate jointly, and will be integrated with a central control system referred to as a SCADA (Supervisory Control And Data Acquisition) system.
The Security Problem
Unfortunately, the things that make a PLC desireable are also an inherent weakness. These controllers can be programmed and reprogrammed. They can interface to outside systems to be programmed or controlled themselves. This means that they are only as secure as the rest of their control system. At one point, large businesses would just setup their PLC’s and leave them to their business, but in recent years it’s been proven that PLC’s need as much scrutiny as the rest of their businesses’ sensitive equipment to keep things operating safely.
This doesn’t mean PLC’s are too dangerous or risky to use, but it does mean that current and future users will have to maintain a safe process of securing and updating their facilities. Programming unfortunately won’t be stopping at installation.