I cannot decide who should clear this job request

OwenBaker0486 · 3 Feb 2026, 06:19 UTC

Closed
OW
OwenBaker0486
Our FR10 training application misses a brief PLC request, and the two example programs disagree about who clears it, so I need one sensible ownership scheme for the ordinary job interface (the safety controls are separate)

21 replies

AL
AlexAli0211
Replying to OwenBaker0486

Our teaching example had both ends clearing the same flag. Looked fine until the app was delayed. We gave each end its own output and wrote down the return-to-idle exchange before changing either program.

2 points
DA
DavidCarter1041
Replying to OwenBaker0486

A longer pulse might hide this for a while, but which program would you blame when the next delay is longer?

19 points
OW
OwenBaker0486
Replying to DavidCarter1041

That is exactly the argument here, David, because one example calls it a pulse and the other waits for a level that the PLC has already removed

0 points
KA
KaiBennett0715
Replying to OwenBaker0486

Choose one protocol. Mixing examples leaves both ends waiting for events the other never promised.

10 points
JA
JasperChan1073
Replying to OwenBaker0486

Who teaches the restart case? I'd want that in the exercise too. Students will close the app at the least convenient moment.

13 points
AL
AlexAli0211
Replying to JasperChan1073

Jasper, that was our missing page. We had beautiful arrows for success and nothing for a job interrupted halfway through. Tutor had to decide what happened, not just make the arrows start again.

5 points
OW
OwenBaker0486
Replying to KaiBennett0715

I have drawn PLC-owned request and application-owned acknowledgement, with the request held until the matching acknowledgement, then each owner clearing its own signal in order

9 points
KA
KaiBennett0715
Replying to OwenBaker0486

What stops an old acknowledgement satisfying a new request?

25 points
DA
DavidCarter1041
Replying to KaiBennett0715

Kai's point is why I dislike diagrams with only high and low lines and no job identity, though you still have to specify the sequence even with an identity.

18 points
JA
JasperChan1073
Replying to OwenBaker0486

And please don't label acknowledgement 'finished'. Receipt and finished work are very different things for the person waiting with the next housing.

21 points
OW
OwenBaker0486
Replying to JasperChan1073

The label actually was 'done', Jasper, although the app raises it on receipt, so that is one small bit of confusion found already

11 points
AL
AlexAli0211
Replying to OwenBaker0486

I'd rename it before the lesson. You can teach a complicated exchange, but teaching people to ignore what the label says is a pain.

6 points
OW
OwenBaker0486
Replying to AlexAli0211

Renamed to request accepted on the draft, with a separate completion result, and Kai's stale-acknowledgement case is on the test list

5 points
KA
KaiBennett0715
Replying to OwenBaker0486

Also reject a completion carrying the wrong job identity.

17 points
DA
DavidCarter1041
Replying to OwenBaker0486

Do you need a queue at all, Owen, or can this exercise permit only one outstanding job?

11 points
OW
OwenBaker0486
Replying to DavidCarter1041

Only one, which is enough for passing a housing through the exercise, and a second request should get a clear busy response instead of disappearing

17 points
AL
AlexAli0211
Replying to OwenBaker0486

We tested ours without motion first. Delayed the receiver, repeated a request, and restarted it while an acknowledgement was outstanding. The repeated request was the embarrassing one: our first version started a second job after we'd already accepted the first. Making the job identity explicit helped us say which repeat was a duplicate and which was actually new work. It also gave the tutor something better than 'don't press it twice'.

12 points
JA
JasperChan1073
Replying to OwenBaker0486

How did your delayed-receiver test go, Owen?

14 points
OW
OwenBaker0486
Replying to JasperChan1073

The revised simulator retained the request through a delayed poll and accepted it once, then our duplicate and wrong-identity tests stayed out of the execution path; restart now reports an interrupted job for tutor review

12 points
DA
DavidCarter1041
Replying to OwenBaker0486

That is a much better lesson than making the pulse longer and hoping nobody notices.

20 points

Discussion closed

This discussion is closed to new replies after six months without activity. Last activity: .