Averaging level control

I am planning to implement averaging type level control in a vessel using either the non-linear control or gain scheduling control options in DeltaV.

I have implemented averaging level control on a number of other systems, either by programming error squared type control or by using gain scheduling, so am familiar with all the issues involved, but need some guidance on how to implement with DeltaV.

The PID control function block description that I have shows non-linear gain and how to implement, but doesnt show gain scheduling as an option. A separate document titled "interesting and useful features of DeltaV" lists gain scheduling as being available, but the details on how to implement it are a bit vague, and it appears you have to install some function blocks around the controller to get it to work. Does anyone have a tech note on how to implement gain scheduling?

I would prefer to use the gain scheduling, but having only three zones is a bit limiting unless the reference variable can be set to error, and I only see PV, Out and Auxvar listed as being available. Can Auxvar be configured to read error?

If I end up having to use non-linear gain, I will need to reduce the integral action when error is small to prevent oscillations. The "interesting and useful features" note indicates that integral can be based on gain*minmod but doesnt describe details of how to do this. Any suggestions?

Jeff Richards

  • Jeff,

    The gain scheduling function is discussed in Books On Line (see PID_GAINSCHED).  It is in the DeltaV configuration Library.  For your application, you should calculate the absolute value of the PID/Error (assuming you want equal action for positive or negative errors).   This allows to have different tuning for 3 ranges of the PV deviation from SP.

    If this level has an "integrating" response like most levels, you should use Lambda tuning for integrating processes to get the 3 sets of tuning.  See my article in ISA InTech magazine for more information.  

    As I pointed out in the "Interesting and Useful Features", if you use the non-linear gain, you should use the Reset time that is calculated for the lowest effective gain (Gain*MinMod) using the aforementioned Lambda Tuning for integrating processes.  This will be the slower (longer) Reset time than would be used for the full Gain.

    FYI, I am not a proponent of error squared, especially without any limits, for integrating process.  With a fixed Reset time and small errors resulting in low effective controller gain,  the resulting tuning will most surely be oscillatory when the PV is close to the SP!

    Hope this helps!

    James

  • In reply to James Beall:

    James,
    I thought the error squared note indicated that you would write to the integral time parameter with a variable value dependent of changeable gains in use at the time. I have done this in the past on other systems with error squared and it seemed to work well, either that or just raise the minimum gain able to be used to a level where oscillation doesnt occur. I gather that the DeltaV approach is just to use a long enough integral time so that oscillation near setpoint is avoided?

    I have tried to view books online in the past, but have been unsuccessful. I understand that access to the facility is not open to all? Is there a way to gain access to particular articles?

    My preferred option would be to use the gainscheduling, so I guess I calculate the error and write this value to the Auxvar parameter?

    Regards

    Jeff Richards
  • Hi Jeff,

    To be honest I do not like doing that kind of control, but if it has worked for you then I guess it is ok. Any integrating process with adaptive gain on a handle which is linear to the rise rate of the integrator will not be ideal. Have you considered passing the PV through a moving average filter ? A filter can be approximated with a first order lag, or you can build a filtering block using an array and some calculations. I am not sure how to attach files to this response but I have a class module which would work I think.

    regards

    Paul

  • In reply to James Beall:

    Jeff,
    Technically, the error squared algorithm only changes the gain. The two modifications you mention, a low limit on the gain and increasing the Reset time as the gain lowers, will make the error squared algorithm work. The Non-linear gain can be made to perform the error squared portion, it has minimum gain of MinMod*Gain. However, you would have to configure the change in Reset time as a function of the effective gain.

    Books On Line is part of the DeltaV installation and available to all users. You can even copy the help files to your PC to view off-line. Tech support can help you find the files.