Hi Artem,
You have not explained what you are trying to achieve here. I understand you are frustrated that openpnp is not doing what you want, but it is difficult to help when we do not know what you want, or where you perceive there to be a gap.
I understand your situation is:
* You are using the openpnp test branch.
* You have a machine with 2 nozzles.
* You are running a job that needs at least 2 placements of one part.
* One nozzle picked the last part from a feeder, so now the feeder is empty.
* The second nozzle tried to pick a part, but of course there was nothing for it to pick
* You are using "Alert" error reporting mode.
* The machine is now stopped, alerting you that a vision check failed.
At this point you have several options:
Option A.
You restock the feeder (or a different feeder) with your next tape of that part.
Note that "Alert" error reporting mode means that openpnp will tell you about every problem, and expect you to fix it. Openpnp has done its part in telling you that bottom vision has found no part. Now you need to do your part; correct the situation so that bottom vision can succeed.
Openpnp will have automatically taken you to the Parts tab to make this easy. You press the feed and pick button (green circle) to put a part on the nozzle. Then resume the job (pink circle) to have openpnp redo the step which previously failed. This time bottom vision will succeed, and the job continues.
Option B
Maybe you dont want to restock that feeder right now. Maybe you are out of stock. In this case "Alert" error reporting is not for you, because you cant fix the errors that openpnp is showing you.
Toggle to "Defer" error reporting mode (blue circle). This means that openpnp will carry on running rather than alerting you to any errors. Then resume the job. In this case openpnp will place the good part on the first nozzle, and "clean" the other nozzle with a visit to the discard bin (you know the nozzle is empty, but openpnp cant be sure that there is no mispick stuck to the nozzle)
Option B.1.
You might want to manually disable the empty feeder. Openpnp will then go on to pick and place all other placements; "Defer" error reporting means that the machine is kept busy. When it has placed all that it can, the job ends and the error log shows a report of the parts which remain outstanding.
Option B.2.
If you don't manually disable the feeder, it will have 2 more attempts of feeding from this feeder which we know to be empty. After a total of 3 cycles where vision fails it will automatically disable the feeder anyway, then continue. Note that all of this happens with no message boxes.
I hope this helps,
Toby