You are currently viewing OT: Industrial Computing with PLCs | The Basics

OT: Industrial Computing with PLCs | The Basics

Information Technology (IT) and Operational Technology (OT) are two separate disciplines in the world of technology. OT devices control the physical world while IT devices control the world of data.

In the past, most OT devices were completely cut off from both internet and internal networks (air-gapped), and could only be accessed physically by a few authorized employees. However, the latest OT systems are more often monitored and controlled using IT systems. They become more data-driven, containing sensors that continuously gather data and are frequently connected with the Internet of Things (IoT). Because of this the boundaries between IT, and OT start to blur and this requires quite a different approach by IT-oriented teams and OT-oriented teams and more cooperation between the two of them.

Security-wise, this also introduces new challenges. Cyberattacks hardly affected OT environments except for targeted attacks on specific OT environments by, for instance, portable physical storage devices. However, with more and more OT devices that are connected to the internet, a new dimension to OT and cybersecurity.

This post will mainly focus on one of the key components in Operation Technology, the Programmable Logic Controller (PLC) but I will first briefly touch base on the umbrella term Operational Technology.

What is Operational Technology?

Industrial equipment generates the products and/or services that industrial companies provide to their consumers. Examples of these goods and services are cars, computers, telephones, bulbs, etc. But also critical services like electricity and clean water are provided by industrial companies. Industrial companies can only provide these goods and services by utilizing industrial equipment. In order to utilize this industrial equipment, you require Operational Technology (OT). Operational Technology is the hardware and software that detects or causes a change, through direct monitoring and/or control of industrial equipment, assets, processes, and events.

The most common examples of Operational Technology are:

  • Programmable Logic Controllers (PLCs)
  • Industrial Control Systems (ICS)
  • Supervisory Control and Data Acquisition Systems (SCADA)
  • Distributed Control Systems (DCS)
  • Computer Numerical Control systems (CNC), including computerized machine tools
  • Scientific equipment (e.g. digital oscilloscopes)
  • Building Management and Building Automation Systems (BMS/BAS)
  • Lighting controls for both internal and external applications
  • Energy monitoring, security, and safety systems for the built environment
  • Transportation systems for the built environment

PLCs: a brief history

Industrial automation started far earlier than the first PLCs. In the mid-1900s most automation was done by using complicated electromechanical relay circuits: relay logic. A major application of relay logic is the control of routing and signaling on railways. This safety-critical application uses interlocking to ensure conflicting routes can never be selected and helps reduce accidents. But because of the huge number of relays, wires, and space that was required for even the simplest form of automation, it was always a very hard job to apply industrial automation to industrial processes. 

This changed in 1968 when the first Programmable Logic Controller (PLC) was introduced. This replaced the complicated relay circuitry that was used in the past for industrial applications. It was designed to be easily programmable by engineers and technicians at a plant.

PLCs and Ladder Logic

Since their introduction, PLCs have been programmable using Ladder Logic which was designed to mimic control circuit schematics. Ladder Logic is a programming language for industrial machines like Python or C++ are programming languages for computers. The ladder diagram looks like control circuits where power is flowing from left to right through closed contacts to energize a relay coil. This way you can program commands into a machine, instructing them how to operate.  

Ladder Diagram

In addition to Ladder Logic, there are more PLC programming languages. The most popular: 

  • Sequal Function Charts (SFC)
  • Function Block Diagram (FBD)
  • Structured Text (ST)
  • Instruction List (IL)

How do PLCs work?

A PLC is a small industrial computer with modular components that are designed into it to automate control processes. PLCs are behind almost all modern industrial automation. A PLC exists out of many components but is always built up into three different categories:

  • The Processor (CPU)
  • Inputs
  • Outputs

Inside workings of a PLC

PLCs are complicated and powerful computers. Despite its complexity, the function of PLCs can be described easily. A PLC takes inputs, performs “logic” on these inputs, and then turns outputs on or off, based on that logic:

  • The CPU monitors the status of the inputs (switch on, proximity sensor off, valve 40% open, etc.);
  • The CPU takes the information that is received from its inputs and performs logic on these inputs;
  • The CPU operates the output based on this logic (turn off motor, open valve, etc.).
