简体中文界面。帖子、指南及政策正文保留原文;未对原文作自动翻译。

I cannot decide who should clear this job request

OwenBaker0486 · 2026年2月3日 06:19 UTC

已关闭
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 条回复

AL
AlexAli0211

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
DA
DavidCarter1041

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

19
OW
OwenBaker0486

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
KA
KaiBennett0715

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

10
JA
JasperChan1073

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

13
AL
AlexAli0211

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
OW
OwenBaker0486

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
KA
KaiBennett0715

What stops an old acknowledgement satisfying a new request?

25
DA
DavidCarter1041

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
JA
JasperChan1073

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

21
OW
OwenBaker0486

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

11
AL
AlexAli0211

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
OW
OwenBaker0486

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

5
KA
KaiBennett0715

Also reject a completion carrying the wrong job identity.

17
DA
DavidCarter1041

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

11
OW
OwenBaker0486

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
AL
AlexAli0211

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
JA
JasperChan1073

How did your delayed-receiver test go, Owen?

14
OW
OwenBaker0486

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
DA
DavidCarter1041

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

20

讨论已关闭

此讨论已连续六个月没有活动,现已关闭新回复。 最后活动: .