If there were no unmeasured disturbances, feedback control would not be necessary. Process engineers and operators could home in on the best PID output and just leave it at this value. In fact many process engineers are much more comfortable with setting a stream flow per a process flow diagram than relinquishing to a PID controller that they don’t quite understand. In batch operations, often flows are sequenced based process design knowledge rather than released to a PID loop for fed-batch control. Also algorithms could be designed to focus on providing the best setpoint response and compensating for known disturbances.
The reality is all loops are subjected to disturbances that are not measured and in many cases from an unknown source. Furthermore, these are primarily load disturbances that enter as inputs into the process complicating the analysis of the loop response to the disturbance making dynamic compensation of feedforward signals more complicated. The prevalence of the PID is due to the ability to deal with unmeasured load disturbances.
For the unusual case where the lag in the path of the disturbance to the process output is much less the lag in the path of the manipulated variable to the process output, the PID reset time must be increased. The reset time of a controller tuned for maximum load disturbance rejection should be increased by a factor of 4 for a PID and 2 for a PI controller to minimize overshoot for the extreme application where the disturbance path lag is less than one tenth the manipulated variable path lag per test data by Shinskey. This is in addition to any increases in the reset time due to unknowns or nonlinearities.
If the load disturbance path has a lag that is more than 4 times the lag in the manipulated variable path to the process output, the reset time can be cut in half. However, this smaller reset time makes the PID more vulnerable to fast disturbances and to overshoot for setpoint changes. A reduction in reset time reduces robustness. The load disturbances must always be slow and the factors for a setpoint lead-lag or the PID structure (e.g. setpoint weights beta and gamma) must be adjusted to prevent the increase in overshoot in the setpoint response from the smaller reset time.
Disturbances should be tracked down and reduced or eliminated. The best point for mitigation can be found by examining the pathways of variability. For recycle streams and heat integration, the source can be downstream besides upstream. For interactions, operator and control system actions on the common equipment need to examined and tuning and/or decoupling used. The use of trend charts with intelligent process variable and time scaling is essential. Tools such as power spectrum analyzers and data analytics (e.g. principal component analysis) are very helpful to identify candidates for root causes.
Disturbances that upset important loops and cannot be eliminated should be slowed down as much as possible by the use of secondary flow loops and the use of a PID structure that reduces the proportional and derivative reaction to setpoint changes. Feedforward of measured load disturbances should be used to provide preemptive correction eliminating as much as possible the need for feedback correction.
Resonance and interaction should be reduced by tuning to provide significant separation of dynamics in terms of periods of oscillations. The feedforward of offending PID outputs to the most critical loop should be used to decouple the loops if tuning does not solve the problem or the increased variability in the detuned loop is unacceptable. When multiple interactions exist and the dynamic compensation in the feedforward signals is critical, model predictive control is a more sure proof solution.
- Eliminate all manual and as much as possible any on-off actions.
- Sow down disturbances by replacing on-off control with PID control and tuning the PID with an appropriate closed loop time constant or arrest time or add AO block setpoint rate limits with external reset feedback to slow down valve movement.
- Tune PID controllers to have a non-oscillatory response for worst case conditions.
- Do not introduce excessive deadband in the variable speed drive setup.
- Use valves with the least backlash and stiction and actuators and positioners with the best threshold sensitivity and resolution.
- Measure all potential disturbances and use feedforward control for load upsets that are too fast or large to be adequately corrected by feedback control.
- For step disturbances on the output of the process, reduce the PID gain and increase the reset time to reduce overshoot.
- For step disturbances on the output of a process with significant process or final control element deadtime, realize feedforward corrections will arrive too late and the best bet is to slow down the disturbance to enable feedback correction.
- For step disturbances on the output of a process with a significant process or final control element lag but negligible deadtime, add a lead to the feedforward signal to compensate for the lag in the feedback path.
- Use secondary flow loops to slow down flow changes and enable flow feedforward (e.g. flow ratio control).
- For setpoint changes to primary loops that upset other important loops, use the two degrees of freedom PID structure or a setpoint lead-lag to keep the setpoint response fast while slowing down the disturbance to other loops.
Tune the PID controllers to prevent amplification of disturbance oscillations near the ultimate period (increase closed loop time constant to decrease PID gain to reduce resonance).
- To reduce interaction, make fast loops faster or slow loops slower so that the closed loop time constants of the loops are dramatically different.
- Use a feedforward of offending PID output to decouple affected PID.
- If load disturbances at the process input are always so slow that the approach back to setpoint is much slower than the initial excursion, cautiously decrease the reset time to help the PID deal with a growing disturbance and adjust the setpoint lead-lag and structure to prevent excessive overshoot in the setpoint response.