Most of the bugs I fight do not show during IO checkout or a careful first start. They show up at speed and during recovery. Debounce, glue gun timing, starve and block logic, and recipe swaps on legacy PLCs with flaky comms are where downtime is born.
Before I hand a line back, I run a 20-minute abuse test. Run at min speed, then max. Force a starve, then a block. Feed a scuffed carton to make the photoeye chatter. Drop and restore glue air. Yank and replug the legacy comms bridge. E-stop and guard open, then verify the reset path. Change size recipe mid-cycle. Create a controlled jam, clear it, and confirm the state machines and counters land in a sane place without poking bits.
This has caught more bad timers, unlatching alarms, and missing interlocks than any lengthy FAT. It is short, repeatable, and the operators can see the same playbook. What are your must-have validation steps before you call a packaging change “done,” especially on mixed old and new controls?