My FR10 transfer helper saves the destination pocket after release. In an interrupted test, the block arrived but the save didn't. Restart offered that occupied pocket again.
The saved index cannot tell you whether the physical placement happened. Give the recovery design an explicit uncertain-transfer case. Don't automatically repeat placement when confirmation is missing.
Yes, as a record of intent. It still needs reconciliation with the part, tool and tray state. Test interruptions before and after each action and save in an offline model before implementing the cell recovery.
How does it handle a tray replacement while a reservation is outstanding? The same pocket number can belong to a different physical tray when the program comes back.
Include the operator's reconciliation result in the design too. Clearing a warning alone should not quietly turn an uncertain placement into a completed one.