FA-91982 / PLC ladder logic scan cycles / Member archive
OSF pulses on every scan the input is off · case 02
The falling one-shot output stays on continuously instead of for one scan.
Case contract
One-shot rising (OSR) and one-shot falling (OSF) instructions executed in program order each scan; instrs is a list of [kind, input_tag, storage_tag] and scans a list of {tag: bool} (missing tags are false). Prescan initializes each OSR storage bit true and each OSF storage bit false (later instructions overwrite shared storage), so nothing pulses on the first scan merely because an input is already in its steady state. OSR pulses when input is true and storage false; OSF pulses when storage is true and input false; the storage bit is then set to the input. Instructions that share a storage tag share its state. Return the pulse list 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: falling edge train | [[false], [true], [true], [false], [true], [true]] | [[false], [true], [false], [false], [true], [false]] | 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 ↗