FIFO Queuing Logic: Straight Lane vs Spiral Buffers

The Rework Batch That Jumped the Queue

A customer ran a production cell that had to maintain FIFO (first-in, first-out) — the first part loaded had to be the first part unloaded. It was a regulated industry (medical devices), and the traceability system required that parts leave in the order they entered. The PLC program was simple: a buffer with a sensor at each end. When a part entered the buffer, the PLC counted it. When a part left, it decremented. The logic assumed the buffer was a straight line — parts entered one end, left the other. But the buffer was a spiral (a rotary accumulator). Parts entered at the outside and left at the center. The PLC’s count did not track which part was which. A rework batch (loaded last) ended up being unloaded first — the system had no way to know. The customer had to quarantine a whole shift of product. The root cause was not a bad sensor. It was a FIFO logic that counted parts instead of tracking identity.

FIFO looks simple on paper. In practice, it fails when the buffer geometry or the logic does not match the physical flow. Here is how to get it right.

What FIFO Actually Requires

FIFO means: the first part to enter a queue is the first to leave. For this to be guaranteed, the system must know, for every part in the queue, when it entered. A simple count (increment on entry, decrement on exit) only works if the queue is a straight line and parts cannot overtake. If the queue is a spiral, a rotary table, or a multi-lane buffer, parts can overtake — and the count is meaningless.

For regulated industries, FIFO is not just throughput — it is traceability. A part that leaves out of order breaks the record. The rework batch that jumped the queue was a traceability violation, not just a throughput problem.

The FIFO rule: If the buffer geometry allows overtaking (spiral, rotary, multi-lane), a simple count is not FIFO. You must track each part’s identity (a barcode, a tag) and release in entry order. The spiral accumulator needed part tracking, not a counter.

Straight-Line FIFO: The Simple Case

When the buffer is a straight conveyor (parts enter at one end, leave at the other), a count works. The PLC increments when an entry sensor sees a part, decrements when an exit sensor sees one. As long as parts cannot overtake (single lane, no passing), the exit order equals the entry order. This is the simple case — and it is what most FIFO designs assume.

Spiral / Rotary FIFO: Track the Part

When the buffer is a spiral or rotary table, parts enter at the outside and wind toward the center. The first part to enter is the first to leave — but only if the mechanism is designed that way. A rotary accumulator that lets the operator choose which part to pick breaks FIFO. To guarantee it, you need:

  • A barcode (or RFID) on each part, scanned at entry.
  • The PLC stores the entry order (a queue in memory).
  • At exit, the system reads the barcode and verifies it is the next in the queue.
  • If the wrong part is presented, the system alarms (do not release it).

The rework batch that jumped the queue was not scanned. The system had no way to know which part was which. Adding a barcode scan at entry and exit fixed it — the system now verifies order.

Multi-Lane Buffers: The Pick-to-Light Case

A multi-lane buffer (several parallel lanes) is not FIFO by geometry. The operator (or robot) picks from whichever lane is convenient. To enforce FIFO, the system must direct the pick: a pick-to-light display shows which lane to take from, based on entry order. Without this, the fastest lane is picked first — not the oldest part.

A FIFO Verification Checklist

  1. Is the buffer a single straight lane (no overtaking)?
  2. If yes: count-based FIFO works (entry and exit sensors).
  3. If no (spiral, rotary, multi-lane): parts can overtake.
  4. Does the system track part identity (barcode/RFID)?
  5. Is the entry order stored in the PLC (a queue)?
  6. Does exit verify the part is next in the queue?
  7. What happens if the wrong part is presented (alarm or release)?
  8. Can the operator override the FIFO (and when)?
  9. Is the traceability record (entry time, exit time) saved?
  10. Test: load parts out of order, verify they release in entry order.

The Bottom Line

The rework batch that jumped the queue was a FIFO logic that counted parts instead of tracking them. Straight-line buffers can use a simple count. Spiral, rotary, or multi-lane buffers need identity tracking (barcode, queue in memory, verification at exit). The system that guaranteed FIFO was the one that knew which part was which — not just how many parts were in the buffer.