Pressure control and Multiple PID control Loops

Shane_Gordon

Member
Join Date
May 2008
Location
Perth
Posts
12
Hi All,



I am a new member to this site but have been reading posts on this site for years. I now have to ask a few questions for the PID Gurus out there.



I have a small pressure vessel that I have been controlling with a SLC505 using a PID loop for some time. The system works reasonably well but I'm controlling a device bought from another company. The device is a pressure controller from proportion air. I opened the unit and found that it was simply two $30 clippard valves - one to control the air supply and one to control the exhaust. These are either open or closed valves so they are being controlled via PWM control. I basically send a 4-20 mA signal to the black box and it adjusts the pressure from 0-15 psi via these two valves and a circuit board that contains an "on board" transducer. I'm not sure what calculations the circuit board is doing and how the transducer is adjusting the output. I also have a transducer on my pressure vessel going to my SLC505 as the PV.



I've but this device to test on a quite testing bench and found that it makes adjustments even when my CV has not changed. This is obviously the circuit board and onboard transducer within the device making the changes. I hate this.



I currently found that clippard makes a proportional control and have ordered and installed these in my process. So know I have two proportional valves (0-5vdc), one for air supply (flow control) and one for air exhaust (air flow out).



I am controlling the pressure on a piloted regulator acting as a booster due to the limited airflow that these clippard valves have.



Saying all of this, I have tried a few control methods. Variable feed and Variable bleed - Constant feed with variable bleed - Variable feed and constant bleed.



My setpoint ramp up to 4.5 psi in about 3 seconds then remains at 4.5 for a given length of time then jumps to 6 psi.



I have tried having both the valves controlled by one PID loop but haven't got the best results (0-50% air supply & 51-100% air exhaust). If a leave one or the other constant it creates a lag at the beginning of the SP ramp. So now I have two independent PID instructions controlling two valves.



Finally my questions:



1) Does this make sense?

2) How do I tune two PID loops?

3) Is there a way to auto tune on the fly in a SLC505 ie. Does someone have ladder logic code to do this?
 
Last edited:
New Information on Pressure Control

I just found this posting on another process control site. If anyone has experience with controlling pressure within a vessel I would love your input.

Thanks in advance.

"Jan 15, 2002 2:54 pm, by Kent Qi
I agree that the derivative part should not be used in most PID control loop unless you have to. In our plant, there are about 1000 PID loops where mostly use PI only. However, we do have some pressure loops use the derivative. For example, a split range pressure control loop uses a very high derivative. It is a split ranged such that the output of the controller will move the air injection valve if it is less than 50%, and will move the vent valve if more than 50%. The pressure can be maintained perfectly with the fast movement in the valve. With the split range, you may argue that it is not a simple PID loop. But it is really works.

Theoretically, the derivative term can be used to compensate the time delay in the process dynamics. Look at the PID tuning parameters from either IMC method or the Direct Synthesis method (they are all belonged to model based PID tuning ), the derivative term is the direct result of the time delay.

Back to reality, I will not use the derivative for noisy measurements such as flow loops. I will use it carefully in other situations.

Kent Qi
Process Control Engineer
Agrium Inc. "
 
Shane_Gordon said:
I have a small pressure vessel that I have been controlling with a SLC505 using a PID loop for some time. The system works reasonably well but I'm controlling a device bought from another company. The device is a pressure controller from proportion air. I opened the unit and found that it was simply two $30 clippard valves - one to control the air supply and one to control the exhaust. These are either open or closed valves so they are being controlled via PWM control. I basically send a 4-20 mA signal to the black box and it adjusts the pressure from 0-15 psi via these two valves and a circuit board that contains an "on board" transducer. I'm not sure what calculations the circuit board is doing and how the transducer is adjusting the output. I also have a transducer on my pressure vessel going to my SLC505 as the PV.
It is probably a simple on-off control based on a comparator and a little hysteresis. I don't think you have helped yourself too much by replacing the on-off valves with proportional valves.

