DeltaV Temperature Controller Settings

Hi all, hopefully you will be able to assist me with a control issue we have. We have a process heater, heating a liquid. this is a batch operation. When heater is turned off (process not running), the associated PID module for the temperature controller is saturated at 100% when in AUTO. When the heater is started, the output slowly reduces only when the pv is very close to set point but we always considerably overshoot on temperature, i.e. the PID action isn't quick enough. We have tried a number of different tuning parameters derived from tuning software but with little success. As this is temperature control, we have a process lag of around 10-15 minutes.

I'm looking at maybe trying to introduce 'non-linear gain' or 'ARW' but dont have any experience of these controls. Would someone be able to explain the difference and how to use these functions?

During stable running, the controller output is stable around 30% - 35%, therefore i would like a more aggressive response when the output is outside of this range.

Any assistance would be greatly appreciated.

9 Replies

  • please also note our temperature setpoint is fixed. operator never changes the output. set approx 75% of process scale.
  • In reply to Stuart Jolley:

    Stuart,

    This is a very interesting, but not insurmountable challenge!  First, I would measure the process dynamics accurately.  This will allow you to make sure you have good tuning in the loop.  Also, it enables you to create a simple simulation to test and/or tune the various options to solve this problem.   Next, I recommend that you try a new feature of the DeltaV PID block (V9 or V10 and later) called PIDPlus "Recovery Filter" for PROCESS saturation.   The PIDPlus features can be enabled in the PID FRSIPID_OPTS selection.  Once you activate this feature, you can then set the PID/RECOVERY_FLTR to get a better response.  The PID/RECOVERY_FLTR has a range of 0-1 where 1 is normal action and 0 is very aggressive action.  A good starting point is about 0.4.  This is where a simple process simulation would allow you fine tune the PID/RECOVERY_FLTR without waiting on the actual process.  Books On Line talks about this feature.  I will post a presentation by Terry Blevins on this topic on the EE365 Operate and Manage Media Gallery.

    https://emersonexchange365.com/operateandmanage/deltav/m/mediagallery 

    Another solution for this type of application is to use the FRSIPID_OPTS "Dynamic Reset Limiting" which is also known as "external reset".  Greg McMillan has many articles and blogs on this topic, some shown in the "Similar Posts" section of this site.

    There could be other techniques such as different tuning for startup vs normal running.  Let me know how it goes and we can discuss in more detail.

    Good luck!

    James

  • In reply to James Beall:

    The PIDPlus feature is available in DeltaV V11 and later.
  • Hello,
    You could use a sequence to put the PID in manual mode at a certain output , when the heater does not work; you need a signal for heater status

    Ion
  • Since you have indicated this is a batch operation you should have some logic for your batch running so I can see two options that you can do:
    1-Add logic to put the controller in MAN or ROUT like Ion suggests
    2-Add logic to set and clear a parameter that can be reference by the Temperature controller to cause it to Track to 0 when the parameter is set and allow control when the parameter is cleared.

    Personally I would go for option 2 but just make sure that you set the PID Control Options so that Track is enabled and if you want to Track if in Man mode (I suggest you do). Then configure the TRK_VAL on the PID block to be the 0 or whatever you want the "off" value to be.

    Alot of times in batch control we also do option 1 as well just in case someone bypasses the tracking condition. Just make sure that you put the mode to AUTO when you want to control and don't forget about what you want to do in Hold, Stop, Abort states of your batch as well as initial downloads of the system.
  • In reply to Matt Stoner:

    Good suggestions by Ion and Matt. Note that "external reset" provides this tracking functionality with some flexibility. There is some difference in the way each tracking option (Man, Output Tracking, External Reset) comes out of the output limited condition. If you want the process to heat up to SP as fast as possible, it may be good to have the TIC output at 100% waiting on the heater to startup. The key is when to release the PID's OUT from whichever kind of tracking that is used. Greg McMillan talks about this in his articles on the topic. Again, having an approximate model of the process will allow you to build a simple simulation and test the options.
  • In reply to James Beall:

    If you want to control down from 100 when starting, I would still track to 0 for safety reasons and then when you want to start heating, set the output to 100% and once OUT is > 0 then put loop to Auto from the batch logic.
  • In reply to Matt Stoner:

    Good points Matt. I tend to lean away from programmatic forcing of the PID and toward using standard control features of the PID block - if possible. Sometimes it is not possible.
    See more comments by Matt and Andre Dicaire on similar topic "Need Help Understanding PID reset windup" on EE365.
  • In reply to James Beall:

    thanks all for the comments. i'll explore a few of the options.