How Alternate Pick Number in container? [PickMaster 3]

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.

Can someone help me?

Regards,

Hi Nick.

Tell us something more. Like that it does not seem too difficult. Just write the Pick procedure like:

PROC Pick(num Index)
InCoordRout:=TRUE;
WObjPick:=ItmSrcData{Index}.Wobj;
GetItmTgt ItmSrcData{Index}.ItemSource,PickTarget;

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.

Bye
Claudio

Claudio,

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?

Thanks a lot,

Best regards,

Nick

Hi, Nick.

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:

  1. GetItmTgt in the pick queue
  2. Pick one object (just pick, do not ack)
  3. GetItmTgt in the place queue
  4. Place the object, and ack the place item.
  5. Go to step 2, for 7 or 8 times as needed.
  6. Acknowledge the pick item.
  7. Return to step 1.

Hope this will help.

Best regards.
Claudio

Claudio,

Thanks for your help, I’ve done something like you told me. I aknowledge the items I don’t want to pick.

Best Regards,

Nick