Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Tuning AB SLC PID block for noisy flow rate 1

Status
Not open for further replies.

mjsbsouth

Chemical
Jun 8, 2005
4
US
I am trying to determine how to tune the PID variables for a case where the flow rate jumps around up to 10%. I have not been able to try bumps yet, due to process use.

The symptoms of the problem are:
-Auto has a "sweet spot" and only works at that pressure difference.
-Any jog in pressure causes it to begin oscillating all the way to 0-100.

Current PID vars:
P - 1
I - .2 (tc)
D - .1 (tc)
 
Replies continue below

Recommended for you

First of all, what is it that you are trying to control, and how is your system constructed (i.e., what actuators, components, and measurements do you have)?

Derivative is not a good thing in loops with noisy measurements, like flow. Does your PID controller have the option to have the derivative act on the measured parameter, or a filtered derivative, instead of directly acting on the error signal? If not, you may want to set D = 0.

Also, it's hard to tell you what to do without knowing the PID algorithm that your controller is using. Can you post your PID math function? It sounds like your system may have too much integral effort. Integral tends to make a closed-loop system less stable, which would explain the oscillations you see.

Obviously, pressure fluctuations are a disturbance input into your system. Can you measure these disturbances and use feedforward control to compensate for them in your flow loop? Can you reduce your pressure transients by controlling pressure?

Finally, have you mathematically modeled your system? Most manual tuning requires a parameterized model that you use to calculate your tuning values.

xnuke
"Do you think you used enough dynamite there, Butch?"
Please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
I am trying to control a pneumatic valve on a flow line which ranges from 0 to .5 #/min. The valve is run by an I to P of course and the line flow also depends on a pressure differential, because it is not pumped, but blown through the line. The noise seems to come from the flow rate read by a Micro Motion mass flow meter. I think there is a way to damp this?

I have read alot of things that say what you said, that PI control is better for a flow like this. It is currently set up as a PID, one which I do not know the algorithm for at the moment.

The pressure fluctuations are caused by a sudden drop in pressure due to reactor venting, so they are hard to get rid of.

I am in the process of modeling it, but I will definitely look into setting the derivative to 0.
 
Is your final control element, "the valve" linear to the flow? If not maybe you can condition the PI output. What PLC are you using?
 
I actually seem to have it tuned simply by setting the D to its min value (cant use 0 in our system), I to its minimum, and cut P in half. That was enough to destroy the exadgeration in the adjustments. I have yet to test venting on the new tuning though.
 
It seems to me that there are two problems to address in your application:
(1) A noisy process variable.
(2) and process disturbance.

1) Noisy process variable:
First I suggest you to trend the variable (most recorders can output a text like file which data can easily be manipulated with Excel) .... If despite of the spikes and wiggles that the signal could present, its average describes the behaviour of the process variable … good news! .. The noisy can be isolated.

You could use for instance, a low pass filters (process people called ‘lag’ filter) of first order or higher. If you are using an AB SLC 5/04 or 5/05, I suggest you to implement the digital filter in the ‘STI’ (periodic execution routine) …

Use an exponentially weighted moving average to implement the low pass filter:

This site explains very well how to implement the discrete filter in software:


If a higher order is required, then feed the output of the filter again through the filter a second time (2nd order) or a third time (3rd order) and so on …. The cut frequency (or Tf – see link) has to be chosen to get rid of or damp the noise as much as possible. Again, I found Excel quite useful for testing and simulating the filter operation.

Note: The cut frequency you choose for your filter will also be the interval between executions of your STI routine.

Another technique is characterizing the controller’s error. In order to do this you need to know it better.

2) Process disturbance:

I agree with a comments made earlier in this forum … please get rid of the derivative. Depending on the algorithm you are using, you could initially set to ZERO the integral value and tune the proportional and after you are happy with that you could then, start tunning the integral

Where process disturbance are a serious problem, it is common practice to de-tune the controller to make it less sensible.

I hope this help,

Cheers
 
I tested the process disturbance today and sadly, it is still too big of change for it to adjust to if you vent fast, but if you vent slowly (15psi/min), it works fine.

Final Settings:
P .5
I .1
D .01

Coriolis meters are hard to work with sometimes, but when they work, they are great, and just as long as this valve is not trying to "micro manage" the flowrate, everything seems to smooth out and not vary more than 2%/s.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top