Freedom to Optimize PID Controller Structure – Part 2

The “Two Degrees of Freedom” structure functionally can give you the smooth transition online between 4 choices of PID structure. The user can adjust the set point weights for proportional action and derivative action between zero and one.

If the set point weights are zero. there is no step or bump from a set point change for proportional (gain) and derivative (rate) action, respectively. Zero weights slow down the response to a set point change because you are relying on integral action. For processes with small time constants (e.g. flow, liquid pressure, liquid blending, inline temperature and composition, and sheet thickness), the response is smoother and the likelihood of an overshoot is reduced. However, for large process time constants (e.g. continuous vessel temperature and composition), the time to get to set point can be too long. For an integrating processes (e.g. batch vessel temperature and composition), the controller output must drive past the final settling value and is best achieved by proportional action on the set point change. The set point weights can be increased from zero to give an effect similar to a set point filter to work a compromise between a smooth and fast response.

For cascade loops, do we want to tune the secondary the loop for a set point response?

As you have probably surmised by now from previous blogs the answer to my question is unexpected. The typically desired set point response (smooth, gradual, with no overshoot) when applied to the secondary loop is not generally best for the purposes of the primary loop. A set point filter or weight on the secondary loop is counter productive. For cascade control, the secondary loop should respond immediately to the requests of the primary loop. In fact, a zero set point weight on proportional action makes the cascade response worse than if the cascade was eliminated. This assessment does not take into account the beneficial compensation of nonlinearities and feedforward offered by a secondary loop.

While the ability of a primary loop to reject load upsets is affected by a set point weight or filter on a secondary loop, this is not the case for the primary loop or a single loop assuming these loop set points are constant during the load change.