Hi JW,
> Hi Toby, fantastic - I've had a read through the issue discussion and added some comments in there
I will reply here, because I think what you describe is orthogonal to that PR.
Since forever, openpnp has had two "error reporting policies":
"Alert" is what I use during job setup. Any job error causes the job
to pause, and an error message is shown. It is the operator's
responsibility to correct the error. When resumed, the job repeats the
step which caused the error. So you will get the same error again if
nothing has been done to correct it. Openpnp conveniently auto-selects
rows in the feeder and parts table, to assist in your manual
correction of the problem.
On github JW wrote:
> on a multi-nozzle machine, if a vision op fails and the part is discarded, the job cannot proceed without discarding all of the other parts on the other nozzles, as attempting to resume the job throws "No part loaded on nozzle".
So I guess this scenario means you are using "Alert", and you are
getting an error message box during vision. You then manually discard
the part, which changes the error but does not correct it. Resuming
the job is redoing the failed vision step, but now it fails because
that nozzle is empty. The next step in this workflow, after *manually*
discarding the part, is to *manually* feed and pick its replacement.
Resuming the job will redo the vision step and this time it should be
successful.
NB since the user is forced to correct all errors, then at the end of
the job (if you get that far!) the panel will necessarily have 100%
placements completed.
The alternative "error reporting policy" is "Defer". This causes the
error to be logged only. On a multi-nozzle machine the non-errored
placements are placed, then the nozzles are cleaned by discarding the
errored placements. This is all automatic. At the end of the job it
output all the error messages into the log for a second time, and
reports that the job is finished but less than 100% complete. This is
good for keeping the machine working without waiting for operator
input. Since forever, these two error reporting policies have been a
per-placement setting. In version 2.3 we added the "bell" button to
toggle. My habit is to toggle onto "alert" (bell) when I am next to
the machine, and "defer" (no bell) when I walk away.
So let me re-answer your initial question:
>> is it possible to simply discard and try again?
Yes!
Since you are using the "alert" error reporting policy (bell) then you
need to manually discard the part, and manually re-pick a replacement.
Having the same done automatically in "defer" mode is PR 1891.