% Constrain closed-loop poles of inner loop with the outer loop open
R2 = TuningGoal.Poles('Tc',MinDecay,MinDamping);
R2.Openings = 'TrSP';
The Rate Limit block at the controller output specifies that the coolant temperature Tc
cannot vary faster than 10 degrees per minute. This is a severe limitation on the
controller authority which, when ignored, can lead to poor performance or instability. To
take this rate limit into account, observe that Cref varies at a rate of 0.25 kmol/m^3/min.
To ensure that Tc does not vary faster than 10 degrees/min, the gain from Cref to Tc
should be less than 10/0.25=40.
R3 = TuningGoal.Gain('Cref','Tc',40);
Finally, require at least 7 dB of gain margin and 45 degrees of phase margin at the plant
input Tc.
R4 = TuningGoal.Margins('Tc',7,45);
Gain-Scheduled Controller
To achieve these requirements, we use a PI controller in the outer loop and a lead
compensator in the inner loop. Due to the slow sampling rate, the lead compensator is
needed to adequately stabilize the chemical reaction at the mid-range concentration Cr =
5.28 kmol/m^3/min. Because the reaction dynamics vary substantially with concentration,
we further schedule the controller gains as a function of concentration. This is modeled in
Simulink using Lookup Table blocks as shown in Figures 1 and 2.
Gain-Scheduled Control of a Chemical Reactor