The application sometimes misses a brief PLC request for sample verification. This is the ordinary job interface, separate from the engineered safety functions. I need signal ownership and clearing conditions agreed; a longer pulse alone doesn't seem to answer those questions.
I've seen a timing adjustment conceal that disagreement until the next slow poll. Have both authors define a retained request, request-specific acceptance and completion, with one owner for each transition and explicit clearing, timeout and restart behaviour
The PLC currently clears on its timer, whether the application has accepted the request or not. Our notes just call it a request pulse. No acceptance identity is defined.
Is your immediate work agreeing the interface or implementing a change? Adding request identity and retained state may affect both programs, so I would keep the proposed behaviour and the implementation estimate distinct.
Will's distinction is useful. I would walk the proposed table through a delayed application poll and either side restarting before anyone treats a renamed signal as a repaired handshake
Agreement first. Controls owners are drafting the state table and identifying the changes each side needs. I have not described a held request or matching acceptance as implemented yet.
Keep cancellation and the treatment of an old retained request in that review too. A clear normal sequence still needs an agreed answer when the application returns after missing part of the exchange.