Cascade control

The maximum speed of response, and the 'tightness' of control, is tied to the time constants of the controlled process. Where a process response is slow, it isn't possible to use high gains without running into stability problems. Often, however, these sluggish processes are actually a composite of several lower order, and sometimes much faster, sub-processes. For example, consider a steam jacketed stirred tank heater. When the steam valve opens the pressure in the jacket rises very quickly, increasing the condensation temperature, and this eventually leads to the liquid exit temperature from the heater rising. However, the thermal capacity of the jacket is much less than the liquid in the tank, and so the jacket dynamics are much faster than the tank dynamics. In situations like these, and where intermediate measurements of the output from the sub-processes are available, considerable improvements in control can be achieved by using cascade control.

In a cascade control scheme a controller is fitted around the sub-processes which precede the slow part of the process. These controllers are used to quickly eliminate any disturbances arising in these sub-processes without them having a chance to significantly affect the slow process. Disturbances may also affect the slow process directly and so it is still necessary to attach a controller to the controlled variable, but since the manipulated variable is connected to the sub-process controller, it is necessary to connect the output of the main ( called the primary or master ) controller to the setpoint of the sub-process (secondary or slave) controller.

In the steam-jacketed heater example, a temperature measurement of the jacket temperature would be connected to a temperature controller which manipulated the steam flow. This secondary controller would protect the process against disturbances in the inlet steam pressure, or steam quality, by quickly detecting and correcting changes in the jacket temperature. The primary controller would still be connected to the liquid outlet temperature, but the controller output would be connected to the jacket temperature controller setpoint, so, if the tank temperature started to fall, the primary controller would demand a higher jacket temperature.

Cascade control is very common in chemical plants. Where flow rates are to be manipulated this is almost always done through a secondary flow controller.

Some examples of cascade control schemes

cascade1.gif (3880 bytes)In this example the concentration from a reactor is being controlled by a concentration controller (XC) which is cascaded to a flow controller (FC) on an input flow to the reactor. With this scheme, the flow controller will quickly deal with any up-stream or down-stream pressure variations which could disturb the flow into the reactor. The dynamics of the flow loop are very fast - effectively they are the dynamics of the control valve. The concentration controller deals with other disturbances to the outlet concentration (e.g. inlet concentration changes, temperature changes, etc) by requesting the flow controller to change the flow through the reactor. The concentration loop will have relatively slow dynamics due to the large mass hold-up in the reactor.

Cascading onto flow controllers is very common in the process industries. Only in a few cases will the output of a controller (other than a flow controller!) be led directly to a valve - most of the time it will be fed to a secondary flow controller.

 

 

cascade2.gif (3667 bytes)In this example the feed to a packed bed reactor is preheated. The concentration is manipulated by changing the amount of preheat. The control arrangement shown cascades the concentration controller to a temperature controller on the heat exchanger. Provided the heat exchanger dynamics are significantly faster than the reactor dynamics, then this is a very powerful cascade arrangement. The temperature controller will deal with disturbances in the flow and heating quality of the heating medium and will also deal with flow and thermal changes in the reactor feed. This example is from Marlin.

 

 

 

 

When can and should cascade control be used?

For cascade control to be worthwhile the following need to be satisfied:

  1. There needs to be a secondary measured variable available
  2. The secondary variable needs to have a causal effect on the primary controlled variable
  3. The secondary variable needs to be affected by a significant disturbance
  4. The secondary process must be faster than the primary process. As a rule of thumb the secondary needs to be around five times faster (i.e. the open loop time constant needs to be one fifth that of the primary process) for cascade control to show significant improvements.

Direction of control action and output limits

Some care needs to be taken when converting an existing loop to cascade control to make sure that the appropriate control action direction and output units are assigned to the primary controller. For example, imagine the situation where an existing controller is used to control the temperature of a large reactor by varying the flowrate of a low heat capacity coolant in a small jacket. In the existing scheme if the manipulation increases (the valve signal) then the vessel temperature will decrease, so the sign on the manipulation gain is negative and a direct acting controller is required. However, if a secondary temperature controller is fitted to the jacket with the primary cascaded to the jacket temperature setpoint, then an increase in the primary output (the jacket setpoint) will cause an increase in the vessel temperature. In other words, the sign of the process gain the vessel temperature controller is seeing has changed to positive and a reverse acting controller would be required.

In addition to the possibility of the direction of control action being altered, there is the certainty than the units and range of the output will change. Instead of being connected to a valve the controller will be connected to a setpoint and the output should, usually, have the same units and range as the measured variable of the secondary controller.

Integral windup and cascade control

Integral windup has already been discussed. When commercial PID controllers are directly connected to the control valve, integral windup should be handled automatically provided the output limits have been properly set. When a controller is used as a primary in a cascade loop, however, this is not the case. The problem is that the primary controllers output is the setpoint for the secondary controller and not the control valve. The secondary controller adjusts the control valve. Now, if something happens in the secondary loop that causes the control valve to bump against a limit, the primary controller has no way of knowing this has happened and will continue with integral action (changing the secondary setpoint).

The solution to this problem is to provide some means of communication between the secondary and primary controllers that allows the secondary to inform the primary when the output has saturated. The StrathPID controller does this by providing an auxiliary output (the lower of the two) which moves from 0 to 1 when the output saturates (hits a limit). The controller also has an auxiliary input (the lowest of the three) which allows the saturation status of lower level controllers to be entered - if this value is set to 1, the controller stops integrating.

Tuning a cascade control scheme

Tuning a cascade control scheme is similar to tuning a normal PID controller, but, because the primary controller is only connected to the process through the secondary controller, it has to be done in a fixed order:

  1. Connect the secondary controller to the process, but disconnect the primary from the secondary (i.e. leave the secondary so that its setpoint can be set manually).
  2. Tune the secondary controller as a normal PID controller. Often secondary controllers are tuned using only proportional action - the secondaries are usually connected to very fast processes allowing high gains to be used. These high gains minimise the amount of steady-state offset which appears (and any residual offset will be removed by the primary loop).
  3. Once the secondary is tuned, connect the primary controllers output to the secondary controller's setpoint.
  4. Tune the primary as a normal PID controller. At this stage you should not touch the secondary controllers tuning constants - if you do you will change the 'process' the primary sees and muck up any tuning you have done!

Example of a cascade control scheme

I've put together a VisSim example of the control of a process with and without cascade which can be found here. The process is the reactor model I developed earlier in the course, which has been modified by the addition of an additional first-order process to represent a measuring instrument. This makes the overall open-loop process response (between the flow and product concentration) third-order.