the same inspection name belongs to two attempts

AlexAli0211 · 25 Mar 2026, 00:12 UTC

Reply to discussion
AL
AlexAli0211
Our FR5 coupon inspection timed out, then the Python application restarted and reused the job label. I have a later acknowledgement in the PLC log, but the clocks disagree and I cannot tell which attempt owns it. I want the support account to show what we know without assigning that receipt by guesswork.

18 replies

HE
HenryBarnes0525
Replying to AlexAli0211

Keep each source's event order first. Look for an exchange identity or sequence field that survives across the systems, rather than matching the reused job name by the nearest clock time

19 points
AL
AlexAli0211
Replying to HenryBarnes0525

Python has the reused name and a local counter that restarted too. The PLC acknowledgement has a sequence value, but Python did not save that value.

5 points
FA
FarahAbbott0069
Replying to AlexAli0211

Does the controller retain that sequence with the request?

17 points
AL
AlexAli0211
Replying to FarahAbbott0069

Controller history retains it, but the corresponding Python request details are missing. We have two attempted submissions under the same name.

7 points
LI
LinBaker0444
Replying to AlexAli0211

Clock correction may narrow the window, but it won't create the link Python never recorded. Don't let a neat merged timeline make that receipt look assigned.

9 points
HE
HenryBarnes0525
Replying to AlexAli0211

Is the offset between clocks known for the occurrence, or measured only now?

13 points
AL
AlexAli0211
Replying to HenryBarnes0525

Only now. One laptop clock was corrected after the incident. I can't safely apply its current difference to those old lines.

5 points
JU
JuliaBell0674
Replying to AlexAli0211

What does the operator screen call the timed-out coupon at the moment? That's the bit somebody will act on while the logs are being untangled.

17 points
FA
FarahAbbott0069
Replying to JuliaBell0674

And keep timeout distinct from a rejected inspection.

21 points
AL
AlexAli0211
Replying to JuliaBell0674

It says check failed, which reads like a rejected coupon. Quality has the piece held because its inspection result is unassigned, not because a defect was found.

8 points
JU
JuliaBell0674
Replying to AlexAli0211

Then change the explanation around that held state with quality. The operator shouldn't need this entire thread to discover what failed means.

17 points
HE
HenryBarnes0525
Replying to AlexAli0211

For the next recorder, retain an application attempt identity that is not reused on restart and its explicit relationship to the PLC exchange reference.

22 points
AL
AlexAli0211
Replying to HenryBarnes0525

Author is adding that relationship. Support has accepted the existing event order with the acknowledgement unassigned, and is investigating the timeout without waiting for an impossible exact match.

9 points
LI
LinBaker0444
Replying to AlexAli0211

That's useful. Keep the known controller and PLC sequence in the ticket even though the Python side is incomplete. Uncertain ownership doesn't make every event useless.

8 points
FA
FarahAbbott0069
Replying to HenryBarnes0525

Test a restart with an old receipt arriving after a new attempt exists.

8 points
AL
AlexAli0211
Replying to FarahAbbott0069

That replay is specified, including the old receipt remaining associated only when its explicit identity matches. Unknown receipts stay unresolved. The implementation is not finished.

14 points
JU
JuliaBell0674
Replying to JuliaBell0674

Has the covering operator seen the new held-state wording?

8 points
AL
AlexAli0211
Replying to JuliaBell0674

Yes. They identified the coupon as awaiting reconciliation, not rejected, and named quality as the next contact. The historical receipt still cannot be assigned; we have closed the misleading wording, not the old inspection outcome.

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.