In the DeltaV discussion forum in the Emerson Exchange 365 community, there is a post, Question about Dynamic reset limit and “Use PV for bkcal” options. What caught my eye was a response by Emerson’s James Beall describing dynamic reset limiting and specifically how it is performed in the DeltaV distributed control system controller. Part of the question asked was:
Also, how exactly does the dynamic reset limit work?
To this part of the question, James had this response:
Now, let’s talk about how DeltaV specifically implements Dynamic Reset Limiting (also known as external reset feedback). DeltaV uses a “positive feedback filter”, with the time constant equal to the Reset time, to produce the integral action. Referring to the attached Figure for BOL showing how the DeltaV PID is implemented, without DRL, the OUT of the PID, after the OUT limits are applied, provides the input to the positive feedback filter to produce the integral action. A any contribution to the OUT from the P or D component of the PID OUT will induce integral action if the OUT is not limited. In other words, if the OUT hits a limit, the input to the feedback filter does not move and no integral action is created. As you see in the diagram, when DRL is selected, the input to the positive feedback is the BKCAL_IN. So, if the BKCAL_IN stops moving, the integral action will stop. Or, if the BKCAL_IN moves “slower than normal” the integral action will be effectively slowed down.
When the secondary loop has “Use PV for BKCAL_OUT”, the PV will be used as the BKCAL_IN of the Primary loop. Normally the PV of a loop will closely follow the SP and so DRL doesn’t have much impact in this regard. However, the secondary loop’s response time slows down for some reason (change in process dynamics/gain) DRL will slow down the effective integral action of the Primary loop and maintain stability of the cascade loop. DeltaV uses the limited status (SP or OUT) of the downstream secondary loop to stop the integral action of the primary upstream loop and avoid integral windup. However, DRL COULD stop integral action of the primary BEFORE the secondary becomes SP or OUT limited if the PV quits moving. So, DRL provides some protection of stability of cascade loops and possible soon stopping of integral windup.
There is also another use of DRL that is related to “pre-loading” the OUT of a primary controller such as in batch processes. Also, a dead time function can be placed in the external feedback path to accommodate the control of dead time dominant processes! This Control Global article by Greg Shinskey discusses both aspects and more!
Just some quick definitions from James’ reply. BKCAL_IN is the analog input value and status from a downstream block’s BKCAL_OUT output that is used by a block for bumpless transfer. This connection is necessary if the PID is a master to another controller in a cascade. Without the connection, the slave controller will not make the transition to CAS [cascade] and the master PID will never be active. BKCAL_OUT is the value and status sent to an upstream block to prevent reset windup and provide bumpless transfer to closed loop control.