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:

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:

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.

Control Talk blog’s Greg McMillan expanded on these points into a 14 point checklist that I wanted to share:

(1) For cascade control set the output scale of the primary PID in engineering units of the PV scale of the secondary loop (PRoVOX and AC2output scale are 0-100%).

(2) For cascade control set the low and high output limits in engineering units (DeltaV default is 0-100%).

(3) Set the ARW limits to match the output limits using same units as Output limits unless there is some special need for ARW limits to be set otherwise due to pneumatic positioner and excessive stick-slip. The best movement off of the output limit for saturation is achieved when the ARW limits match the Output limits. (DeltaV default is 0-100%)

(4) Convert controller gain setting units to be %/% (dimensionless) (AC2 is proportional band)

(5) Convert reset time units setting to be seconds (seconds per repeat) ( PRoVOX and AC2output reset settings are in repeats per minute)

(6) Convert rate time units setting to be seconds ( PRoVOX and AC2output reset settings are minutes)

(7) If rate time is not zero and ISA Standard Form is used, convert Series Form gain setting to ISA Standard Form gain setting (PRoVOX and AC2 use Series Form and DeltaV default is ISA Standard Form)

(8) If rate time is not zero and ISA Standard Form is used, convert Series Form reset time setting to ISA Standard Form reset time setting (PRoVOX and AC2 use Series Form and DeltaV default is ISA Standard Form)

(9) If rate time is not zero and ISA Standard Form is used, convert Series Form rate time setting to ISA Standard Form rate time setting (PRoVOX and AC2 use Series Form and DeltaV default is ISA Standard Form)

(10) For override control if the positive feedback implementation of integral mode is not used, remove filter on external reset signal since this filter is already there. PRoVOX and AC2 do not use positive feedback implementation of integral mode and had to have a filter added to external reset signal to prevent a walkoff of output of unselected override controller. DeltaV uses positive feedback implementation of integral mode.

(11) For cascade control, turn on external reset feedback (dynamic reset limit) and use PV of secondary loop for external reset feedback to automatically prevent burst of oscillations from violation of cascade rule that secondary loop must be 5x faster than primary loop.

(12) For slow or sticky valve, turn on external reset feedback (dynamic reset limit) and use a fast PV readback for external reset feedback to automatically prevent burst of oscillations from violation of cascade rule that positioner feedback loop must be 5x faster than primary loop and to prevent limit cyclces from stick-slip. Note that the PV readback must normally be faster than a secondary HART variable update time.

(13) For wireless control and at-line or on-line analyzer, turn on PIDPlus option that turns on dynamic reset limit and follow checklist items 11 and 12.

(14) Make sure the BKCAL signals are connected properly paying particular attention to the propagation of the BKCAL settings for intervening blocks for split range, signal characterization, and override control

Greg expands on these tips in a Control Talk blog post, Checklist for PID Migration Tips- http://community.controlglobal.com/content/checklist-pid-migration-tips

Hi Jim, how are you?

Congratulations for the blog, it is really nice.

May you help me with a question?

When using the Delta V Standard PID form, the manual mention P(s) and D(s) as the terms which the proportional and derivative actions are applied, but it does not explicit tells the P(s) and D(s) equation.

Normally, when using a standard PID form, we use P(s)=[(betta)*R(s) – Y(s)], R(s) = reference and Y(s)=process variable. For D(s), we usually have D(s)=[(gamma)*R(s) – Y(s)].

Thus, when betta = 1 and gamma = 1, P(s) and D(s) become E(s) (error) and we have a full PID action on error.

If betta = 0 and gamma = 0, we have a I_PD (integral action on error, proportional and derivative on process variable).

So if we “play” with betta and gamma we can have any desired structure (using the 2DoF mode).

The thing is that at “Delta V’s books online” the equation for the standard mode is GAIN [KNL*[P(s)*Tr*s/(Tr*s+1) + E(s)/(Tr*s +1) + D(s)*Tr*s*Td*s/(Tr*s+a)(alpha*Td*s+1) ], which is very strange to me as I can’t proper relate P(s) and D(s) to get the standard PID on error form when betta and gamma equals 1.

I’m not sure if the books online equation is miswritten, or if Emerson uses a more complicated P(s) and D(s) (can’t imagine why do that).

Could you give me a hint about P(s) and D(s) form? Do you know its exactly equation?

Thank you very much.

Best Regards,

Rafael

Hi Rafael, Thanks for your kind words and question! Let me check with some colleagues and see if they can help clarify.

Hi Rafael, I connected with James Beall and wanted to share this back with you:

What version of DeltaV are you using? I think the equation you are showing is in the older Books-On_Line (BOL) (I found it in one of my older presentations!). I agree with you, this equation is not very clear! As you suggest, there are terms that are not defined. However, I believe your definitions of P(s) and D(s) are correct for this equation also. The DeltaV PID is a positional implementation that uses a positive feedback filter with a time constant equal to the Reset time, Tr, to create the integral action and thus you see the first order filter Laplace element in all of the terms except the final feedforward signal. See the 2nd figure. Note that the FF signal is subtracted from the term feeding the positive feedback filter and then added back in to the OUT. Also, I am sure you are aware that a first order filter with time constant alpha*Td is applied to the signal that is used for the derivative contribution. This limits the “derivative gain” to 1/alpha. I haven’t had time to solve for the Laplace transfer function but I will do so when I get a chance. If you do this before, let me know if you get same equation based on using the positive feedback filter for the integral action.

You might want to also look at the new version PID diagram in the BOL documentation in the 3rd figure below.

The version 11 and 12 BOL use a different “display” of the PID equation but the PID functionality is the same.

However, in this equation, the nonlinear gain factor “KNL” is not shown. If the FRSIPID_OPTS/Use Non-linear Gain Modification option is used, the Gain in the above equation is multiplied by KNL which can vary from 0-1.0 based on the non-linear gain parameters that are chosen. Also, the “two degrees of freedom” concept is not shown but I think that is more intuitive.

Excellent questions! Let me know if you still have questions on this topic, I will try to answer them!