First in, first out FIFO

Picks requests in the order they arrived.

TagAfter two scans
DockEN 1 SEL 2 VAL 1 ERR 0 RES 0

How it works

A true rung picks. A false rung picks nothing, but new requests still join the line and .SEL is 0.

How it's used

Use it to serve requests in the order they arrived.

TagValue
Bay1Call1
Bay2Call0
Bay3Call1
Pick1
DockEN 1 SEL 3 VAL 1 ERR 0 RES 0
NextBay3

Bay3 called first, then Bay1. The first pick goes to Bay3.

In practice

First come: picks requests in the order they arrived; the oldest waits until it is available.

Configuration

  • One rung per bay writes Dock.Bay1.REQ, and Dock.Bay1.RDY where the bay can take work; then XIC Dock.VAL with MOVE Dock.SEL to the destination.

Limits and status

  • .SEL is the 1-based candidate; 0 means none. .ERR holds the reason code.
  • Renaming a candidate renames its members everywhere.
  • Renaming the tag or changing its candidates starts the selection over.
  • Algorithms instructions are learning aids for deterministic selection. They are not safety-rated or certified, and they do not plan paths, avoid collisions or control motion. This is not a safety function.

Operands

OperandData typeRead or write
TagALGORITHMReads and writes

Common mistakes

  • Assuming an unavailable slot can be selectedKeep Request and Available separate. Inspect Valid and Reason before using Selected.