Where should request ownership be written down? (sample verification)

NinaBennett0762 · 21 Jul 2026, 10:21 UTC

Reply to discussion
NI
NinaBennett0762
I'm reviewing our non-safety job handshake for sample verification with Fairino FR10 in a training inspection cell with an ordinary job interface, using a reference plate. 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

HA
HassanBrown0878
Replying to NinaBennett0762

Does your trace show when the PLC request is raised and cleared relative to application polls, including which side performs the clearing?

12 points
NI
NinaBennett0762
Replying to HassanBrown0878

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

12 points
HA
HassanBrown0878
Replying to NinaBennett0762

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.

15 points
HA
HassanBarnes0530
Replying to HassanBrown0878

@HassanBrown0878 Settle it? Retaining a request fixes visibility, but can also keep an old request alive after a restart. Identity and reset rules matter.

9 points
HA
HassanBrown0878
Replying to HassanBarnes0530

You're right; my conclusion skipped necessary cases. Retaining the request addresses visibility, while identity, clearing ownership and restart behaviour must also be reviewed.

14 points
NI
NinaBennett0762
Replying to HassanBrown0878

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

18 points
HA
HassanBrown0878
Replying to NinaBennett0762

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

12 points
EL
EllaArcher0381
Replying to HassanBrown0878

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.

14 points
NI
NinaBennett0762
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.

22 points
HA
HassanBarnes0530
Replying to NinaBennett0762

Make sure the ownership decision is reflected in both programs; a clearer table or field name alone won't eliminate the conflicting assignment.

17 points
JO
JoBrown0940
Replying to HassanBrown0878

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

12 points
HA
HassanBrown0878
Replying to JoBrown0940

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

6 points
NI
NinaBennett0762
Replying to HassanBrown0878

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

16 points
EL
EllaArcher0381
Replying to NinaBennett0762

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

20 points
JO
JoBrown0940
Replying to EllaArcher0381

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

15 points
HA
HassanBrown0878
Replying to JoBrown0940

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

25 points
NI
NinaBennett0762
Replying to HassanBrown0878

Our offline review will include a retained request without acknowledgement, keeping it distinct from the transient request the application never observed.

20 points
HA
HassanBarnes0530
Replying to NinaBennett0762

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

5 points
HA
HassanBrown0878
Replying to HassanBarnes0530

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

14 points
NI
NinaBennett0762
Replying to HassanBrown0878

@HassanBrown0878 The missed pulse is explained, and I've got an ownership review to work from. Our complete handshake behaviour is still open.

18 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.