Architecture · Countries

Process Control

The most basic form of process control is called a feedback loop. For example, let’s imagine a heating vent and a thermostat where the goal is to provide a comfortable room temperature. A feedback loop has four basic components: 

  1. Sensor: monitors some important information (e.g. thermostat).
  2. Controller: logic (e.g. software).
  3. Actuator: the physical method of manipulationg the process (e.g. heating vent).
  4. Process: what you are trying to control (e.g. room).
Process Control Diagram.drawio.png
Feedback loop example where the temperature should be adjusted.
Process Control Diagram (feedback loop).drawio.png
Feedback loop example where the temperature no needed to be adjusted.

From a software point of view, the controller logic must run continuously. It is not only run once but many times because the process is always changing. The temperature of the room must always be checked to see if it is still at the set point. The frequency or how often the loop runs, depends on the desired level of control and the sensitivity of the system.

For example, controlling a self-driving car has much tighter timing constraints than controlling a room’s temperature. The temperature of a room is also much slower to change than many processes, so checking it every microsecond is not necessary or useful.

The previous example can be improved, because it’s not always the best way just to open or close the vent, the better experience will be when can open the vent only on some degree (portional controller):

Improved Process Control Diagram (feedback loop).drawio.png
Improved, portional vent controller.

There are other process controles, for example an open loop refers to a process that is controlled without monitoring the process:

Open Loop process diagram.png
The Open Loop example.

It is simple but cannot deal with changes in the process. It also cannot check itself to see if it’s actually succeeding. 

Feedforward control occurs in systems where there are processes in series. Information from an upstream process can be used to control a downstream process:

Feedforward Process Control Diagram (feedback loop).drawio.png
Feedforward control

More complex problems may have many sensors and many ways to control the process. Think about a self-driving car. It must take information from all kinds of sensors like radar, lidar and cameras. It can also control itself in several ways that are not separate from each other; throttle, brakes and steering. The process control architecture for a complex problem like this is much more complex but it usually looks something like this. This architecture is based on a MAPE-K structure:

MAPE-K process control.drawio.png
MAPE-K process

It comprises four major steps: monitor, analyze, plan and execute. And all four of these steps must have knowledge of the process. 

The first responsibility is to monitor. This is the component or collection of components that interface with sensors, turning their raw signals into meaningful information for the software. 

Next, the software must analyze this data. This can be much more sophisticated than in the room temperature example. It could integrate data from several sensors and build a complete picture of how the process is behaving. More sophistication, generally requires a better model of the process. 

The next step is to plan. Like analysis, more advanced planning needs will require more knowledge. The software will have to know how the process will respond before deciding how to make the desired change. This knowledge is in the form of a model of the system. Software developers should only build these models in close conjunction with engineers that specialize in the process. 

Finally, there’s execute. After the analyze and plan components have done most of the thinking, the execution components will be relatively simple.

With the advent of machine learning and big data, process control is becoming ever more complex and software is becoming an ever bigger part of controlling physical systems.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.