When our monitor reconnects, a completion signal retained from before the outage can be treated as a new completion.
We're tracking fixture-check bookkeeping with Fairino FR10 in a PLC-coordinated inspection bench, using an inspection coupon.
I'm trying to reconcile the signal with its job, without automatic resubmission or simply clearing the retained state.
@RebeccaBrooks0865 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.
The trace confirms completion remains asserted through the outage. Our application loses its consumed marker on restart, causing the first read to be interpreted as a fresh completion.
@RebeccaBrooks0865 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.
@LeoBell0623 You're right about the missing identity condition. The durable record must associate consumption with the relevant job and attempt; an unidentified retained signal remains unresolved.
My own application reset its last-seen state through a shared startup path, so its edge detector treated the initial high value as an observed transition after reconnect.
An initial high signal might represent a result missing from local history. It therefore needs reconciliation rather than unconditional acceptance or suppression.
@RebeccaBrooks0865 Can you link the retained PLC state to those local identifiers? Having job identity in your history doesn't establish which job the current signal represents.
@LeoBell0623 The retained state in this capture includes a job identity matching our durable record. I haven't verified equivalent identity support across the other interface variants.
Keep the replay claim limited to that identifiable case. Treat interfaces without a defensible match as unresolved, even if their completion bit looks familiar.
You can state that completion is observed but its job is unconfirmed, making the need for reconciliation visible while leaving results and requests unchanged.
@NoraBell0670 I'll distinguish the observation from the accounting decision in our expected replay results, so reading completion doesn't automatically credit a particular attempt.