PID Control Accuracy

Camcanpro

Member
Join Date
Jul 2011
Location
Toronto
Posts
15
I need to control a flow loop by using control valve and PID. The flow setpoint is about 6.8kg/min. and the error should be within +/-1%. When I manully open valve at 50%, and the flow rate is about 8 kg/min, but if I trend the flow rate, I can see the flow rate is fluctuating, the value jump up and down by +/-5%.
My question is:

(1) what instruction or method I can use to limit the fluctation of raw PV value? We use E+H magnetic flow meter and the PLC we use is AB controllogix L72.
(2)What the accuracy of PID control is? is +/-1% possible?, if Yes, is +/-0.5% possible? what is the maximum accuracy?

Thanks very much for your help
 
A simple "rule of thumb" is that the measurement resolution needs to be a quarter of the accuracy required. Less than a quarter if possible.
So if you want +/- 1% then your measurement resolution should be better than
0.25%.
 
The question that comes to my mind is whether this fluctuation that you are seeing at a fixed valve position in your PV is real (i.e. due to poor pressure regulation or faulty flow control valve) or if it is due to improper grounding and/or exposure to electrical noise in your analog I/O wiring.

At any rate, if the fluctuation is real and can't be avoided, then you can still improve the stability of your loop control by implementing either digital filtering at the module level of your analog input, or by creating a running average routine in your PLC program to damp the input signal.

I don't know your specific application, but it is entirely possible that this level of fluctuation is due to an inherent instability in the process. If you can't achieve your desired error tolerance manually, then you'll not achieve it with a PID controller either. I learned long ago that automation cannot overcome poor mechanical design in process control.
 
Most flowmeter signals I've come across are pretty noisy. The E+H promags have output damping, which I think the default is 1 second. If your variations are of that sort of order, I doubt if you're going to improve it with PID.
 
At any rate, if the fluctuation is real and can't be avoided, then you can still improve the stability of your loop control by implementing either digital filtering at the module level of your analog input, or by creating a running average routine in your PLC program to damp the input signal.

I disagree, "if the fluctuation is real and can't be avoided", then it is a fluctuation that must be catered for in the correct setting of the P, I, and D terms of the PID controller. The PID control algorithm has been around long enough for it to seen all sorts of process fluctuations, yet we still only have the 3 terms, applied successfully in millions of applications worldwide. I doubt there is nothing "new" that can't be accommodated by a correctly tuned PID loop.

....it is entirely possible that this level of fluctuation is due to an inherent instability in the process. If you can't achieve your desired error tolerance manually, then you'll not achieve it with a PID controller either.....

If you can achieve desired error tolerance manually, then there's no need for a PID control on it.

Let us not forget what the 3 terms of a PID controller actually do.... The I term compensates for the "under-achievement" of the P term when it is set for a stable output, and the D term compensates for the "rate of change" of either the process variable, or the error PV to SP.

The 3 terms, correctly configured, can give stable control with wildly fluctuating, undamped, feedback signals.

I'm no great expert in PID tuning, but have configured and tuned hundreds of loops, many with a "noisy" PV. I have not yet had to resort to analog input filtering or averaging.

The PID calculation has to see real PV signals, so that integral and derivative calculations are working with real process fluctuations. Hide them with filtering/damping, and you can often do away with the PID control completely.

I have also witnessed an "expert" tuning a particularly difficult cascade loop simply by watching the process for a day, making copious notes without altering anything. He returned to site on day 2 and entered new terms in the Master and Slave loops. I was in awe when the loop ran perfectly without any further adjustments. I can only assume he did lots of maths in his hotel room that night. Not once did he ever suggest the feedback needed filtering/damping/averaging etc.,
 
There's a good chance your flow valve actual performance is non linear and therefore unsuitable for pure plain and simple PID. It can be made to work when expertly tuned as daba and others will point out but...

I would opt, instead, to make a chart with manual setpoints to establish the curve (and populate a look-up table). Then apply the PID as the fine tuner but give it a fraction of the whole control.

In other words, use known measurements to get close and the PID to nail it down. This can let you set the gains really high to deal with a fast acting disturbance without fouling up the basic proportional control from the look up table that you know is close, or set the gains really low to deal with a control lag that is really long or variable.

A simple "rule of thumb" is that the measurement resolution needs to be a quarter of the accuracy required. Less than a quarter if possible.
So if you want +/- 1% then your measurement resolution should be better than
0.25%.

+1

If the steady state output varies that much and you can't program and tune the PID to deal with it, perhaps totalizing would meet your end goal?
 
Last edited:
I When I manully open valve at 50%, and the flow rate is about 8 kg/min, but if I trend the flow rate, I can see the flow rate is fluctuating, the value jump up and down by +/-5%.
This is the root of your problem and you already know that. Excellent.

However, you are asking the wrong question. You should be asking why the flow is fluctuating 5%. This can be due to real flow or pressure fluctuations, electrical noise, and possibly a control valve that is fluctuating even though you say you have it fixed at 50%.

