Combined ARW and output LIM behavior

Based on the BOL materials and presentations I've seen at exchange, I would expect that a practice of setting the ARW limits to match the output limits to essentially have no affect on control performance versus simply leaving the ARW limits at the scale limits (i'm assuming output limits are enforced in manual option is set, etc.). However, a colleague said they had been told many years ago that it was a best practice to set them to match the output limits - even when youy don't want the RESET modification due to ARW to be active between the output limits. The rationale was that it caused the hidden internal reset value to turn around quicker when the controller can move away from the limit.

Can anyone confirm or explain what/why they may have been told this?

It seems very counter intuitive as i'd expect the internal reset value to be forced to the current output or external reset value at the start of the PID algorithm execution, the new output to be calculated, then clamped, then set to the output. However, based on the presentation at exchange many years ago about setting the output limits just inside the output scale limits limits allows a return to the correct value if a large feedforward signal change jumps the output "past" the output limit and then jumps back by the same amount a while later - the behavior my colleague described doesn't seem too far fetched.

  • Brian,
    Good questions! I hope that I can clarify this topic. A few things to note before we get into the details. Note that the OUT limits can be set outside OUT_SCALE values(higher that the 100%EU or lower than the 0%EU). Second, my explanation will refer to the value of the OUT in the units and scale of the OUT_SCALE. So, the action of the ARW "impact" is only determined by the value of the OUT in relation to the ARW high or low limit AND the direction the PID action is currently moving the OUT. The basic action of the ARW feature is explained fairly well in Books on Line (BOL). If the OUT is higher than the ARW_HI_LIMIT, less than the OUT_HI_LIMIT, AND the PID action is moving the OUT lower, then the RESET time is reduced by a factor of 16 (makes it faster). Conversely, if the OUT is lower than the ARW_LO_LIMIT, more than the OUT_LO_LIMIT, AND the PID action is moving the OUT higher, then the RESET time is reduced by a factor of 16 (makes it faster). So, if the ARW limits are "inside" the OUT_LIMITS, there is potential ARW action. A small caveat is that there is still some potential ARW action when ARW limits are set exactly at the OUT limits when the OUT is at one of the OUT limits and the PID is trying to bring the OUT back inside the ARW and OUT limits.

    A common use of this feature was for the case of a valve with only an I/P or with a pneumatic positioners. The problem was that you weren't sure if the valve was closed at 0% OUT or open at 100% OUT. So, you might set the OUT limits at -5% and 105%, and set the ARW limits at 0% and 100%. Thus, if the controller wanted to close the valve it would move its OUT to -5%, but when it was time to start opening the valve, the RESET time was sped up by a factor of 16 moving the OUT from -5% to 0 quickly and then at normal speed when above 0%. And opposite this on the high end. With the use of smart valve positioners, that can be set to remove all pressure to the actuator when the OUT is near 0% or apply full pressure when the OUT is near 100%, this feature is not needed. There are a few other uses of this but the new DeltaV PIDPlus feature call "RECOVERY_FLTR" (FRSIPID_OPTS) does a better job than ARW.

    So, I recommend that the ARW feature be turned completely off. To do this, the ARW limits need to be OUTSIDE the OUT limits (in units of the OUT_SCALE) or where I think someone might want to move the OUT limits!

    Hope this helps!
    James
  • In reply to James Beall:

    Hi James,

    I was hoping you'd answer this one. Always great to read your responses!

    Yes, this helped a lot. I do have a couple follow-ups/clarifications:
    - I was not aware that the PID could drive the output beyond the scale limits. It can really do that? that would seem to imply that the scale limits have no bearing on the anti-windup protection at all - which seems to contradict a bit of what was presented about the feed forward handling.
    - When the ARW and output limits are set equal, does the 16x effect only last for one module scan?
    - I have not read about PIDPlus or RECOVERY_FLTR yet - what version of DeltaV did that get introduced? where can I read about them?

    Thanks again for such a detailed response with application examples. Super helpful!
    Brian
  • In reply to Brian Hrankowsky:

    Brian,
    Very perceptive! Note that the DeltaV PID (like Foxboro and a few others) is a "positional" PID implementation vs. the "incremental". Internally the PID/OUT can go beyond the OUT limits but only with Gain action - so no integral windup. This is the correct way to implement a Positional PID. So, when the OUT is at the ARW limit but the "internal" OUT is beyond the ARW limit AND the PID action wants to move the internal back inside the ARW limit, it will speed up the integral action X16 UNTIL the "internal" OUT comes back inside the ARW limit. Kind of hard to explain! Hope this helps!

    Consider a PID loop that has high controller GAIN=5 and a very long reset time applied to a slow process, like a large tank level. Say the SP=PV=OUT=50. If you change the SP to 70, the "internal" OUT will go to 50+(5*20)=150%, the external OUT will stop at the OUT_HI_LIM. If you move the SP back to 50, the internal and external OUT will go back to about 50 (different only by the amount of integral before the OUT went limited). If you did this with an incremental (aka velocity) PID the OUT would be limited at 100%, then when the SP was changed back to 50%, the final out would be about 100-(5*20) = 0% which is not what you want! Additionally the positional algorithm work s well in override situations or "external reset" applications. Search on Foxboro and Shinskey's work on "external reset" to find more on this.
  • In reply to James Beall:

    Hi James,

    Sounds like someone needs to set BETA to 0 [:P]

    That was really helpful to add more pieces to the puzzle, but there were a few other open parts of the question:
    - so DeltaV will over/under drive OUT beyond OUT_SCALE limits if the OUT_xx_LIM parameters allow?
    - I have not read about PIDPlus or RECOVERY_FLTR yet - what version of DeltaV did that get introduced? where can I read about them?

    Using the info you've provided, would this be true:
    when the internal OUT is beyond the OUT_xx_LIM values,
    - external OUT is clamped,
    - internal BIAS is limited to only move toward the region between the OUT_xx_LIM parameters and the integral action value used is determined by the RESET, ARW limits and internal OUT values.
    - internal OUT is calculated continuously based on the feedforward, internal BIAS, and GAIN and RATE actions.
    all regardless of the OUT_SCALE values.

    if all of that is true, what still has me stumped is how the feedforward affect described at exchange in around 2006-2008 worked as there seems to be some affect on internal OUT from OUT_SCALE not addressed by the above.

    is what I stated above affected by the use of external reset (dynamic reset limiting)?

    This really too much fun and I appreciate the time you are taking to respond.

    Aside: the old versions of BOL (up to 8 for sure) indicated that the PID implementation in DeltaV was a velocity algorithm. was this always wrong?

    Brian
  • In reply to Brian Hrankowsky:

    Hey Brian,

    Sure, the OUT limits can be -10% to 110% of the OUT_SCALE  Try it!  But don't let that confuse the issue, it just slightly extends the OUT range.  Note that the OUT_SCALE is used to convert %OUT to OUT in EU's of the OUT_SCALE.

    PIDPlus, including the Recovery Filer started in either Version 9.3 or 10.3.  See BOL.

    This picture of the DeltaV PID (without Derivative) might help understand the positional PID algorithm.

    Only Gain and Derivative are active on the "internal OUT" when the OUT is limited (and derivative is temporary).  FFWD may impact the internal OUT when the external OUT Is limited, I'll have to test this and get back to you!  This means integral is turned OFF and there is no "integral windup".

    Think of all this working with in the OUT limits which are -10% to 110% of OUT_SCALE.  So, OUT_SCALE is related to the limits.

    Dynamic Reset Limiting is "external reset feedback".  It stops or slows down the integral action if the external feedback on the BKCAL_IN stops moving, or moves slower than normal.

    I recall that old versions of BOL said the DeltaV PID "is a digital implementation of" the Laplace equation of the PID function.  This didn't mean it was a velocity algorithm, simply digital vs. analog implementation.  It is hard to tell from each manufacturer's documentation whether it is positional or velocity but DeltaV has always been positional.

    I have attached an article by Shinskey on external reset feed back and the positional PID algorithm.

    Hope this helps!

    James

    external-reset Shinskey.pdf