Level Control PI

jjmccrorey

Member
Join Date
Nov 2012
Location
shepherdsville ky
Posts
2
I'm using a PID instruction in Controllogix to control level in a 21ft tank. I have a pump filling the tank and a pump taking from the tank with an analog level sensor monitoring the level. With the proportional gain set to .7 and the Intergral gain set to 7.7 it holds the 16ft set point well. However the pump filling the tank is ramping continuously from 0 to 100% to keep the set point. Any suggestions on what setting to adjust to keep the tank filling pumps from ramping up and down so aggressively?
 
I'm using a PID instruction in Controllogix to control level in a 21ft tank. I have a pump filling the tank and a pump taking from the tank with an analog level sensor monitoring the level. With the proportional gain set to .7 and the Intergral gain set to 7.7 it holds the 16ft set point well. However the pump filling the tank is ramping continuously from 0 to 100% to keep the set point. Any suggestions on what setting to adjust to keep the tank filling pumps from ramping up and down so aggressively?

Have you tried operating the pump in manual speed mode to see if you can find an output % that will hold reasonably well at 16ft? If you can control disturbances to the process long enough to do this, then you can set a feed-forward (bias) for the PID.

Of course, to get any decent help from the PID experts on here, you will need to give more information about the process. What kind of dead time do you have on the tank level response to pump speed change? How constant is the outflow from the tank? Does anything else fill the tank besides the pump you want to control?
 
Isn't the pump you are controlling just trying to match the flow of the other pump?
If the other pump is changing speeds over a wide range then so will the pump you are controlling. If the inflow doesn't match the outflow then there will be a level change proportional to the inverse of the surface area of the fluid in the tank.
 
You have an single capacity integrating process. Typical of level control would be Gain setting probably somewhere between 2 and 10. Integral action is seldom required as the process is integrating but if you are going to use it anyway it probably be double or more than what you have at the moment. This is assuming that you are trying to keep a constant level. If your tank is supposed to be a surge tank then you could relax settings and allow the level to swing within a broader band.
 
We have ran the inflow and outflow pumps in manual and found that the optimal speeds for the inflow is between 45% and 60%.

I didn't want to complicate things but we actually have 2 inflow pumps and 2 outflow pumps. However the the 2 inflow act as 1. They both are controlled by the same PID so they always run at the same speed. On rare occasions there could be 3 outflows but right now I want to tune it with the 2. There is minimal change of the outflow pumps but they do change depending on a process downstream of the 21ft tank. What I would like to know is what setting in the PID do I change to cause the Control Variable (Output) to slow down as it's approaching the process variable set point? With the settings I mentioned the Control Variable races to the set point and doesn't slow down until it crosses it causing a huge oscillation.
 
You have an single capacity integrating process. Typical of level control would be Gain setting probably somewhere between 2 and 10.
It is generally bad to suggest gains without know what the system parameters are or what the gain units are.

A simple and crude way of tuning the system is to think in terms of using a proportional band. If a 1 ft error can be tolerated and the set point is 16 ft then the inflow pumps should be off when at 16 ft and at 100% at 15ft. This makes it easy because the controller gain ( proportional gain ) is 100% per ft. Now jjmcrorey can convert the gain to the units his PID uses.

If the integrator is set for 1 minute it will take about 5 minutes, 5 time constants, to reduce the error to with 1%.

If one wants to reduce the error to almost 0 then monitor the outflow and use that as a bias or feed forward for the inflow pumps. This way if the out flow pumps suddenly increase flow the inflow pumps will increase flow and keep the net change in flow 0. This way the in flow pumps will react much more quickly so there will be little chance for the error to get large.
 

Similar Topics

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
415
Have a logix controller and I'm using the PIDE block for the autotuner. I've got the hang of doing it for direct control things like pressure...
Replies
21
Views
1,767
I'm coming from a background of PLC ladderlogic/rockwell products. I am new to blocks. Can you point me in right right direction? What I would...
Replies
5
Views
1,558
Hi, I started off my career in PLC programming doing water/wastewater on AB around 20 years ago, but then moved overseas a few years later and...
Replies
57
Views
12,058
Anyone have a plc program example of speed control on a vfd using high/low level switches. Speed increases for every second the low level is on...
Replies
31
Views
9,893
Back
Top Bottom