The bottle that was counted twice
Recover the right phase without counting a half-filled bottle.
Repair the fill/release recovery logic. State, Accepted, Rejected, FillValve, ConveyorOn and Done must remain correct through interruptions and competing conditions.
Every Pro challenge is free for a day when it comes round as the daily challenge.
Pro challengeResume cannot beat an active jam; Stop can end Held
Test 1 of 7StartInputONStopInputOFFJamInputOFFStateFilling phase10- Level
- Hard · 40 points
- Kind
- Find the fault
- Time
- About 45 min
- Pass rate
- New
- Machine
- 3D filling line
- Siemens
- SCL
- Rockwell
- Structured Text
- Beckhoff
- Structured Text
We cleared a jam and it restarted by itself. The group total included a bottle taken away half full. At the end we sometimes had fewer than three good bottles.
What the checks test
- Only completed bottles that leave the station increase Accepted.
- Jam/Hold wins over completion and needs Resume after clearing.
- A lost unfinished bottle increases Rejected exactly once; active Reset cannot erase totals.
The checks run 7 tests on the machine, scan by scan: Resume cannot beat an active jam; Stop can end Held; Count departures, not filled scans; complete three bottles; Jam beats completion and clearing it cannot resume; A bottle lost while held is rejected exactly once; A completed bottle leaving during Hold is counted on recovery; Stop wins; fresh Start is required after permission returns; Reset during filling cannot discard the bottle or totals.
Where you’d find this
While clearing a jam on a bottling line, an operator removes a half-filled bottle. The controller must remember what was cut short.
Counting a half-filled bottle as good sends short bottles down the line. A restart while someone clears the jam can move the line without warning.
How it should behave
- States and commands
- 0 = idle, 10 = feed, 20 = fill, 30 = held, 40 = release, 50 = complete. ConveyorOn is ON only in 10/40. FillValve is ON only in 20 with BottlePresent. Done is TRUE only in 50. Ordinary phase changes may use the complete previous or new command set on their entry scan, then must settle. Stop, permission loss, Jam and Hold remove both commands immediately. Never fill without BottlePresent.
- One transition
- A fresh Start edge enters 10 only with Permit, no Stop, no Jam and no Hold. In 10, BottlePresent enters 20. In 20, Volume >= 80 enters 40. Process only one phase transition per scan. A bottle must remain present to complete.
- Priority and hold
- Stop or lost Permit enters 0 immediately. Jam/Hold has priority over bottle loss and completion in active phases, enters 30 and remembers SavedPhase. Clearing the cause does nothing until Resume with Jam/Hold clear. Resume enters the saved phase for one scan before processing that phase again.
- Accepted and rejected
- In 40, BottlePresent FALSE increases Accepted exactly once and returns to 10; the third accepted departure enters 50. A bottle lost in fill or held-fill increases Rejected once. Held-fill then remembers feed and waits for Resume. A completed bottle removed during held-release is counted when the resumed release phase next runs.
- Reset / restart
- Start must be released and pressed again after Stop/Permit loss. Reset works only in 0/50 with Start released, no Stop and Permit TRUE: clear Accepted and Rejected and remain idle. Ignore Reset in active phases. Completion cannot be restarted with Start alone.
Use Run and Start. Try Jam at 80% and clear it without Resume: both commands stay OFF. Then use Inputs to hold BottlePresent FALSE while held during an unfinished fill. Rejected rises once, never Accepted. Replay each failed test to compare the saved phase and bottle totals.
More challenges
- The transfer that flooded the wash roomTwo levels, actuator feedback, a coasting motor and a latched trip.Hard · Find the fault
- The soak that never really happenedTemperature memory, a continuous soak and separate coolant flow.Hard · Find the fault
- E-stop wins, every timeStop at once, stay stopped, reset on purpose.Easy · Make it safe
- A broken wire must stop itNormally closed stop and overload contacts, the safe way round.Easy · Make it safe