I've but this device to test on a quite testing bench and found that it makes adjustments even when my CV has not changed. This is obviously the circuit board and onboard transducer within the device making the changes. I hate this.
The system probably leaks a bit so more air must be added do make up for for the leakage. You must really hate the on-off valve noise.

I am controlling the pressure on a piloted regulator acting as a booster due to the limited airflow that these clippard valves have.
This is not clear to me. If you have a pressure regulator then why mess with the proportional valves? Won't the pressure regulator interfere with the proportional valve control.

Saying all of this, I have tried a few control methods. Variable feed and Variable bleed - Constant feed with variable bleed - Variable feed and constant bleed.
I would control the system much as before only now you can change the pressure rate more finally.

Pressure control is an integrating process. The valves control the rate of change. The rate of change is affected by the pressure level and the pressure supply.

I have tried having both the valves controlled by one PID loop but haven't got the best results (0-50% air supply & 51-100% air exhaust).
This is closest to what you had before.

If a leave one or the other constant it creates a lag at the beginning of the SP ramp. So now I have two independent PID instructions controlling two valves.[/color]
Yes, constant bleed or feed is not good for quick response. I would use just one PID. I would configure it to provide -100 to +100 output. When the output is positive the supply valve is turned on and the exhaust valve is turned off. When the output is negative I would turn off the supply valve and use the absolute value of the control output to control the exhaust valve.

Finally my questions:

1) Does this make sense?

I don't understand the regulator part.

2) How do I tune two PID loops?
Don't, use 1 PI or many just P gain but use the -100 to 100 control output to control the two valves as outlined above. You may want to make +5% to 100% turn on the inflow 0 to 100% and make the -5% to -100 percent be 0 to 100% to the outflow. Use the SCP function.

3) Is there a way to auto tune on the fly in a SLC505 ie. Does someone have ladder logic code to do this?
No. Auto-tuning is very numerically intensive. Auto tuning something that is non-linear is extremely difficult.
 
Last edited:
Thank for your response Peter. I'll give this technique a try and post the results for all to see. I should have this done shortly.

I'm controlling the pilot air of a regulator because I need more air volume scfm's than my proportional valves can supply in order to fill the vessel in the required time.
 
Shane
I've but this device to test on a quite testing bench and found that it makes adjustments even when my CV has not changed. This is obviously the circuit board and onboard transducer within the device making the changes.

Peter
You may want to make +5% to 100% turn on the inflow 0 to 100% and make the -5% to -100 percent be 0 to 100% to the outflow.

Is that +5% to -5% region a deadband to account to account for changes by the circuit board and onboard transducer?
 
I've done away with the onboard transducer and circuit board and now control the valves directly from my PLC via two 0-5vdc signals. I also have a pressure transducer on the vessel for my feedback signal.



In response to Peter's suggestion I tried to enter a -100 value as my minimum value in my PID instruction (SLC505) and it gave me an error indicating that the value had to be greater than 1.



I'll go back to the 0-49% to control the exhaust and 51-100% to control the supply. I'll have the CV set at 50% when the cycle starts and my SCP controlling the valves set up accordingly.




 
Depending on what you consider your time to be worth I would try something like this.

For what you are trying to do flow is really the thing you are trying to control.

Keith

If you're interested, this may be a less expensive option
 
Last edited:
Shane_Gordon said:
I've done away with the onboard transducer and circuit board and now control the valves directly from my PLC via two 0-5vdc signals. I also have a pressure transducer on the vessel for my feedback signal.



In response to Peter's suggestion I tried to enter a -100 value as my minimum value in my PID instruction (SLC505) and it gave me an error indicating that the value had to be greater than 1.
That doesn't sound right. I haven't used the SLC5/05 in bipolar output mode but there should be a way to do it.



