Place another type then needed? [PickMaster 3]

Hi,

We have a line with 2 infeed conveyors and 1 outfeed conveyor. We will use a container on the outfeed conveyor to create a pattern of 3 Items 1 (from infeed conveyor #1, Type 1) and 3 Items 2 (from infeed conveyor #2, Type 2). The result on the outfeed conveyor will be: 1-1-1-2-2-2-1-1-1..etc equaly spaced. We check the item type first to pick. We pick what the outfeed conveyor needs. All works fine.

When we are in end of production, we need to fill ALL the positions in the outfeed conveyor. As an example, if the infeed conveyor #1 is empty, we need to fill the positions of Items A in the container by Items B.

Does anyone knows how to modify the type of product to place in the container??? E.G. How can we fill a position of Item 1 by an Item of position 2? We have acces to a signal from the PLC to tell us to do this…

Best Regards,

Nick

Nick,

Simply modify the logic so that instead of checking item first to pick simply revert to default logic (simple pick & place) whenever the digital input is set to high/low.

PROC PickPlaceSeq()

IF diRevertFromPLC = 0 THEN

..

your current logic goes here

..

ELSE

..

Pick PickIndex{1};

Place PlaceIndex{1};

Pick PickIndex{2};

Place PlaceIndex {1};

..

ENDIF

Good Luck, Erik

Erik,

thanksfor your help, it works fine.

Nick

Nick,

Another suggestion how to fill the container with any available products (infeed1 or infeed2) during the end of production phase.

PROC PickPlaceSeq()
VAR num nPickType;
VAR bool bTimeOut;

IF diEndProduction = 0 THEN
NextItmTgtType ItmSrcData{PlaceIndex{1}}.ItemSource,nPickType;
IF nPickType=1 THEN
Pick PickIndex{1};
ELSE
Pick PickIndex{2};
ENDIF
ELSE
nPickType:=0;
WHILE nPickType=0 DO
GetItmTgt ItmSrcData{PickIndex{1}}.ItemSource,PickTargetMaxTime:=0.1 TimeFlag:=bTimeOut;
IF bTimeOut=TRUE THEN
GetItmTgt ItmSrcData{PickIndex{2}}.ItemSource,PickTargetMaxTime:=0.1 TimeFlag:=bTimeOut;
IF bTimeOut=FALSE THEN
nPickType:=2;
AckItmTgt ItmSrcData{PickIndex{2}}.ItemSource,PickTarget,FALSE;
ENDIF
ELSE
nPickType:=1;
AckItmTgt ItmSrcData{PickIndex{1}}.ItemSource,PickTarget,FALSE;
ENDIF
ENDWHILE
Pick PickIndex{nPickType};
Place PlaceIndex{1};
ENDIF
ENDPROC