Béla Lipták, Greg McMillan, Greg Shinskey and Harold Wade bring two centuries of process control experience to the knotty question of tuning cascade loops. They had too much good information to fit in just two pages, so we gave them more space. To participate in Ask the Experts, email firstname.lastname@example.org.
Q: I am working on the temperature control of a batch reactor. In this cascade control system, we have a cold and a hot supply control valve, both of which are manipulated by one master PID temperature controller.
The control system used is DeltaV. Initially, I was using a control configuration where the PD portion of the PID function block was acting on the temperature error, but it did not work well when the loads were high. It worked fine only for smaller heating or cooling cycles.
I was using the following tuning values: Proportional gain: 70; Derivative time: 300.
I tried playing with the above values, but that did not help.
Why do the two valves not open and close at the same rate? Why does the heating valve close too soon as compared to the cooling valve?
Also, is there a way that I can remove the offset, if I let the "PD action act on the error" and not use integral action at all? I guess this can be done with the bias term. How do I calculate the appropriate bias term to remove the offset?
A: From your description, it appears that you do not have a cascade loop to start with. In addition, the gain of the controller could not have been 70, but probably 0.7 (70% proportional band), and the unit of your derivative setting of 300 is probably in seconds. A gain of 70 on a chemical reactor is next to impossible, but a derivative setting, which makes the controller project into the future by 5 minutes, is reasonable.
You should remember that the proportional (P) correction is a response to the present value of the error; integral (I) corrects for the accumulated error of the past; and the derivative (D) mode anticipates and attempts to eliminate future errors. Therefore, the cascade master must have all three modes (PID). The job of the cascade slave controller is to serve the master, in this case to keep the jacket outlet temperature at the value dictated by the master.
If your process is self-regulating in the steady state, you can tune it to overcome upsets caused by load changes by obtaining a "process reaction curve" (a curve which shows the reactor temperature response to a step change in the jacket temperature). This is done by first placing the master in manual and changing the setpoint of the slave controller. The response curve to such a step change in heat transfer will be unchanged for a while (dead time) and after the dead time, it will start changing at an increasing rate until it reaches a maximum rate at the inflection point of the curve (reaction rate). Find the PID settings by following Chapter 2.35 in my Instrument Engineer's Handbook.
You did not describe the type of reactor you have. Most continuous reactors are self-regulating (stable), while some exothermic batch reactors can be unstable in the steady state. If your reactor is a continuous exothermic one, you are dealing with a variable-gain process, because the process gain (Gp) drops as the load increases, due to the drop in the heat-transfer efficiency, as a larger amount of heat has to be transferred across the constant heat-transfer area of the reactor jacket. This non-linearity is easy to compensate for. Simply tune the cascade master controller for a gain (Gc) that equals a constant time (0.5 x Gp x Gv), where Gp is the process gain, and Gv is the control valve gain. If the goal of damping is quarter-amplitude damping, use 0.5 as the constant. If you use an equal-percentage control valve (gain rises with load), and if the load rises and therefore the process gain (Gp) drops, then the gain of the control valve (Gv) rises, and, therefore, the gain product (Gp)(Gv) remains relatively constant. Hence, the reactor control will be stable.
If your reactor is an exothermic batch reactor, it can be unstable in the steady state because a second non-linearity is superimposed on the variable gain (which was compensated by the = % valve). This second nonlinearity is a function of time, because at the beginning of the batch, the process gain is low, but with time, as more and more reactants start combining into products, it rises and than drops again as the concentration of the reactants drops and product concentration rises. Therefore, the time function of Gp resembles a bell curve, and this non-linearity requires more sophisticated compensation (c) to maintain stability [Gc = (0.5GpGv)c].
If your reactor is unstable and dead time is dominant (dead time exceeds the lag time of the reactor)—because there are times when, in response to a temperature change, its rate of heat generation can change faster than the rate at which the heat transfer system can change the rate of heat removal—it is uncontrollable. Therefore, such a badly designed (uncontrollable process) has to be redesigned. Some of the redesign options include the reduction in production or increasing the rate of coolant heat transfer by, for example, replacing the liquid coolant with a boiling liquid.
When configuring the cascade loop, keep in mind that it consists of three control loops inside each other. The outer, (or master) loop controls the reactor temperature by generating a temperature setpoint for the inner (or slave) loop that controls the temperature of the heat-transfer fluid leaving the reactor jacket. The slave loop does this by sending a setpoint to the control valve positioner, which moves the valve plug to the desired position.