A simple PID will not have a chance achieving control within 1% if you can't keep the flow stable in open loop. It is a simple case of garbage in, garbage out.

Adding filters will mask the problem only.
 
Thanks very much for your help and professional advice.
I would like to update my tune experience in the past two day. I totally tune 3 loop, two flow control, one level control. I use AB PIDE instruction which has auto tune function built in. It can generate PID parameter and result is pretty good: +/- 1% tolerance probably 50% of the time and +/- 2% tolerance probably 90% of the time. The requirement is to be within +/- 1% tolerance, look like I need to do some fine tune to the loop to get ride of > +/- 1% toleranc and autotune function can not help me. Could anyone give me some instruction on how to fine tune the loop?
Thanks first.
 
If you want to maintain +/- 1% tolerance with a process that exhibits +/- 5% deviation in open loop mode, then you might need to use the PIDM algorithm.

Proportional
Integral
Derivative
Magic

Just Kidding! ;)
Best of luck...
 
What the accuracy of PID control is? is +/-1% possible?, if Yes, is +/-0.5% possible? what is the maximum accuracy?

In another words, you want to get desired flowrate by filtering fluctuations with help of PID control.
For the entrance understanding of basics of the process you have to look through some Magic books. For example, this one.

Regards!
 
This is the root of your problem and you already know that. Excellent.

However, you are asking the wrong question. You should be asking why the flow is fluctuating 5%. This can be due to real flow or pressure fluctuations, electrical noise, and possibly a control valve that is fluctuating even though you say you have it fixed at 50%.

A simple PID will not have a chance achieving control within 1% if you can't keep the flow stable in open loop. It is a simple case of garbage in, garbage out.

Adding filters will mask the problem only.

Isn't that precisely what the PID is designed to do?. i.e. to exercise control of a flow valve position or pump speed, to maintain the PV within a tolerance.

It begs the question.. if he has stable flow in open loop, why does he need a PID.

Anyway, it seems to me the real issues here are...

1. the PID will need to execute regularly, with as short a pause between calculations as is possible within the application...

2. getting the analog I/O update time very short. There's little point in using Analog I/O modules with a 100mS Real-Time Sample rate if the loop response needs to be faster...

3. getting a fast response from the controlling device. Most flow control valves will not act quickly enough, and ensure there are no ramps set in a VSD.

For this tight specification, a stand-alone controller, dedicated to this one task, may be a better option.

And the other factors to consider.... what is the specification of the +/-1% ? Is this a "continuous" 1%, or can larger deviations be allowed ?, so long as the loop pulls it back to 1%. Specify the maximum positive and negative deviations from setpoint....
 
Last edited:
Isn't that precisely what the PID is designed to do?. i.e. to exercise control of a flow valve position or pump speed, to maintain the PV within a tolerance.

It begs the question.. if he has stable flow in open loop, why does he need a PID.
Because the system is not perfect but if it is always fluctuating +/- 5% in a random manner then the PID's integrator time constant needs to be about 3 to 5 time faster than the frequency of the fluctuation. If the fluctuation is random and changes quickly there is no hope.

Anyway, it seems to me the real issues here are...

1. the PID will need to execute regularly, with as short a pause between calculations as is possible within the application...

2. getting the analog I/O update time very short. There's little point in using Analog I/O modules with a 100mS Real-Time Sample rate if the loop response needs to be faster...

3. getting a fast response from the controlling device. Most flow control valves will not act quickly enough, and ensure there are no ramps set in a VSD.

For this tight specification, a stand-alone controller, dedicated to this one task, may be a better option.

And the other factors to consider.... what is the specification of the +/-1% ? Is this a "continuous" 1%, or can larger deviations be allowed ?, so long as the loop pulls it back to 1%. Specify the maximum positive and negative deviations from setpoint....
The root problem must be addressed first.
 
The root problem must be addressed first.

You put a PID in place to control the flowrate. The "root problem", as you call it, is nearly always there, which is why you spend a lot of time and effort configuring and tuning control loops to regulate flow, pressure, level, current, speed etc., etc.

Perhaps the OP's problem might be alleviated if the flow loop was allowed to deviate more than 1% instantaneously. Nett under or over "dosing" can be trimmed by SP adjustment. It is obviously dependant on the process involved, but I am assuming that his desire to achieve +/- 1% is some sort of additive or dosing application.

In my experience, providing the product is going via a buffer tank, it is more important to get the correct ratio over the batch, than it is to get totally accurate instantaneous flowrate tracking.

Wrong for me to guess though, let's wait see what the OP has to say about the process, and why such a tight spec.
 

Similar Topics

I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
587
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
921
How can I connect PID Output to a valve. In ladder logic program is there any logic do I want to add between valve and PID? PV=SP What will be the...
Replies
7
Views
407
I am setting up control for Hypochlorite dosing. The easy part is the dosing calculation for flow pacing but I would also like to setup trimming...
Replies
8
Views
942
Hey guys! I'm a newbie in the control area, so I'm gonna drop some thoughts here... We want to control the opening of big silos (about 1900...
Replies
6
Views
1,484
Back
Top Bottom