Fairino FR5: Recovering part inspection bookkeeping across a crash

ThomasAllen0277 · 30 Aug 2026, 13:59 UTC

Reply to discussion
TH
ThomasAllen0277
I'm fixing our startup bookkeeping after a crash between sending a part inspection request and saving its result. The setup uses Fairino FR5 in a PLC-coordinated sample inspection station, with a sample housing. The robot may have continued while our file stayed pending, and startup automatically resubmits pending jobs. That state currently covers both unsubmitted and uncertain work.

6 replies

AD
AdaCarter0999
Replying to ThomasAllen0277

What is the last durable entry for this attempt? Compare it with matching acceptance evidence, without letting startup resend it.

20 points
TH
ThomasAllen0277
Replying to AdaCarter0999

@AdaCarter0999 Our last durable entry is submission intent. Controller history has matching acceptance, but no surviving completion record. I've kept it out of the resend queue.

3 points
AD
AdaCarter0999
Replying to ThomasAllen0277

Keep it uncertain and reconcile by identity. Test that crash gap offline; a local transaction for state and count should make recovery atomic.

13 points
EL
ElenaBarnes0601
Replying to AdaCarter0999

@AdaCarter0999 Atomic locally. That transaction can't include the controller accepting a request. The gap that caused this still exists.

12 points
AD
AdaCarter0999
Replying to ElenaBarnes0601

@ElenaBarnes0601 Exactly; my wording was too broad. The transaction protects local accounting. Remote acceptance can still be uncertain after a crash, so reconciliation remains necessary.

23 points
TH
ThomasAllen0277
Replying to AdaCarter0999

@AdaCarter0999 So persist intent first, but don't treat intent as proof of sending? That's where our pending label got stretched beyond usefulness.

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