Skip to main content
IoTFlows Logo
IoTFlows Logo
Shopping Cart

How to monitor a packaging line and count every unit

Count output after the last reject, take the ideal rate from the slowest machine, and find which filler, capper or labeler stopped first. With a worked shift.

Applications Engineering Team, IoTFlows

10 min read

Updated

You count a packaging line’s output with one counter after the last reject point, and you find its stops by counting at each machine and reading which count stopped first. Take the line’s ideal rate from its slowest machine, and give every stop a reason on the machine that caused it, so one jam reads as one stop, not four.

This guide is for plant managers running filling, bottling, bagging and case-packing lines. It works one hypothetical 500 mL water line through, from the count point to one shift’s numbers.

Key takeaways

  • Count a packaging line’s output once, after the last reject point, where units run single file and pass the beam once.
  • A line never runs faster than its slowest machine, so take the ideal rate from that machine’s rated speed for the container.
  • Buffers between machines absorb short stops, so a counter at the end of the line misses stops that a counter at each machine sees.
  • When a line stops, the machine whose count stopped first is the cause; the others are waiting on it.
  • Classify a line stop once, on the machine that caused it, so one jam does not appear four times in the Pareto.

What to monitor on a packaging line#

Definition

Packaging line monitoring means recording, for a line of connected machines such as a filler, capper, labeler and case packer, how many good units leave the line, how fast they leave, when each machine stops and why, so losses are traced to the machine that caused them.

Five numbers answer most of what a line review asks. Each comes from a different place, so decide where each one is measured before you mount anything.

NumberQuestion it answersWhere it is measured
Good countHow much did the line ship?One point after the last reject
RateHow fast is it running now?The same point, in units a minute
StopsWhen and how long did it stand?Each machine, or the discharge
Stop reasonWhy did it stop?The operator, on the causing machine
RejectsHow many units were thrown out?Each reject or divert station

Downtime is the number OEE tools are built around. In a PMMI survey of 35 suppliers, run from May 2025 to June 2026, downtime was the most commonly tracked KPI in respondents’ current OEE offerings, at 93.8%.[3] A sample of 35 is a signal, not a census.

Where to count the line’s output#

Count once, at a point where every good unit passes and nothing else does. On a packaging line that point is after the last reject or divert station, so the number is what the line produced, not what it attempted.

Three rules pick the exact spot:

  • Single file. A beam across a conveyor two units wide counts neither lane reliably.
  • Off the accumulation table. A bottle that backs up, drifts forward and backs up again crosses the beam more than once.
  • On an opaque feature. Clear PET and glass may not break a beam. Aim at the closure, the label band or the filled body, or count cases downstream instead.

The count point checklist covers mounting distance, brackets and wash-down. When you count cases, one beam break is a case, so a 24-count case counts as 24 units. The setting that carries that multiplier is the quantity per cycle.

Count rejects separately from good units.

PackML (Packaging Machine Language) is a standard set of machine states and data tags for packaging machines. It counts the same way: its ProdProcessedCount includes good and defective products, and ProdDefectiveCount holds the defective ones.[1] Good count over processed count is the line’s quality.

Why the slowest machine sets the line rate#

Units leave a line no faster than its slowest machine can handle them. A labeler rated at 300 bottles a minute, fed by a filler rated at 200 and followed by a case packer that handles 150, runs at 150.

The case packer is the slowest machine, so the line runs at 150 bottles a minute. Sample data.

The faster machines are not wasted. After a stop, the extra speed is what lets the filler and capper refill the buffers between machines. A line where every machine is rated at the same speed can never refill a buffer that a stop drained.

Express the rate the way the line is quoted. PackML expresses a machine’s speed setpoint in primary packages per minute.[1] A gauge that reads 150 bottles a minute can be checked against the rating plate; a cycle time of 0.4 seconds cannot.

Set the ideal rate from the constraint#

OEE performance compares what the line made with what its ideal rate allows. On a line, the ideal rate is the slowest machine’s rated speed for the container you are running.

The ideal rate sets the performance figure. The goal you hold the line to is a separate number: set it from the line’s own baseline, as the OEE goals guide describes.

How buffers hide short stops#

Definition

Accumulation (buffer) is the conveyor length or table between two packaging machines that holds units, so a short stop at one machine does not stop its neighbors until the buffer fills or runs empty.

Buffers change what a stop looks like from each point on the line. A jam at the capper stops the capper at once.

