The bailer's 50 cans/min rating (1.2 s per can) applies to the bailer running alone, not to a bailer whose release is gated by one-can-at-a-time logic. The fix is to let two cans occupy the escapement-to-holding section and to shorten the holding-to-handler hand-off. Both changes are logic and timing edits on the existing hardware. Gate every release on measured can presence, never on a fixed handler-cycle timer.
Reading the symptoms: idle handler, doubled cans, bailer jam trip
Each symptom points to a different part of the release logic. Match what you see before changing anything.
| Observed | Mechanism | Where to look |
|---|---|---|
| Handler waits for the next can after every cycle | Next can was released too late. The release fires from the holding-release event, and the can needs about 5 s to reach holding. | Timestamp: escapement release to holding eye B rising edge, and handler clear to next D rising edge |
| Cans double up behind holding when the release is timed from a snapshot of handler cycle time | Open-loop timing. Transit (5 s) is longer than the handler period (3.4 s), so a can is always in the blind spot between the escapement and B. Any drift adds or drops a can with no feedback. | Release logic uses a timer only; no count of cans in transit |
| Bailer jam sensor trips when the release is tied to handler cycle time | Cans accumulate in the bailer faster than holding drains them. The jam sensor sees a can that stays blocked. | Count of releases minus count of B edges |
| Handler pauses waiting for a can that was released downstream of holding | Travel from holding to the handler eye D is 1.5-2 s, during which the handler does no work. | Holding-release to D rising edge |
Why the bailer rating and the system throughput differ
In a pipelined line, the slowest stage sets throughput, and transit time only delays the first can. That holds only while a stage can start its next unit before the previous one has left the line. The current logic releases one can from the escapement, then waits for the hand-off chain before releasing another. That makes the 5 s of transit part of every cycle instead of a one-time latency.
The 1.2 s figure is the bailer's own cycle with its internal photoeye spacing cans about 5 inches apart. That autonomous mode is too fast for the downstream packaging, so the release was moved under handler control. Once the release is gated by the handler, the effective bailer cycle includes the escapement travel, and it is the gating logic that caps the rate. Moving the escapement is not an option because it is part of the bailer. The remaining lever is the number of cans allowed in the pipe at once and the timing of the trigger.
Cycle arithmetic from the measured times
The derivation below uses the measured values and two labeled assumptions: the escapement fires at holding release, and the next can waits at holding with the handler running.
- Handler-limited ceiling = 60 / 3.7 to 60 / 3.4 = about 16.2-17.6 cans/min, a period of 3.4-3.7 s.
- Cans needed in the pipe = ceil(T_transit / T_period) = ceil(5 / 3.4 to 5 / 3.7) = 2. A single can in transit cannot sustain 3.4-3.7 s per can.
Two separate limits therefore exist: the transit exposure (fixed by the 5 s transit and the one-can rule) and the hand-off chain (fixed by holding-to-handler travel). Removing only one moves the period to the other limit.
Comparing the release strategies
| Strategy | Hardware | Removes | Main risk |
|---|---|---|---|
| Set the handler-ready bit before the motors open to release the can | None | Part of the chain (idle between release and clear) | Releasing holding before handler cylinders are confirmed closed |
| Release holding earlier, at reverse rotation or handle-flipper actuation | None | Part of the 1.5-2 s travel exposure | Collision or unchecked can if the handler is not clear |
| Escapement trigger from handler while holding has a can (two-can overlap) | None | Transit exposure | A third can enters the bailer if no count or lockout is present |
Counter cans_in_bailer with a lockout timer |
None (sensor A optional) | Transit exposure, bounded to two cans | Counter drifts from the real can count |
| Release on each B rising edge | None | Transit exposure | Needs a startup seed and a feed-starvation recovery |
| Retaining station with eye C | Stop, cylinders, photoeye | Holding-to-handler travel | Prediction errors if release is time-based |
| Photoeye A at bailer entry | One photoeye | Blind spot (confirms can presence) | None on its own; it only improves the count |
Moving the handler-ready bit and the holding release earlier
The handler sets its ready bit after the can is released downstream and the motors close. Setting the bit when the motors have angled the can, before the motors open, removes the closing time from the chain. The existing cylinder-position watchdog keeps this safe: the watchdog compares each cylinder's commanded retract/extend state against its retract/extend sensors and raises an alarm and stops the conveyor if a sensor is not made in time. If a station opens to pass a can and fails to close, no unchecked can can travel past the handler.
- Add a handler output bit, for example
Handler_Early_Ready, set when the angling step completes and before the release step opens the motors. - Gate the holding release on the same bit plus a confirmed handler-clear or safe-state condition from the cylinder sensors. Do not release from holding on a timer alone.
- Confirm that the watchdog timeout still covers the earlier event. A watchdog timer started at the old point could expire early or late after the move.
- Test the earlier holding release at the reverse-rotation start first, then at handle-flipper actuation. Move it earlier in steps and check that the arriving can never reaches the handler zone before the previous can has cleared eye D.
Raising the conveyor speed between the bailer and the handler shortens the same travel by a fraction of a second. Raise it in small steps and watch that cans still stop cleanly at holding.
Two-can pipeline with a cans_in_bailer counter
Allowing exactly two cans between the escapement and holding removes the transit exposure, because the second can is already travelling when the first arrives. The count is a model of the physical section, so define its boundary before writing logic. The count is the number of cans between the escapement and eye B. Choose the decrement edge to match that definition: a B rising edge marks arrival at holding, and a B falling edge marks departure from holding. Backed-up cans touch at the handle ears, so confirm during commissioning that B produces a light-to-dark transition between cans even when they are queued. If it does not, the counter cannot decrement reliably from that edge.
The 2-3 s lockout assumes the bailer completes a can reliably in about 1.2 s. Verify that spacing against the measured bailer cycle at 4-6 sigma before you commit to it. A TON timing the interval since the last release also works.
The count fails in three ways:
- A can leaves without a decrement, or a release increments the count with no can present. The count reads one or two too high and the system falls back to the slow one-can operation. Sensor A fixes the second case by incrementing on the physical can instead of on the command.
- A can passes the escapement without an increment. The count reads low, more than two cans accumulate, and the bailer can jam. The escapement geometry should pass one can per release, but verify that on the machine.
- Unfiltered sensor bounce doubles an edge. Debounce all inputs used for counting.
Provide a reset path. Choose one:
- The operator clears all cans between the escapement and holding, presses a reset button that sets the count to 0, and restarts.
- Restart resets the count to 0 automatically, with a posted instruction not to start unless the section is empty.
- Restart resets the count to 0, then runs the conveyors for 10-20 s with every release inhibited. Any B trigger during that window raises an alarm and stops the line, and the operator clears the cans at holding.
Option 3 self-checks the model; options 1 and 2 rely on operator discipline.
Release on the B rising edge with a seed and starvation timer
A simpler alternative has no counter: each rising edge of B (a can arriving at holding) triggers an escapement release, and the existing holding-to-handler interaction stays as is. Currently a can waits at holding while another waits at the escapement, and the arriving can already puts a second can into the pipe. A third cannot enter because the first can at holding blocks the second, keeps B made, and prevents a new edge until the first can is released to the handler. At that point only one can is in the bailer. This approach does not depend on a counter model.
It has two edge cases, because with no can at B there is no edge to trigger a release:
- At startup, a seed release from the escapement is required.
- If the feed stream dries up, no can reaches B, so no edge arrives.
Cover both with a long TON, about 10 s, reset by each escapement event in normal operation. If it expires, at startup or after feed loss, it triggers an escapement release. If it expires twice in a row without a B-driven release between, raise an alarm. Pair the release with a 2-3 s TOF between escapement events as a second guard.
Retaining station, sensor A, and handler mechanics
Photoeye A at the bailer entry confirms that a released can is physically in transit. This gives the PLC the same information as the middle presence indicator on the HMI, which is inferred from the holding-release event and a timer that watches for the can at eye D. With A, a released-but-absent can no longer inflates the count.
A retaining station with eye C adds a second holding position closer to the handler. It reduces the 1.5-2 s holding-to-handler travel and lets the handler start immediately. Designs that use three cans between B and C can pulse the C stop open long enough to advance a can 75% to nearly 100% of its diameter, so the retaining stop catches the back of the can and keeps the next can from entering the handler. Base its release on sensed presence at B and C plus A, not on a predicted future time. A predictive release schedule fails badly when the prediction is wrong, and the earlier snapshot-timer attempt shows the result.
Only add this hardware if the logic-only options do not reach the required 1-1.2 s. Handler-side gains help alongside them:
- Orient the handle-flipper mechanism across the conveyor to cut rotation, since cans leave the bailer with handles parallel to the conveyor and need a 90 degree turn.
- Speed up the rotation motors.
- Start the rotation wheels before the can first contacts them.
Keep both ear proximity sensors in the check. Failing to see both ears triggers the mis-bail alarm and stops the line, and no speed gain justifies bypassing it.
Recurring pitfalls on gated-release bailing lines
- Timing the release from a handler cycle snapshot. It has no feedback, so drift accumulates. Use presence signals or a counter.
- Moving the ready bit or holding release without retesting the watchdog. The watchdog timeout must still match the new event points.
- Setting the lockout shorter than the bailer's real cycle. The 2-3 s value rests on an assumed 1.2 s bailer cycle. Measure it.
- Trusting a counter after a jam or manual release. A manual double release adds a can the model did not count. Use a reset path.
- Skipping the seed and starvation timer in the edge-triggered method. The line stalls quietly when feed is interrupted.
- Treating a travel-time reduction as a throughput fix. It helps only where travel sits inside the serial chain. Confirm that first with timestamps.
Verification checks with expected readings
- Log timestamps of escapement release, B rising edge, holding release, D rising edge, and handler clear over at least a full production run. Expected: release-to-B is about 5 s, consistent with the baseline.
- Run queued cans against B. Expected: B shows a distinct edge between each can, so the counter edge works.
- Watch
cans_in_bailerduring normal running and against a physical count. Expected: it never exceeds 2, and it returns to 0 when the section empties. - Measure the handler idle time between handler clear and the next D rising edge. Expected: it drops toward zero and the period approaches the handler cycle of 3.4-3.7 s, about 16-17.6 cans/min.
- Fail a cylinder sensor on purpose, or block a cylinder from reaching position. Expected: the watchdog times out, an alarm sets, the conveyor stops, and no unchecked can reaches packaging.
- Present a can with only one ear detected. Expected: the mis-bail alarm stops the line.
- Empty the escapement, then restart the line with the section empty. Expected: the seed or startup path releases a can, and two starvation expiries in a row raise the alarm.
- Start the line with cans left in the section. Expected: your chosen reset procedure clears the count, and the 10-20 s inhibited run alarms if B triggers.
- Run a sustained test with the bailer jam sensor armed. Expected: no jam trip and no cans doubled behind holding over the full test.
FAQ
What happens if the cans_in_bailer counter drifts from the real can count?
If it reads high, the release stays blocked and the line falls back to the slow one-can operation. If it reads low, more than two cans enter the section and the bailer jam sensor can trip. Reset it with a button, a startup reset, or the 10-20 s inhibited run with a B-trigger alarm.
What happens if I release the next can from a fixed timer set to the 3.4 s handler cycle?
Transit is 5 s, longer than the 3.4 s period, so a can is always in the blind spot between the escapement and holding. With no feedback, cans double up behind holding and back into the bailer until the jam sensor trips. Gate each release on a can count or presence signals.
What happens if the handler-ready bit is set before the motors open and a cylinder does not close?
The cylinder-position watchdog compares the commanded state with the retract/extend sensors, times out, sets an alarm, and stops the conveyor, so no unchecked can passes. Retest this by forcing a sensor fault after moving the bit, since the watchdog timeout must cover the new event point.