I'll go back to the 0-49% to control the exhaust and 51-100% to control the supply. I'll have the CV set at 50% when the cycle starts and my SCP controlling the valves set up accordingly.
That will still work well. Scale 0-50 as 100 to 0 for the outflow and 50-100 as 0 to 100 for the in flow. To keep the valve from leaking all the time I suggested a little dead zone above. This avoids using air for little changes and yes the transducers can drift.

It is also possible to overlap a bit so 0-55 is 100 to 0 for the outflow and 45-100 scales to 0 to 100% for the inflow.
This last suggestion my keep the pressure regulated a little better because there is no dead zone but it will waste air.

Kent Qi comments are about the same as mine except the part about the derivative gain compensating for dead time. I don't agree with that.

I would start with a simple proportional gain. No integrator.
See how that works. If offsets and transducer drift are a problem then an integrator will be requied to offset the drift.
 
I'm having a difficult time programming the PLC to start the cv at 50% and the min I can go with the CV% is 0. Any suggestions.

I put the cv to 50% in manual but then the valve immediately drops to 0 when switched back to auto. Is there a way to do a "bumpless transfer from manual to auto?
 
If someone knows a better way feel free to say something:

Keep the PID running while in manual mode, but just bypass the output of the PID so it is not going to your valve. While in manual, feed your manual setpoint (50%) as the setpoint to your PID, and have that setpoint stay that way until switched into auto and manually changed to a different value.

This way, while you are in manual, your PID is revving up to your 50% setpoint in the background, so that way when you switch back to auto it will be bumpless, and you can change back your desired setpoint (perhaps set a timer that will write the previous setpoint in auto to the input to the PID block).

Likewise, the manual setpoint, while in auto mode, will track the output of your PID, so that way when you pop to manual, your valve doesn't go nuts if your previous manual setpoint was different than the controller output.

I did something like this with a GE controller. Should be noted that I was not using the software manual mode built into the PID function, but rather simply not routing the output of the PID loop to my valve output buffer.

I'm not familliar with the SLC505 so there may be a better way to manage bumpless transfer utilizing any existing manual mode built into the PID instruction, as opposed to hardcoding a bypass.
 
Last edited:
Shane_Gordon said:
I'm having a difficult time programming the PLC to start the cv at 50% and the min I can go with the CV% is 0. Any suggestions.
That is what the bias is for. Start the bias at half output. However, the PID will still need to go negative from the bias.

I put the cv to 50% in manual but then the valve immediately drops to 0 when switched back to auto. Is there a way to do a "bumpless transfer from manual to auto?
Anybody, isn't there a way to set up the PID control output to be bipolar? I don't have RS500 installed right now to be of much help with the details of the RS500 PID.
 
Just a note on the "Clippard" valves in the Proportionair control. They are not the same Clippard valves you can buy outright. Proportionair developed these in conjunction with clippard for extra long life due to the fact that they operate so many time in this applicaion.
 
As I remember the SLC5 PID internally will go negative. It is the CV that is limited to 0. So, as Peter said, set the bias to 8192 and the instruction should do what you want. The bias is part of the PID control block and is Word 6.

Keith
 
Results to initial Testing

The attachment has the initial results to testing performed as discussed in the other postings on this thread for all those that are interested.


Please view the next two postings for the rest of the test results.
 
Last edited:

Similar Topics

Hi All, I could do with some advice on a hydraulic control system. It is necessary for me to accurately position a vertical hydraulic ram with...
Replies
34
Views
1,910
Hi I am a beginner and therefore have problems with M221 PLC programming. I want to program the PLC so that the pressure increases slowly (I...
Replies
7
Views
2,256
Hello all, I am new to pid loops and control. I was wondering how to control a system with two process variables. This is a water system with a...
Replies
7
Views
2,010
I want to share a trick and see if anyone can do better! With hydraulic presses there is a point at the beginning of the actuator movement when...
Replies
10
Views
3,952
I will have to start up frequency controlled pump that has pressure feedback. In the prepared plc program a pi-controller that has a pressure...
Replies
16
Views
4,944
Back
Top Bottom