Bottle fill timers

jjwitty

Member
Join Date
Feb 2021
Location
United States
Posts
22
I have a machine that fills 12 bottles of oil. The bottles are normally filled using mass meters which are set by operators from HMI. Lately we have lost 3 meters and the machine has been down. This has cost the company thousands. To get them up and running, I have programmed the valves connected to the bad meters to open/close using TON. During testing this has worked very well. I was able to match the fill levels of good valves with the timers on the bad valves. I have programmed the HMI so the operators can adjust the times on the timers also. I have one problem, sometimes the filler is sped up and down. This would cause operators to have to adjust timers. To combat this, I am thinking of ways to time the good valves and move that accumulated value into the preset of the bad valves. To me, that would remove all operator involvement in the filling process except starting the machine. What I’m concerned about is scan time and how that may effect the time of the bad valve. Even 250ms could cause the bottles to overfill. What does everyone think ?
 
Last edited:
Not the greatest approach, but when there’s a 3 week lead time on mass meters you have no other choice. We also have a Filltec machine that catches below weight bottles and kicks them off the line. Without that, this idea would never work. BTW, Bottle filling is done with timers a lot in the industry.
 
There are several problems :
If you are using a pump to fill the bottles flow rate will change depending on pump conditions, except if the pump is positive displacement. I do not know if this is your case.
If you are filling by gravity, same problems
If your flow meters are bad , a fast valve with timers will help but , operators must be capable of changing timers according.
 
Operator now has full controls of each valve, whether it’s by weight or time. The bottles are filled by using a pressurized tank that holds steady about 100 psi. Also, the way these are engineered, there’s always a enough product in the valve to fill the next bottle.
 
I don't understand something.

You wrote that the "bottles are filled by using a pressurized tank..."

But you also wrote that "there's always enough product in the valve to fill the next bottle."

Is the oil in the tank and each valve controls flow between tank and a bottle, or does each valve have some oil reservoir of it's own that is used to fill each bottle, and that reservoir is replenished in a separate operation?

Anyway, plc programming is primarily about time. Depending on the plc make and model, you might be able to execute the value-timing measurement code in a timed-interrupt task where the sample time (i.e. resolution) is controlled (known) and regular, which would be separate from the continuous task where the sampling time is unknown and irregular.

TL;DR

What you have already done is create a model of the process on the plc, and are using that model for feed forward control. What you are proposing is increasing the fidelity of that model to handle a greater range of operating conditions.

If you want to use the meter-controlled valve timings to control the valves which no longer have working meters, then one of the assumptions may be that all the valves' characteristics and operating conditions are identical.
 
Link to a similar filler

https://usbottlers.com/wp-content/uploads/2017/03/PG-Filler-Brochure.pdf

Even when all meters worked correctly, each valve has an option on the HMI to offset weights if they were below specifications. I added the option to adjust the timers from the same page on the HMI.

The tank is on the floor and has pressurized air constantly being fed to it. Within that tank are analog sensors that tell a pump when to fill. The bottom of the tank feeds a tube that goes to the top of the filler. The filler then has 12 separate tubes that fill with pressurized product. Below that filling tube is the meter and valve. With constant and reliable air pressure, this is a very predictable machine. That’s why I feel the timers are a suitable solution to the problem.
 
Last edited:
It sounds like each filler head has independent PLC controlled opening time. Using Rockwell terminology, if I was working this, I think this would be my approach: for each valve with a functional flowmeter, when the valve opens start a TON timer with a higher preset than would be reached.

When the valve closes, ONS MOV the TON.ACCumulated value to some register. This would likely be in the rung preceding the TON to catch the off transition before the timer drops out. An array the size of the number of good heads might be handy for these valve values.

Average the times of all the good heads, maybe add a bit of a fudge factor to that, and use that value as the base for the valves with no flowmeter.

Edit: maybe you don't need an ACC valve from new timers if you already have a timer for each head. Then you won't need to find the times for each, just average the existing presets.
 
Last edited:
Link to a similar filler

https://usbottlers.com/wp-content/uploads/2017/03/PG-Filler-Brochure.pdf

Even when all meters worked correctly, each valve has an option on the HMI to offset weights if they were below specifications. I added the option to adjust the timers from the same page on the HMI.

The tank is on the floor and has pressurized air constantly being fed to it. Within that tank are analog sensors that tell a pump when to fill. The bottom of the tank feeds a tube that goes to the top of the filler. The filler then has 12 separate tubes that fill with pressurized product. Below that filling tube is the meter and valve. With constant and reliable air pressure, this is a very predictable machine. That’s why I feel the timers are a suitable solution to the problem.

Thanks for the explanation.

So the air (nitrogen? inert gas?) pressure over the oil* in the tank provides the force that drives the oil through the valves.

For each meter-valve combination, do the meter readings go back to the PLC, and the PLC accumulates (totalizes) flow over time and eventually directly triggers the closing of the valve? Or is there a more direct connection/control system between the meter and valve control, where the PLC indirectly controls the fill by providing a setpoint to that system, and that system directly triggers the closing of the valve based on the meter's accumulation and the setpoint from the PLC?

Do all the dozen valves' fills start at the same time? Or, as @5618 suggested, is each valve's fill staged (offset) in time relative to the other valves as the bottles move through the system?

Is there an adjustment for in-flight i.e. the amount that goes into the bottle after the signal to stop a fill is sent, or is that folded into the HMI offset value you mentioned?

What is a typical scan cycle time for the PLC?

What is the make and model of the PLC?