The filler keeps filling until the conveyor in front of the capper is full. The labeler and case packer keep running until the bottles between them and the capper run out.

Worked example

A 120-second capper jam on the water line

  • The line runs at 150 bottles a minute, 2.5 bottles a second.
  • The conveyor between filler and capper has room for 50 more bottles. The accumulation between capper and labeler holds 90. The conveyor between labeler and case packer holds 60.
  • The capper jams at 0 seconds and restarts at 120 seconds.
  • Transit time between machines is left out of the arithmetic.

The filler fills its 50 spaces in 50 ÷ 2.5 = 20 seconds, then stops. The labeler empties 90 bottles in 90 ÷ 2.5 = 36 seconds, then stops. The case packer empties its 60 bottles in another 24 seconds, so it stops at 60 seconds.

The case packer stands 60 seconds, so the line loses 60 × 2.5 = 150 bottles, not 300
One capper jam stops four machines at four different times, and the earliest stop is the cause. Sample data.

Two lessons follow. A stop costs line output only when it reaches the slowest machine, here the case packer. And a counter at the discharge sees the jam 60 seconds late and 60 seconds short.

Shorter jams vanish entirely. A capper jam under 36 seconds never stops the labeler, and the filler and capper refill the accumulation afterward, because both run faster than 150.

Those stops cost nothing while the buffers hold. When they repeat 40 times a shift, they show up as a rate below ideal rather than as downtime. The micro-stops guide covers where those losses land in OEE.

Set the end-of-line counter’s downtime filter past the longest normal gap between units, such as the pause while a case packer indexes. The downtime filter settings start fast continuous lines at 15 to 45 seconds.

Find which machine stopped the line#

When every machine on the line reads stopped, only one of them caused it. Put a counter at each machine, date each stop to the last unit that machine counted, and sort. The earliest stop is the machine to walk to.

In the capper example, the sort reads capper at 0 seconds, filler at 20, labeler at 36 and case packer at 60. The case packer operator sees only that the case packer stopped. The timestamps send the technician to the capper.

PackML names the difference. A machine is Held when it pauses for a condition internal to it, such as low material or an operator service. It is Suspended when it pauses for a condition external to it, such as a fault upstream or downstream.[1]

In the example, the jam is internal to the capper. The filler, labeler and case packer are all Suspended, waiting on it.

The first-stop method in the line monitoring guide works the same sort on a four-step bagging line.

Give packaging stops a reason#

A stop length says how much time a line lost. A reason says what to fix. Packaging stops repeat, so a short list covers most of them.

ReasonWhere it startsWho acts on it
Bottle jamConveyors, starwheels, guidesLine operator
Cap feedCapper, cap sorterLine operator
Label roll changeLabelerLine operator
Film spliceShrink wrapper, baggerLine operator
ChangeoverThe whole lineSetup lead
Waiting on bottlesUpstream supplyMaterials
Mechanical faultAny machineMaintenance
Quality holdAny machineQuality
A starting list for a filling and packing line. Add a code only when the same reason keeps landing in other.

Classify each line stop once, on the machine that caused it. If all four machines in the capper example log “cap feed”, the Pareto shows one 120-second jam as four stops totaling 364 seconds. Code the waiting machines as waiting on the line, so the jam counts once.

Build each code by creating a downtime category. Routine stops at shift start, shift end and breaks can be classified automatically, so operators classify only the stops worth fixing. The reason codes guide covers how to keep the list short.

Changeovers deserve their own code. A product change is two jobs: change the line over, then tell the counter which product it now counts. A size change, such as 500 mL to 2 L, also changes what the beam sees, so re-check the count point at every size change.

One shift on a bottling line#

The numbers below follow the hypothetical water line through one shift, so you can see what each number is for.

Worked example

One 8-hour shift on a 500 mL water line

  • Shift: 480 minutes with a 30-minute break, so planned production time is 450 minutes.
  • Ideal rate: 150 bottles a minute, the case packer’s rated speed.
  • Stops at the discharge counter: changeover 25 minutes, bottle jams 15, label roll changes 12, waiting on bottles 8. Total 60 minutes, so run time is 390 minutes.
  • Good count after the last reject: 52,650 bottles. Rejects: 600 bottles, so 53,250 were processed.

Availability is 390 ÷ 450 = 86.7%. Performance is 53,250 ÷ (390 × 150) = 53,250 ÷ 58,500 = 91.0%. Quality is 52,650 ÷ 53,250 = 98.9%.

OEE = 52,650 ÷ (450 × 150) = 52,650 ÷ 67,500 = 78.0%

