PID Control

thomas1000

Member
Join Date
Aug 2005
Location
Wales
Posts
50
Hi,

I am thinking of using two PID loop to control the following application.

The loops will control the weight from two filling stations where product is filled into boxes.

The weight of the box is controlled via the product height, product too heavy reduce height and product too light increase height.

I am looking for an operating speed of 10 boxes per minute 5 per station. Therefore each station will be filled 5 times every minute.

Do you think that PID control is suitable for this application and if so would a sampling time of say 12 seconds be suitable. One sample for every box filled.

Would appreciate your comments.
 
What is your feedback device for measuring product height. How will you control the flow of product into the boxes, can you vary the flow rate or will you just vary the time the product flows for ? Is the product granular or large irregular lumps.
 
Thanks for the reply.

The product height is controlled via linear encoders, once the height is reached a changeover valve ia activated to divert the product into the other station.

The product is a viscous liquid which is pumped into a box and the pack weight is around 10kg. I am looking for a tolerance of 100 gramms.
 
You are going to control weight by height & hope for 1% control on the weight? If the specific gravity of the liquid isn't pretty consistent, you're doomed to fail from the get go.

Can you meter the flow, or is it a simple on/off divert valve?
If you can't meter flow, all you can do is on/off, this is even uglier.
 
Do you think that PID control is suitable for this application and if so would a sampling time of say 12 seconds be suitable. One sample for every box filled.

Sampling time of 12 seconds would be totally insufficient. Think about it.

Sampling time is how often the control loop peeks at the process.

If you had a dial to control how far open the fill valve is, would peeking at the level once every 12 seconds be often enough if it takes 12 second to fill a container?
 
This doesn't seem a good application at all for a PID, much less two of them.

On a "Fill" cycle, that is your only option.. Fill. If you go over, you can't remove product.

Don't use a PID. In most weigh-scale applications I know of, we fill to a weight with a few checks:

#1 - Start Full feed and Slow feeds together
#2 - Start a "Feed too long" fault timer.
#3 - When weight > (Target_Weight * 0.9) Stop full Feed
#4 - When Weight > (Target_Weight - some_constant) Stop Slow Feed.

#5 - If timer ever times out, shut down the whole process.

Perhaps, you can feed based on time... and for your checks, if there is too much weight, bump down the timer preset a bit. If there is too little, bump it up for the next fill cycle.
 
First of all, I'm with CroCop. Don't bail on this deal just because you don't think people understand what you are doing. Doing that in face-to-face personal interactions won't get you real far. The same is true of online interactions. Just come back and explain the issue differently, just like you would if we were talking in person.

Instead of a PID it looks like you are looking for adaptive switching. From your second post it sounds to me like you have two stations serviced by a single fill stream. So only one station is filled at a time. You are really trying to advance your switch point so you end up with the right fill level whan all the material makes it to the box. So in reality you don't know if you have the right switch point until it is too late. And, as rdrast pointed out, once it's too late it's too late. you can't remove material.

Try this on for size. After a given box fill is completed look at the finished level. The new switch level is:


SwitchLevel = Switch Level + ((DesiredLevel - FinishedLevel) * KA)

where:
SwitchLevel the liquid level that triggers switching
DesiredLevel calculated level equivalent to 10 kg
FinishedLevel the actual liquid level after all liquid is in the box
KA adaption constant (must be less than 1!!!)



This will make your finish level home in on itself after a number of runs. KA will largely determine how many runs it takes to zero in. The closer to 1 the sooner it zeros in but the greater the possibility of correction overshoot. I usually start with about 0.9.

Keep a separate switch level for each station to account for any dissimilartity between filling reaction. Also make sure you only run the adaption if you KNOW the fill was stopped by the automatic switching.

Keith
 
Last edited:
The weight of the box is controlled via the product height, product too heavy reduce height and product too light increase height.

Weight is controlled by product height--too heavy, decrease height--too light, increase height.

You have to know the weight to derive a target height, yet the target height determines the weight. That's some kind of a cunundrum. (is that a word?)

How do you know what too heavy or too light is? If you weigh the box, use a straightforward weight control. If your deriving the weight by some other accurate method, use straight math to calculate what the height should be, then fill it. Please explain what you have available to provide information to the controller, then we'll tell you what we think will work, OK?
 

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
591
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
926
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
409
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,485
Back
Top Bottom