I'm reviewing a coupon-check interface where the PLC briefly raises request and then clears it on a timer. Our application sometimes reads before and after the pulse, with nothing in between. Neither side has a clear acknowledgement rule. This is ordinary job messaging, separate from the cell's safety controls.
Agree who writes each signal and what acknowledged means. Retain the request and its identity until that agreed response, then test a delayed application. Include restart and cancellation in the clearing rules.
Controls and software are writing that exchange together. The current PLC clears without evidence the app accepted the request. We've withdrawn the proposed longer pulse as the final fix and are defining the retained request instead.