I have a pickmaster Vision application has follow:
One camera takes a picture of a group of pieces (this model is define in PM, we identify a group because the identification of all items in the group is impossible). I would like to be able to tell the robot to take a number of pick in this group (e.g. a container). My problem is that I need to alternate between 7 and 8 picks in the production (by the PLC)..The vision model will always look the same…but I want to choose to pick 7 or 8 picks from an output from a PLC.
IF diPLCPickSeven=1 THEN
FOR i FROM 1 TO 7 DO
SubPick i;
ENDFOR
ELSE
FOR i FROM 1 TO 8 DO
SubPick i;
ENDFOR
ENDIF
! Be sure the robot has finished before executing the following.
AckItemTgt ItemSourceData{index}, PickTarget, TRUE;
ENDPROC
Where SubPick is a procedure that picks the i-th item in the container.
Informations about the container are in PickTarget.
Probably the PLC must know which container is being manipulated by the robot.
Give use more details, please.
Maybe I forgot something, after each of the pick in the container, I need to place the part on another conveyor (acces to the procedure Place). I am a little bit confused about the Queue in the PickTarget…I need to pick an i-th object, and place it..and come back to the i-th+1 in the same container and again…
1st - Is the SubPick procedure are built in??? If not, what it will look like? Am I calling the Place procedure in the SubPick routine??? How can I acces the i-th iten in the container call the Proc PLACE and come back to take the following item???
2nd - I understant there is only ONE PickTarget for a container and all the position is in it?..Am I rigth? Note that the containner is defined in PickMaster has a single layer container. I will have to defined a 8 picks container and skip the 8th when the signal will be on?
3rd-Do you think I could use a multiple layer container..and skip the layer 7 or 8 when the signal is on..is this possible?
The idea of using a Supick procedure was just .. an idea. Probably I get you confused using the word “container”.
I understood that you recognize the group of objects on the conveyor as a single item. Honestly I’m not very familiar with the use of PM-containers for picking; I usually just define an item, and then I do all the work through RAPID code.
About the queues, the important thing to understand is that you get the first element in the queue with the “GetItmTgt” instruction, and you can work on it as long as you need (eventually do not work at all), until you aknowledge the item through the “AckItem” instruction or through the trigger “ItmSrcData{Index}.Ack” via TriggL. Working with two queues (one for picking and one for placing) makes you free to get pick and place items in the order you prefer. You don’t need to aknowledge a pick item for doing the place.
For example, without using containers, one pick item representing a group of objects to pick: