How do I untangle who sets and clears each signal? (fixture inspection)

AmyBarnes0554 · 4 Sept 2026, 04:21 UTC

Reply to discussion
AM
AmyBarnes0554
I'm reviewing our non-safety job handshake for fixture inspection with Universal Robots UR5e in a sample-checking cell with separate safety controls, 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.

14 replies

NA
NathanChan1069
Replying to AmyBarnes0554

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

19 points
AM
AmyBarnes0554
Replying to NathanChan1069

I've compared the trace: the PLC raises and clears the request between consecutive application polls, with no observed acknowledgement before it clears.

0 points
NA
NathanChan1069
Replying to AmyBarnes0554

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

9 points
HA
HarishCarter1011
Replying to NathanChan1069

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.

-4 points
NA
NathanChan1069
Replying to HarishCarter1011

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

21 points
AM
AmyBarnes0554
Replying to NathanChan1069

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.

6 points
NA
NathanChan1069
Replying to AmyBarnes0554

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

16 points
WI
WillBrooks0835
Replying to NathanChan1069

On my interface, both sides cleared acknowledgement for different reasons. Each program looked reasonable alone. Put them together and the answer vanished.

22 points
AM
AmyBarnes0554
Replying to WillBrooks0835

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

12 points
HA
HarishCarter1011
Replying to AmyBarnes0554

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

17 points
SO
SofiaBennett0717
Replying to NathanChan1069

@NathanChan1069 Is acknowledgement basically done? Or can the PLC get it while inspection is still running?

20 points
NA
NathanChan1069
Replying to SofiaBennett0717

@SofiaBennett0717 Use the interface's explicit definition. An acceptance acknowledgement is distinct from completion, so both meanings need separate representation if both are required.

5 points
AM
AmyBarnes0554
Replying to NathanChan1069

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

6 points
WI
WillBrooks0835
Replying to AmyBarnes0554

Walk one example slowly from idle through acceptance and completion. It's amazing what a plain list of field values exposes.

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