During our UR5e inspection-interface review I found the PLC request can rise and fall between application polls. Neither side's notes say who waits for whom. This is the ordinary job handshake, separate from the engineered safety functions. Where would you put a shared description so the next maintainer does not inherit two contradictory comments?
Who owns the request bit in the actual programs, and what currently makes that owner clear it? A shared table helps only when those answers are agreed.
PLC writes it. Its timer clears it whether the application has seen it or not. The application comment calls it a held request, so the two authors clearly had different ideas.
Get those authors around one state table with ownership, acknowledgement and clearing conditions, then walk through a delayed poll and either side restarting; otherwise they'll just write nicer contradictory comments.