Getting the Converted PID Values Right

by | Feb 1, 2013 | Control & Safety Systems, Services, Consulting & Training

Jim Cahill

Jim Cahill

Chief Blogger, Social Marketing Leader

I received an interesting story from Emerson’s James Beall about a process manufacturer with a process filled with many fermentors. They were being converted over from Provox control systems to DeltaV systems. pH control was a key part of the plant’s fermentation process. The first two fermentors were converted over but were now cycling. The DeltaV system was managing to keep the pH within specification but the trend charts showed excessive cycling.

Emerson’s Mark Coughran, whom you may recall from earlier posts, remotely connected the site’s system to investigate and solve the issues the manufacturer faced. Here’s a view of the pH and flow trends for a fermentor under control of each system as found:

pH Control comparison

As you can see, the tuning appears to be out of whack in the DeltaV system.

The issue was that the Provox proportional (P or gain), integral (I or reset), and derivative (D or rate) values of the PID controllers were simply converted to the corresponding units of the DeltaV tuning constant. The Provox PID controller users the Series form of PID, with PI action on error, D action on PV. The DeltaV PID controller is selectable between Series and Standard forms—but defaults to the Standard PID algorithm. Here’s a picture of the algorithms’ differences:

Series PID / Standard PID Forms

Also, the integral and derivative terms have different parameter units. The integral or reset action is in repeats per minute in Provox and seconds per repeat in the DeltaV system. The derivative term is in minutes in Provox and seconds in the DeltaV system.

James provided these equations to adjust the PID values between the systems. If you choose the Series Form for the DeltaV PID algorithms, the conversion equations are:

  • Gain (%out/%pv) = Provox Gain %out/%pv
  • Reset (sec) = 60/Provox Reset(rep/min)
  • Rate (sec) = 60 x Provox Rate (min)
  • PV_Filter (sec) = 60 x Provox PV_Filter (min)

If you keep the Standard form default PID algorithm, and the derivative/rate term is zero, then use the same conversions as above. If the derivative/rate term in non-zero, first convert to series tuning—same as above. Then, convert to Standard form:

  • DeltaV Std. Gain = Gain x (Reset + Rate)/Reset
  • DeltaV Std. Reset = Reset + Rate
  • DeltaV Std. Rate = (Reset x Rate)/(Reset + Rate)

James noted that it is also important to pay close attention to the anti-reset windup limits (ARW). In DeltaV, the values are in engineering units, not percentages.

The good news is that once the converted values were applied, the fermentor’s trends looked like what they had been under Provox—”almost flat line.” Of course another option would have been to change the DeltaV PID Form to “Series”. This must be done either by downloading the module or performing an on-line change with the PID block’s mode temporarily set to “Out of Service”.

No matter what your control system modernization path may be, make sure you check the PID algorithm forms in the old and new system as well as any changes in units. Hopefully sharing James’ findings in this post will help someone facing similar issues.

Update: I’ve updated the post to reflect Mark Coughran’s work connecting in from Austin to identify and solve these issues at the manufacturer’s plant.

Popular Posts

Comments

Follow Us

We invite you to follow us on Facebook, LinkedIn, Twitter and YouTube to stay up to date on the latest news, events and innovations that will help you face and solve your toughest challenges.

Do you want to reuse or translate content?

Just post a link to the entry and send us a quick note so we can share your work. Thank you very much.

Our Global Community

Emerson Exchange 365

The opinions expressed here are the personal opinions of the authors. Content published here is not read or approved by Emerson before it is posted and does not necessarily represent the views and opinions of Emerson.

PHP Code Snippets Powered By : XYZScripts.com