Level Control

AzCtrlEng

Member
Join Date
Aug 2011
Location
Phoenix
Posts
20
Let me start by saying I do not have a lot of experience with PID loops and this will be a AB L32E processor. I have a system that moves water. There are 14 well sites that pump into a large tank at a booster station. The booster station needs to control how many of the 14 sites need to be on based on its tank level. My idea is use the PIDE instruction with the tank level as the PV 0-100% and the CV be the number of wells to run 1-14(one well must stay running all the time to keep the line charged). I wrote a little sample program and it seems to work OK but I am not sure the best way to tune it. Once a well is activated it takes anywhere from 2-5 minutes to see the change in the tank level. I am unclear about independent vs dependent and should I just use P or PI or PID. What kind of starting values should I use for those parameters for a slow loop? Just looking for some basic information on what might work best.
 
This does not sound like the proper use of a PID instruction to me.

You could just use the level signal and scale it to 0-100% then use that to turn on the
wells needed. You will need to program in some deadbands of course.
 
This does not sound like the proper use of a PID instruction to me.

You could just use the level signal and scale it to 0-100% then use that to turn on the
wells needed. You will need to program in some deadbands of course.

Yes I have done it that way before using LIM instructions I was just looking for something a little more streamlined.
 
Yes I have done it that way before using LIM instructions I was just looking for something a little more streamlined.
It seems that using a PID instruction could result in pumps switching on and off frequently. With a PID, you commonly have overshoot and undershoot before it stabilizes around an output. It seems that you need to control these pumps in step increments, not with a continuously varying output.

It seems that the tank level is only one of the input variables that you need. I assume that water is also being used and lowers the tank level at the same time. If the water-use rate is 0, low, or high, it will affect the number of pumps you need to maintain any given level.

What you could do is use the change in level to control a loss-in-volume function (set up like the common Loss-in-Weight controllers. Then send the Loss-in-Volume PID output through additional logic that makes sure that there has been a Minimum Elapsed time since the last pump start, and also that any running pump has run for at least a Minimum Run Time before it is allowed to stop. It gets complicated in a hurry, so you probably can do as well by using the LIM instructions.
 
Last edited:

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
407
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,753
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,547
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,006
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,869
Back
Top Bottom