PLC Module

How does a PLC work in a dishwasher? A practical example

When designing PLCs for industrial machinery, engineers use a PLC function flowchart. This is a graphical/logical representation of the flowcharts or steps, similar to flowchart algorithms in computer language.  

If you take a dishwasher (a very commonly used example to show how a basic flowchart of an industrial machine works), the microprocessor in it (comparable with PLCs) as inputs, outputs, and a CPU. 

  • The dishwasher inputs are the buttons on the front, the water sensors, and the door switch;
  • The dishwasher outputs are the water valves, the heat elements, and the pumps.

The CPU in the dishwasher is programmed to make all the decisions based on the input. After it processes all decisions, it generates a type of output:

First, the user pushes the cycle mode button: input is detected (1) after which the user pushes the start button. Again input is detected (2). Then the CPU verifies if the door is closed which is another piece of input detected (3). When this is the case, it is a green light for the dishwasher to take the next step in the process but in case the door is not closed properly, the dishwasher won’t start: this is an important security measure built into the program. 

After the CPU confirms that the door is closed properly, the fill valve opens and the dishwasher begins filling with water: output is activated (4). The CPU waits until the proper water level is reached: input detected (5) after which the fill valve is closed, and the water flow stops: output is activated/de-activated (6). Then the heating element is turned on to warm the water: output is activated (7). Now the CPU waits until the proper water temperature is reached. This is determined by sensors in the machine: input is detected (8). When the proper water temperature is reached, the soap dispenser opens: output activated (9). Then the water pump turns on to force water through the sprayers: output is activated (10). When the water is flowing, the CPU starts the timing, depending on the selected cycle (the washing program that has been selected): logic timer activated (11). Then the water pump turns off: output deactivated (12) and the heating element is turned off as well: output deactivated (13). Then the drain valve opens up and the dishwasher starts to drain the dirty water: output activated (14). After that, the CPU waits until it detects that the water level is low enough. This is done by sensors: input activated/de-activated (15). Then the CPU provides the “go-ahead” to the drain valve to close: output activated/deactivated (16). 

Now the first part of the washing program is done: the soaping. Time for the next part: rinsing the dishes with water to remove the soap. The fill valve opens again to wash the dishes: output is activated (17). The water pumps now turn on to force water through the sprayers: output activated (18). Then the CPU begins timing again because the sprayers only need to rinse the dishes for a specific amount of time: the logic timer is activated (19). After that the water pump turns off again: output deactivated (20). The drain valve now opens and the dishwasher starts to drain the water that was used to rinse the dishes: output activated (21). The CPU waits until it detects that the water level is low enough with the sensors inside the machine: input activated/de-activated (22). When this is done, the drain valve closes: output activated/deactivated (23).

Time for the last part of the program: the drying of the dishes. For this, the heating element is turned on again to heat the air inside the dishwasher. This dries the dishes: output activated (24). The CPU waits until the proper interior temperature is reached based on the signals it receives from the sensors: input activated (25). After that, the CPU begins timing. This is the amount of time that is programmed for executing the drying program: logic timer activated (26). After the drying program is done, the heating element is turned off: output activated/deactivated (27). This ends the washing program and your dishes are clean again.

Final Thoughts

Personally, I think that OT and IT have a lot of similarities. This also explains the blurring boundaries between both worlds. Although both worlds are driven by specialists, the main concept is still the same in my opinion:

  • The CPU is the beating “heart” of the machine: for IT and OT
  • To “talk” with the CPU, commands have to be provided by specific language code: program language (Python, C++, etc.) for IT and logic language (Ladder Logic, SFC, etc.) for OT
  • OT and IT Machines can only operate by providing Input after which Output is generated

I only explored a tiny bit of OT and PLCs in specific. I’m planning to invest more research in PLCs by deep-diving into PLC CPUs, input/outputs, and ladder logic. 

Feel free to contact me if you have any questions or if you have any additional advice/tips about this subject. If you want to keep in the loop if I upload a new post, don’t forget to subscribe to receive a notification by email.

Gijs Groenland

I live in San Diego, USA together with my wife, son, and daughter. I work as Chief Financial and Information Officer (CFIO) at a mid-sized company.

Leave a Reply