! IF nPresenceOrAbsence =2 OR nPresenceOrAbsence =3 THEN ! bSMPreOrAbs:=FALSE ;
! ELSEIF nPresenceOrAbsence =5 THEN ! bSMPreOrAbs:=TRUE ;
! IF di02_PhotoelectricSensor =1 THEN ! TPErase ;
! TPWrite \ picture there is a problem, Please check it!(2) \
! SystemStopAction \\Halt ;
! ELSEIF di02_PhotoelectricSensor =0 THEN ! reg2 :=0; ! ENDIF
! ELSEIF nPresenceOrAbsence =1 OR nPresenceOrAbsence =4 THEN
! TPErase ;
! TPWrite \ ! TPWrite \ ! Stop ; ! ENDIF
WaitTime 1;
IF di02_PhotoelectricSensor =1 THEN bSMPreOrAbs:=FALSE ; ELSE
bSMPreOrAbs:=TRUE ; ENDIF
Incr nCountX;
! TEST di16_giBCD ! CASE 1:
IF nCountX=6 THEN nCountX :=1; Incr nCountY;
IF nCountY=9 THEN nCountY :=1;
SystemStopAction \\Halt; ENDIF ENDIF
IF nCount =40 THEN nCount :=0; Incr nCountZ; nCountX:=1; nCountY:=1;
nInpos:=0;
IF reg2=0 THEN rZhanban ;
IF nCountZ=2 THEN rCompressorOutPos; nCountZ:=1; ENDIF ENDIF reg2:=0; ENDIF ! DEFAULT: ! TPErase ;
! TPWrite \check it \
! ENDTEST ENDWHILE ENDPROC
PROC rPick ()
! TEST di16_giBCD ! CASE 1:
IF nCountX=1 THEN
CompensationTwo:=CompensationA1; ELSE
CompensationTwo:=CompensationA2; ENDIF pPick:=Offs
(Pick,CompensationTwo{nCountX,1}+nX ,CompensationTwo{nCountY,2},CompensationTwo{nCountZ,3});
! CASE 2:
! pPick:=Offs
(Pick,CompensationTwo{nCountX,1}+nX ,CompensationTwo{nCountY,2},CompensationTwo{nCountZ,3});
! DEFAULT: ! TPErase ;
! TPWrite \it \
! ENDTEST WaitTime 0.2; nCamOut:=1; ! rServer;
! socketsend client_socket \\Str:=\
! socketReceive client_socket \\Str:=stReceived; ! XData:= StrPart(stReceived, 3, NumCharacters);
! YData:= StrPart(stReceived, NumCharacters, NumCharacters);
! AngleData:= StrPart(stReceived, 2*NumCharacters, NumCharacters); ! bOK:=StrToVal(XData,nXOffs); ! bOK:=StrToVal(YData,nYOffs);
! bOK:=StrToVal(AngleData,nAngleOffs); rAngle;
! ppPick :=RelTool (pPick,0,0,0\\Rz:= -nAngleOffs+nAngle);
ppPick :=RelTool (pPick,0,0,0\\Rz:= nAngle);
ConfL\\Off;
! MoveL Offs (ppPick,nXOffs ,nYOffs,120), vMinEmpty, fine , tGripper\\WObj:=WobjCompressor;
! MoveL Offs (ppPick,nXOffs ,nYOffs,0), v100, fine , tGripper\\WObj:=WobjCompressor;
MoveL Offs (ppPick,0 ,0,200), vMinEmpty, fine , tGripper\\WObj:=WobjCompressor;
MoveL Offs (ppPick,0 ,0,0), v100, fine , tGripper\\WObj:=WobjCompressor;
Reset do00_JawsOpen ; Set do01_JawsClose ;
WaitDI di00_JawsInClose,1; ! MoveL Offs
(ppPick,nXOffs,nYOffs,80),vMinLoad ,z10 ,tGripper\\WObj:=WobjCompressor ; ! MoveL Offs
(ppPick,nXOffs,nYOffs,400),vMaxLoad ,fine ,tGripper\\WObj:=WobjCompressor ;
MoveL Offs
(ppPick,0,0,80),vMinLoad ,z10 ,tGripper\\WObj:=WobjCompressor ; MoveL Offs
(ppPick,0,0,400),vMaxLoad ,fine ,tGripper\\WObj:=WobjCompressor ;
ConfL\\On; rPlace;
! TEST di16_giBCD ! CASE 1:
IF nCount =40 THEN nCount :=0; nCountX:=1; nCountY:=1; reg2:=0; nInpos:=0; rZhanban ;
IF nCountZ=2 THEN rCompressorOutPos; nCountZ:=1; ENDIF ENDIF ! DEFAULT: ! TPErase ;
! TPWrite \it \
! ENDTEST ENDPROC
PROC rPlace ()
MoveJ Offs (Place,0,0,200) ,vMaxLoad ,z40 , tGripper\\WObj:= WobjCompressor ;
Set do13_Placing;
Waitdi di06_AssemblyLineOK, 0;
MoveL Offs (Place,0,0,50) ,vMinLoad ,z5 , tGripper\\WObj:= WobjCompressor;
MoveL Place ,v100 ,fine , tGripper\\WObj:= WobjCompressor; Reset do01_JawsClose ; Set do00_JawsOpen ;
WaitDI di01_JawsInOpen ,1;
MoveL Offs (Place,0,0,300) ,vMinEmpty ,fine , tGripper\\WObj:= WobjCompressor;
Reset do13_Placing ; WaitTime 0.4;
Reset do00_JawsOpen ; ENDPROC
PROC rnXCal()
! TEST di16_giBCD ! CASE 1:
TEST nCount
CASE 1,2,3,4,5,11,12,13,14,15,21,22,23,24,25,31,32,33,34,35 : nX:=0;
CASE 6,7,8,9,10,16,17,18,19,20, 26,27,28,29,30,36,37,38,39,40 :
nX:=65; ENDTEST ! ENDTEST ENDPROC
PROC rAngle()
! TEST di16_giBCD ! CASE 1:
TEST nCount
CASE 1,2,3,4,5,11,12,13,14,15,21,22,23,24,25,31,32,33,34,35 : nAngle:=0;
CASE 6,7,8,9,10,16,17,18,19,20, 26,27,28,29,30,36,37,38,39,40 : nAngle:=180; ENDTEST ! ENDTEST ENDPROC
PROC rZhanban ()
nTotalPalletHigh:=nTotalPalletHigh+nPalletHigh; TEST nCountZ CASE 1:
PZhanban:=PZhanbanUp; nPalletHigh:=nPalletHighUp; CASE 2:
PZhanban:=PZhanbanDown; nPalletHigh:=nPalletHighDown; DEFAULT : TPErase ;
TPWrite \; ENDTEST
MoveJ Offs ( PZhanban,0,0,300) ,vBigMaxEmpty ,fine , tGripper \\WObj:= WobjCompressor ; Set do02_BigJaws1 ; WaitTime 0.6;
Set do03_BigJaws2;
WaitDI di08_BigJawsInOpen, 1;
MoveL PZhanban ,vMinEmpty ,fine , tGripper\\WObj:= WobjCompressor ;
WaitTime 0.5;
Reset do02_BigJaws1 ; Reset do03_BigJaws2 ; WaitTime 0.3;
WaitDI di08_BigJawsInOpen,1;
pActualpos:=CRobT(\\Tool:=tGripper\\WObj:=WobjCompressor1);