Who owns clearing the job handshake? (part inspection)

AdaAllen0303 · 3 Jun 2026, 04:36 UTC

Reply to discussion
AD
AdaAllen0303
I'm reviewing our non-safety job handshake for part inspection with Fairino FR5 in a training inspection cell with an ordinary job interface, using a sample housing. The PLC sends a brief request, and our application sometimes misses it. I can't find anything clear about who owns each signal or when it gets cleared. Safety functions are independently engineered; this is the ordinary job interface.

21 replies

LI
LinBennett0705
Replying to AdaAllen0303

Can you compare the request trace with your application's polls? Also note which side clears the request.

9 points
AD
AdaAllen0303
Replying to LinBennett0705

Our trace shows it rising and falling between two polls. The PLC clears it without an observed acknowledgement. No wonder the application misses it.

17 points
LI
LinBennett0705
Replying to AdaAllen0303

@AdaAllen0303 Take an ownership table and a retained-request proposal to the interface owner. A request held until matching acknowledgement should settle the handshake in an offline review.

14 points
OS
OscarBaker0445
Replying to LinBennett0705

@LinBennett0705 Holding the request addresses the missed pulse, but it doesn't settle the interface. A retained request needs identity and restart rules to avoid being mistaken for new work.

21 points
LI
LinBennett0705
Replying to OscarBaker0445

Yes, I overstated that. Retention addresses the missed pulse. The offline review also needs matching identity, reset ownership and restart cases before the design is complete.

11 points
AD
AdaAllen0303
Replying to LinBennett0705

Would your table include who reads each field too? Our notes say used by PLC, which could mean practically anything.

5 points
LI
LinBennett0705
Replying to AdaAllen0303

@AdaAllen0303 Yes: writer, readers, meaning, set condition and clear condition. Then give each legal transition a concrete example.

5 points
EL
EllaArcher0381
Replying to LinBennett0705

@LinBennett0705 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.

9 points
AD
AdaAllen0303
Replying to EllaArcher0381

Our code also lets both sides clear the acknowledgement. I've identified the competing conditions and will bring them to the interface review for an explicit decision.

3 points
OS
OscarBaker0445
Replying to AdaAllen0303

@AdaAllen0303 Good. Renaming the field won't remove the second writer. The agreed ownership needs to match both programs.

20 points
NA
NadiaBennett0726
Replying to LinBennett0705

@LinBennett0705 Does the acknowledgement indicate that inspection is complete, or might it only mean the request was accepted?

21 points
LI
LinBennett0705
Replying to NadiaBennett0726

That depends on the defined interface. If it means accepted, completion needs a separate event. Don't make readers infer which meaning you intended.

9 points
AD
AdaAllen0303
Replying to LinBennett0705

@LinBennett0705 Our review will distinguish accepted from completed. I want a delayed result to look delayed, not mysteriously finished because a request was seen.

-1 points
EL
EllaArcher0381
Replying to AdaAllen0303

@AdaAllen0303 A step-by-step example from idle to acceptance and completion, showing each field's value, can reveal missing transitions in the proposed interface.

3 points
NA
NadiaBennett0726
Replying to EllaArcher0381

@EllaArcher0381 Should the offline review also follow a request that receives no acknowledgement, rather than only the successful sequence?

7 points
LI
LinBennett0705
Replying to NadiaBennett0726

@NadiaBennett0726 Yes. Show timeout as an unresolved exchange, with the defined owner responsible for recovery. Don't turn absence of acknowledgement into an automatic resend rule.

12 points
AD
AdaAllen0303
Replying to LinBennett0705

I'll add that case to our offline examples. The missing pulse and a retained but unanswered request need different descriptions.

3 points
OS
OscarBaker0445
Replying to AdaAllen0303

What if acknowledgement belongs to an older request? Holding bits longer won't answer that.

21 points
LI
LinBennett0705
Replying to OscarBaker0445

@OscarBaker0445 Add it as a mismatched-identity case. The interface owner needs to define how the supported exchange links a response to its request.

4 points
AD
AdaAllen0303
Replying to LinBennett0705

@LinBennett0705 I've answered why this request can be missed: our trace shows it entirely between polls. I'll treat the handshake fix as complete only after the interface owner reviews ownership and the relevant offline transitions.

-2 points

Add to the discussion

Welcome to Application Robot

Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.

Forgot your password?

By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.