New version!

A new version of this website is available at architectural-patterns.net.

You want to keep some variable (say: temperature) constant. At the same time external factors are causing it to change (cold from the outside). There is a way (a heater) to influence the variable. Now all you need to do is determine when to use it to keep the variable constant.
In this example heating up the temperature is the Process. Determining when and to what extent to influence it is the Control.
Temperature is called the Controlled Variable, the output of the system. Its desired value (25º C) is called the Set Point. Temperature is here also an Input Variable, since it is measured by a thermometer to know the current value of temperature. The state of the heater is called the Manipulated Variable, because it is manipulated by the system.
Since the output of this system is also used as input to the system, it is a Closed Loop system. An Open Loop system would not have it. And since the temperature is used directly as an Input Variable, it is a Feedback Control System. A Feedforward Control System would use a variable that indirectly indicates the Controlled Variable as input.

The Process is any process that affects the Controlled Variable.

The Controller can be any subsystem that has both knowledge of the influence of the Input Variables and the effect of changing the Manipulated Variables on the Controlled Variables.

Examples

  • Cruise Control.

Where does it come from?

Process Control is an engineering disipline. It has a long history.

When should you use it?

Use such an architecture when there is something to be controlled and you have a number of outside factors disturbing it.

How does it work?

Process Control architectures have some variations. They can be either Open Loop or Closed Loop. The Closed Loop systems can be either Feedback systems or Feedforward systems.

Open Loop systems just perform a function on on the Input Variables to determine how to control the process.


Picture: Open Loop

Feedback Closed Loop systems measure changes in the Controlled Variable directly, and feed them back as Input Variables into the Controller.


Picture: Feedback Closed Loop

Feedforward Closed Loop systems do not measure changes in the Controlled Variable directly, because they the Controlled Variable is not affected immediately, or because the Controlled Variable cannot be measured directly. In stead, variables named Intermediate Variables that are indications of the Controlled Variable are fed back as Input Variables.


Picture: Feedforward Closed Loop

Links