Which side owns the request now? Ask the PLC and application developers to walk through one request and its acknowledgement. A longer pulse alone leaves the ownership problem untouched.
Then define an acknowledged exchange with both developers. Include request identity, who clears each state, timeout and restart behaviour. Have them test the app missing several polls before commissioning.
Our operator used to press request again whenever nothing happened, which made troubleshooting twice as exciting. What will your screen say while a request is waiting, and who can decide what happens after a timeout?