First in, first out FIFO
Picks requests in the order they arrived.
SEL2 · Bay2
Cands3
VAL1
| Tag | After two scans |
|---|---|
| Dock | EN 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.
Global.Bay1CallXIC
Global.Dock.Bay1.REQOTE
Global.Bay2CallXIC
Global.Dock.Bay2.REQOTE
Global.Bay3CallXIC
Global.Dock.Bay3.REQOTE
Global.PickXIC
SEL3 · Bay3
Cands3
VAL1
Global.Dock.VALXIC
Source3
Dest3
| Tag | Value |
|---|---|
| Bay1Call | 1 |
| Bay2Call | 0 |
| Bay3Call | 1 |
| Pick | 1 |
| Dock | EN 1 SEL 3 VAL 1 ERR 0 RES 0 |
| NextBay | 3 |
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
| Operand | Data type | Read or write |
|---|---|---|
| Tag | ALGORITHM | Reads and writes |
Common mistakes
- Assuming an unavailable slot can be selectedKeep Request and Available separate. Inspect Valid and Reason before using Selected.