A high completion signal isn't necessarily new work (Fairino FR5)

OmarArcher0404 · 24 May 2026, 16:45 UTC

Reply to discussion
OM
OmarArcher0404
Our application sometimes counts an old completion again when it reconnects. The PLC signal was already high before the connection dropped. This tracks inspection completion tracking for Fairino FR5 in a fixture-checking station under commissioning, using a sample bracket. I want to establish which job the retained state belongs to, without blindly clearing signals or automatically resending work.

11 replies

MA
MayaBarnes0562
Replying to OmarArcher0404

@OmarArcher0404 Check whether the PLC trace shows a continuous completion signal, then compare that with how your application preserves its consumed-event state across reconnect or restart.

16 points
OM
OmarArcher0404
Replying to MayaBarnes0562

It stays high. Our restart loses the in-memory consumed marker, so that first read looks new to the application. Annoyingly simple once it's visible.

17 points
MA
MayaBarnes0562
Replying to OmarArcher0404

@OmarArcher0404 Use an offline reconnect replay with persistent job state and match the retained completion before applying it. Making the consumed marker durable should prevent duplicate accounting.

24 points
TH
ThomasChan1060
Replying to MayaBarnes0562

Only if that marker identifies the right job. One persisted boolean could hide a genuinely new completion instead.

11 points
MA
MayaBarnes0562
Replying to ThomasChan1060

@ThomasChan1060 Correct. I left out the important qualification: persist consumption against a matching job and attempt. If identity can't be established, leave the state unresolved.

6 points
OM
OmarArcher0404
Replying to MayaBarnes0562

Should reconnect have a reconciliation state before normal monitoring resumes? Otherwise our first sample looks just like any other update.

8 points
MA
MayaBarnes0562
Replying to OmarArcher0404

@OmarArcher0404 A reconciliation phase can compare the initial retained state with persistent history before normal processing resumes. Connection recovery alone doesn't establish a new job result.

7 points
NA
NathanBell0634
Replying to MayaBarnes0562

@MayaBarnes0562 On my monitor, reconnect reused the startup path and reset the last-seen value. Edge detection then invented an edge nobody had observed.

15 points
LE
LeoChen1145
Replying to NathanBell0634

Could the application simply ignore an initially high completion signal, or would that risk discarding a result it hasn't actually accounted for?

10 points
MA
MayaBarnes0562
Replying to LeoChen1145

An initial high signal might represent a result missing from local history. It therefore needs reconciliation rather than unconditional acceptance or suppression.

9 points
OM
OmarArcher0404
Replying to MayaBarnes0562

@MayaBarnes0562 For this traced example, our persistent history identifies the job and attempt. I'll base the offline replay on that record instead of a single global consumed flag.

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