• Not Answered

Loss in weight counter

Hello,

I have a customer that has a drum with material that is limited in how much they can use each day. I'm trying to figure out how I can basically add up the loss in weight of the drum. The other difficulty is that they can fill up the drum with the material, so if the weight increases, I need to make sure that it is not being counted against the weight of material used that day, or even subtracts from the weight used. This is what I have come up so far

Basically I am reading the weight of the drum, and the weight with a dead time. Then I subtract the weight and the weight with a deadtime. I put in a condition that the current weight must be less than the weight with deadtime, then it goes into an integrator block. The DTE is to do a reset every day. The problem I am having is that the integrator block is not doing what I thought it would do. So if I simulate a loss of 10 lbs, it only is counting during the deadtime, and is not adding up to 10 lbs. I guess every scan if it sees a difference of 10, it would keep adding 10. Any idea how I might better approach this? Thanks.

4 Replies

  • One quick question that may greatly help simplify the answer: Can you ever be adding weight while you are removing it? Also, if you switch between adding and removing, what is the reasonably shortest amount of time between those two operations?

    If the events are separate, you can simply check at some reasonable interval (<< shorter than the downtime between the two operations), and any time the weight changes in a positive way, you merely update your current weight, but any time the weight changes in a negative way, you count it as "use" and totalize that differential independently. If your scale signal is a bit noisy, you may want to design in a threshold below which you ignore the differential.
    W0 = Previous Weight; W1 = Current Weight; U = Usage Total; dW = Weight Change; dMin = Change Detection Threshold
    dW == W0 - W1
    IF (|dW| > dMin), THEN
    IF (dW < 0), THEN U == U - dW >>Note: since dW is negative, your total will be positive.
    END IF
    W0 == W1
    END IF
    This won't work accurately if you can add to the drum while you are flowing out of it, since they cancel each other out. If they can add material to the drum far faster than it flows out an you can ignore the small outflow during addition, you may get away with it. It really depends on the application.

    If you really need accuracy, the best way to measure this is to directly measure the flow out of the drum, since that seems to be the value you are interested in. That said, I'm sure we all know of times when the "best" solution was not a practical one.
  • In reply to Jeffrey Mach:

    They will remove the drum and fill it up. No filling while it is also draining
  • In reply to rhamlin:

    In that case, then it seems easy enough to use the method I described, with one more bit of code: you need to ignore the removal of the drum. One way to do that is to set a large change in weight (greater than what you could see during one time interval of normal use, but less than lifting the drum off the scale), then do not count that as a "use."
    Depending on how fast you measure, versus how fast they lift the drum, you could get false measurement if it reads the scale part-way into the lift. If that is a problem, you could integrate a switch to suspend the measurement while removing and reloading the drum.
    This does open you up to having operators fail to turn the measurement back on, unless you engineer the switch into the system. Could a switch be placed on whatever holds the drum in place? I am a big proponent of not adding items to checklist and instead embedding sensors in a way that is transparent to the operator (part of what they were going to be doing anyway).

  • In reply to Jeffrey Mach:

    Your biggest challenge is how the system sees the removal of the Drum, and accounts for the initial drop in weight, followed by an increase. I like Jeffrey's approach to look for a weight change that exceeds the weight of the drum, or is near it, such that when removed, the change in weight triggers the "drum removed" state. The speed of response on the weigh scale and jostling of the drum has to be mitigated. You would not want to detect part of the drum removal as product usage.

    I would use a starting weight and current weight calculation, with a mechanism to measure and record the added product when the drum is replenished. Weight used = Starting weight - ending Weight +(Drum refills). Each Drum refill is done as a similar change in weight.

    Your best bet is to explicitly indicate to the logic that product is being replenished so suspend product usage calculation in some way. Simple is usually always the better solution...

    Andre Dicaire