Our application sometimes misses the PLC's brief request for sample verification.
I'm reviewing that ordinary, non-safety handshake for Fairino FR10 in a training inspection cell with an ordinary job interface, with a sample housing in the setup.
Signal ownership and clearing conditions aren't clearly documented.
The safety functions are independently engineered and separate from this job interface.
@ImranCarter1001 Does your trace show when the PLC request is raised and cleared relative to application polls, including which side performs the clearing?
I've compared the trace: the PLC raises and clears the request between consecutive application polls, with no observed acknowledgement before it clears.
Draft one writer and clear conditions for each field, then review a request retained until matching acknowledgement with the interface owner. That should settle the handshake offline.
You're right; my conclusion skipped necessary cases. Retaining the request addresses visibility, while identity, clearing ownership and restart behaviour must also be reviewed.
@AdaAdams0129 Should I record readers as well as the single writer? Our existing phrase used by PLC doesn't distinguish setting, reading or clearing a field.
Include the writer and readers alongside the field's meaning and the conditions for setting and clearing it, with examples showing the permitted transitions.
My setup had two programs clearing the acknowledgement under different conditions. Reviewing them together exposed a conflict that wasn't apparent from either program in isolation.
I've checked our assignments and found that too: both sides can clear acknowledgement. I'll put both conditions in the review rather than quietly choose one.
@BenAllen0283 Use the interface's explicit definition. An acceptance acknowledgement is distinct from completion, so both meanings need separate representation if both are required.
I'll distinguish request acceptance from job completion in our review, so an accepted request with a delayed result can't appear completed just because it was acknowledged.
@RachelBrooks0870 I haven't established reliable request and acknowledgement behaviour for our interface. Finding the missed transient doesn't complete that design.