I'm reviewing our non-safety job handshake for sample verification with Universal Robots UR5e in a workshop inspection station awaiting commissioning, using a fixture-mounted bracket. The PLC sends a brief request, and our application sometimes misses it.
I can't find anything clear about who owns each signal or when it gets cleared. Safety functions are independently engineered; this is the ordinary job interface
@ZaraAbbott0047 Does your trace show when the PLC request is raised and cleared relative to application polls, including which side performs the clearing?
Take an ownership table and a retained-request proposal to the interface owner. A request held until matching acknowledgement should settle the handshake in an offline review.
You're right; my conclusion skipped necessary cases. Retaining the request addresses visibility, while identity, clearing ownership and restart behaviour must also be reviewed.
On my interface, both sides cleared acknowledgement for different reasons. Each program looked reasonable alone. Put them together and the answer vanished.
Our code also lets both sides clear the acknowledgement. I've identified the competing conditions and will bring them to the interface review for an explicit decision
@ElliotCarter1031 Use the interface's explicit definition. An acceptance acknowledgement is distinct from completion, so both meanings need separate representation if both are required.
Include missing acknowledgement and the documented recovery ownership. A timeout doesn't by itself justify submitting the work again, so that transition needs explicit treatment.