Our application misses a brief PLC inspection request; what should define ownership and clearing in this ordinary job interface? Safety functions are separate.
Then how can you distinguish a missed poll from an unlogged read? I would retain the pulse trace and capture application reads in an offline timing reproduction before calling the event a rejection or diagnosing its exact timing.
And what does acknowledgement mean in the current draft, Maya? The logging question is separate from whether the two sides agree that it means request received, accepted for work or inspection complete.
Anil Barnes, acknowledgement is undefined. Sam, both programs contain clearing logic. Those are confirmed draft problems, unlike the missed-read timing.
Give each signal one writer and define request-specific receipt, acceptance and completion separately where needed. Retain the request until the agreed exchange finishes, with explicit clearing rules.
Henry, that also needs timeout and restart behaviour, otherwise a retained request can return looking new after the receiver forgets the previous exchange. I would not reduce this to a longer pulse with a more impressive name.
Will the test reproduce slow polling independently from delayed acknowledgement, so you can tell whether the receiver never saw the request or saw it and was still deciding? Those are different observations even if the operator only sees waiting.
Use a controlled event sequence for those tests. Keep the real plate disposition separate from the simulated messages; the harness cannot recover what happened in the old unlogged interval.