* plus or minus any head difference between the oil-gas surface interface and the valve. Presumably there is another control loop that maintains a near-stable level of oil in the tank.
 
Last edited:
Do the vales with working flow meters appear to be open the same amount of time?
If so could you connect the vales with bad flow meters to one of the good meters output?
 
So the air (nitrogen? inert gas?) pressure over the oil* in the tank provides the force that drives the oil through the valves.?

*This is just pressurized air that forces the oil through the system. Air pressure goes into the top of the tank, "pushing" the oil down and through the outlet at the bottom of the tank and into the filler.

For each meter-valve combination, do the meter readings go back to the PLC, and the PLC accumulates (totalizes) flow over time and eventually directly triggers the closing of the valve? Or is there a more direct connection/control system between the meter and valve control, where the PLC indirectly controls the fill by providing a setpoint to that system, and that system directly triggers the closing of the valve based on the meter's accumulation and the setpoint from the PLC?

* The meters are tied to a 1756sc-CTR8 Channel analog counter/flowmeter (Allen Bradley). This card totalizes flow and closes the valves when the desired setpoint is reached. There is a sensor that senses the leading edge of the bottle and tells the valve when to open. This is done by calibrating a servo drive so the system knows exactly what bottle (1-12) is being filled.

Do all the dozen valves fills start at the same time? Or, as @5618 suggested, is each valve's fill staged (offset) in time relative to the other valves as the bottles move through the system?

*All valves open at separate times. There is one bottle present sensor. I calibrate the system from the HMI to tell PLC exactly where bottle one begins/ends using rising and falling edges. After bottle 1 passes the bottle present sensor, the filling begins. This is only a 3-second process.

Is there an adjustment for in-flight i.e. the amount that goes into the bottle after the signal to stop a fill is sent, or is that folded into the HMI offset value you mentioned?

*There is an offset attached to each mass meter that the operator controls. If bottle x fails inspection, the operator weighs the bottle and offsets bottle x accordingly from the HMI.

What is a typical scan cycle time for the PLC?

*I just looked and the RPI is 10 ms.

What is the make and model of the PLC?

*The PLC is a Compactlogix 1756-L62

* plus or minus any head difference between the oil-gas surface interface and the valve. Presumably there is another control loop that maintains a near-stable level of oil in the tank.
__________________
 
Are you saying an independent rung with a ons mov? Or attach ons mov to the rung with the good valve? I tried moving acc of good valve but it was only 3 ms. That was an independent rung prior to the TON for good valve.
 
Approximately how many flowmeter pulses are counted by the 1756sc-CTR8 for each three-second bottle fill before commanding the valve to close?
* The meters are tied to a 1756sc-CTR8 Channel analog counter/flowmeter[?] (Allen Bradley). This card totalizes flow and closes the valves when the desired setpoint is reached. There is a sensor that senses the leading edge of the bottle and tells the valve when to open. This is done by calibrating a servo drive so the system knows exactly what bottle (1-12) is being filled.
The 1756sc-CTR8 is a counter module; it is not a flowmeter. There may be separate flowmeters that are generating pulses to be counted by the -CTR8, but the -CTR8 does not measure flow directly.

From the blue-highlighted items above, it appears that at least the closing of the valve is controlled by the -CTR8, perhaps using the Gate Storage Mode 3 - Store-Reset/Wait/Start.

The original post stated that three flowmeters have failed. If the counter module channels for those flowmeters are still working, then another approach would be to generate synthetic pulses to the -CTR8 counter module, gated by the signal to open the valve; the working flowmeters could be used to set the frequency of the pulses. Whether the PLC scan time (see below) is short enough to generate those pulses is unknown; if the scan time is not short enough then perhaps a timed interrupt task with a minimal amount of code could generate the pulses; if all else fails, an external device could generate the pulses.
What is a typical scan cycle time for the PLC?

*I just looked and the RPI is 10 ms.
RPI is the data update time between a card module and the PLC; it is not the PLC scan cycle time. The PLC scan cycle time is the duration between one start of the PLC evaluating the PLC logic program and the next start evaluating that same logic. It could be as short as 1ms or less, depending on how large the program is. This assumes the PLC logic is in the continuous task; it may be that the PLC logic is in a timed interrupt task with a pre-set and known interval between executions.
 
Last edited:
The simple timers worked very well. I just added a XIC in the rung below the solenoid output that opened the valve. When that valve opened, that energized the TON. the next rung had the valve throttle XIC. I used an OR branch with the original throttle XIC with the DN bit from the TON in the previous rung. I also added a XIO in the same rung that opened the valve. The XIO had the TON DN bit also in case the PLC told the valve to open longer than the TON, Which it did since the valve didn’t know when to close.
 
Last edited:

Similar Topics

Good evening all, We have a couple of volumetric fillers at the brewery where I work. We monitor & weigh our bottles to ensure we are legally...
Replies
4
Views
1,670
Hi all, I have a project with steps below but I have some problems with it: *When we push the start button, conveyor band will start. *2...
Replies
3
Views
3,079
Hello everyone, I have a project for bottle filling machine for low to medium viscosity liquids. I understand the products vary slightly some...
Replies
5
Views
2,163
I have a bottle capper that is using an encoder and FIFO logic to track the free standing bottles passing through a bottle capper. I have checked...
Replies
31
Views
11,691
In the zip attached is the ladder program I made to control the bottle line simulator. Please I need help and to know, how can I keep 1.the run...
Replies
12
Views
2,396
Back
Top Bottom