FA-92182 / PLC ladder logic scan cycles / Member archive
FIFO done bit sets one entry before full · case 02
The upstream station is told the FIFO is full while one slot is still free.
Case contract
FIFO load (FFL) and unload (FFU) pair on one file of the given length. ops is a list of [op, value], one triggered instruction per scan. Load stores value at the position and increments it; when full (position == length) the load is ignored. Unload moves element 0 to dest, shifts the file toward 0 and zeroes the vacated last element; unloading an empty FIFO leaves dest unchanged. DN is position >= length and EM is position == 0. Return [position, dest, DN, EM, file] per scan.
Why this case matters
Ladder programs are executed as repeated scans; each defect here changes what a rung, timer, counter or data-table instruction reports on a particular scan, which is how commissioning and field faults are actually observed.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: single slot | [[1, 0, true, false, [4]], [1, 0, true, false, [4]], [0, 4, true, true, [0]], [1, 4, true, false, [8]]] | [[1, 0, true, false, [4]], [1, 0, true, false, [4]], [0, 4, false, true, [0]], [1, 4, true, false, [8]]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