The performance gap is 58,500 − 53,250 = 5,250 bottles, or 35 minutes at the ideal rate. That time never appeared as a stop at the discharge. It is the short jams the buffers absorbed and the minutes the line ran below 150.

With the labeler’s 300 a minute as the ideal, performance would read 53,250 ÷ 117,000 = 45.5%, and the 35 minutes would drown in a loss that does not exist.

Packaging lines can start far lower. A NIST MEP case at a snack maker’s plant in Horseheads, New York, found one packaging line at 20 to 30% OEE. After cross-functional teams worked on changeovers and sanitation, it ran above 50%, with $400,000 in annual savings.[2] The OEE calculation guide works each factor through on its own.

Count a packaging line with IoTFlows#

IoTFlows counts a line with a BeamTracker, an IP67 laser counter that bolts beside the conveyor after the last reject point. It counts each unit that breaks its beam, with no PLC, and reports the count, the rate in the line’s own unit, such as bottles a minute, and every stop with its reason.

A BeamTracker at each step shows which machine stopped the line. Grouped as a cascade, the steps report first pass yield at every step.

Altium Packaging counts every bottle on ten bottling lines in Memphis, at 20 to 140 bottles a minute, and inspects its Slide Knife every 100,000 bottles. Criollos Foods increased bagging-line productivity 35% by coaching operators who ran below its 30 bags a minute target.

Roll it out on one line#

  1. Write down each machine’s rated speed

    List the filler, capper, labeler, case packer and anything between, with each rated speed for the container you run most. The slowest one sets the ideal rate.

  2. Count after the last reject

    Mount one counter where units run single file past the last reject station, off any accumulation table. Name the unit, such as bottles, so the rate reads in units a minute.

  3. Validate against a hand count

    Run the line for one to two hours, then compare the recorded count with a count at the discharge over the same window. A count that reads an exact multiple of the real one is the quantity per cycle, not the counter.

  4. Set the downtime filter past normal gaps

    Find the longest normal pause between units, such as a case packer’s index, and set the filter past it. Otherwise every normal pause reads as a stop.

  5. Start a short reason list

    Load eight codes or fewer, and ask operators to classify only stops on the machine that caused them.

  6. Add a counter at each machine

    Once the line count is trusted, add counters at the machines where stops start, so the earliest stop names the cause.

After two to four weeks, rank the classified minutes and work the largest reason first. More machine-by-machine guides are under machines and connectivity.

Questions#

Should I count bottles or cases on a packaging line?#

Count single units where they run single file after the last reject, because that count matches the line’s rate in bottles a minute. Count cases when the units are clear glass or film that a beam may not see, or when the case packer discharge is the only clean single-file point. Then set the quantity per beam break to the pack count, such as 24.

What is the difference between Held and Suspended in PackML?#

Both are paused states in the PackML state model. A machine is Held when it waits for a condition inside the machine to clear, such as low material or an operator service. A machine is Suspended when it waits for a condition outside it, such as a fault in upstream or downstream equipment. The split separates a machine’s own pauses from waits caused by its neighbors.

Why does my line never reach the labeler’s rated speed?#

Because the labeler is not the slowest machine on the line. Units leave a line at the rate of its slowest machine, often the filler or the case packer, so a labeler rated at 300 a minute on a line capped at 150 a minute runs at 150 a minute. Its extra speed is still useful: it lets the labeler clear a buffer after a stop upstream.

How short a stop can a counter at the end of the line see?#

A counter at the discharge sees a stop upstream only when the stop outlasts every buffer between that machine and the counter, plus the counter’s own downtime filter. On a line with 60 seconds of buffer between the capper and the case packer and a 30-second filter at the discharge, a capper jam shorter than 90 seconds never reaches the end-of-line count as a stop.

Written by

Applications Engineering Team, IoTFlows

Sources#

  1. OPC 30050: OPC UA for PackML, Common Object Model, version 1.01, OPC Foundation. Accessed Oct 16, 2026
    reference.opcfoundation.org/specs/OPC-30050/full
  2. Taking Action Against Productivity Losses, NIST Manufacturing Extension Partnership. Accessed Oct 16, 2026
    nist.gov/mep/successstories/2022/taking-action-against-productivity-losses
  3. Overall Equipment Effectiveness QS 2026, PMMI, The Association for Packaging and Processing Technologies. Accessed Oct 16, 2026
    pmmi.org/report/overall-equipment-effectiveness-qs-2026