2024年4月22日发(作者:束代容)
MODULE MainMoudle
PERS tooldata
tGripper:=[TRUE,[[0,0,160],[1,0,0,0]],[1,[1,0,1],[1,0,0,0],0,0,0]];
PERS robtarget
pHome:=[[1518.,0,],[0,0,1,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PERS robtarget
pPick:=[[,,],[0,,1,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PERS robtarget
pPlaceBase:=[[,,],[0,,1,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PERS robtarget
pPlace:=[[,,],[0,,1,0],[1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09
]];
PERS robtarget
pActualPos:=[[1505,0,],[,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9
E+09,9E+09]];
PERS bool bPalletFull:=TRUE;
PERS num nCount:=1;
PROC Main()
rInitAll;
WHILE TRUE DO
IF bPalletFull=FALSE THEN
rPick;
rPlace;
ELSE
WaitTime ;
ENDIF
ENDWHILE
ENDPROC
PROC rInitAll()
pActualPos:=CRobT(tool:=tGripper);
MoveL
pActualPos,v500,fine,tGripperWObj:=wobj0;
MoveJ pHome,v500,fine,tGripperWObj:=wobj0;
bPalletFull:=FALSE;
nCount:=1;
Reset doGripper;
ENDPROC
PROC rPick()
MoveJ
Offs(pPick,0,0,300),v2000,z50,tGripperWObj:=wobj0;
WaitDI diBoxInPos,1;
MoveL pPick,v500,fine,tGripperWObj:=wobj0;
Set doGripper;
WaitDI diVacuumOK,1;
MoveL
Offs(pPick,0,0,300),v500,z50,tGripperWObj:=wobj0;
ENDPROC
PROC rPlace()
rPosition;
MoveJ
Offs(pPlace,0,0,300),v2000,z50,tGripperWObj:=wobj0;
MoveL pPlace,v500,fine,tGripperWObj:=wobj0;
Reset doGripper;
WaitDI diVacuumOK,0;
MoveL
Offs(pPlace,0,0,300),v500,z50,tGripperWObj:=wobj0;
rPlaceRD;
ENDPROC
PROC rPlaceRD()
Incr nCount;
IF nCount>=11 THEN
nCount:=1;
bPalletFull:=TRUE;
MoveJ pHome,v1000,fine,tGripperWObj:=wobj0;
ENDIF
ENDPROC
PROC rPosition()
TEST nCount
CASE 1:
pPlace:=RelTool(pPlaceBase,0,0,0Rz:=0);
CASE 2:
pPlace:=RelTool(pPlaceBase,-600,0,0Rz:=0);
CASE 3:
pPlace:=RelTool(pPlaceBase,100,-500,0Rz:=90);
CASE 4:
pPlace:=RelTool(pPlaceBase,-300,-500,0Rz:=90);
CASE 5:
pPlace:=RelTool(pPlaceBase,-700,-500,0Rz:=90);
CASE 6:
pPlace:=RelTool(pPlaceBase,100,-100,-250Rz:=90);
CASE 7:
pPlace:=RelTool(pPlaceBase,-300,-100,-250Rz:=90);
CASE 8:
pPlace:=RelTool(pPlaceBase,-700,-100,-250Rz:=90);
CASE 9:
pPlace:=RelTool(pPlaceBase,0,-600,-250Rz:=0);
CASE 10:
pPlace:=RelTool(pPlaceBase,-600,-600,-250Rz:=0);
DEFAULT:
Stop;
ENDTEST
ENDPROC
PROC rModify()
MoveL pHome,v1000,fine,tGripperWObj:=wobj0;
MoveL pPick,v1000,fine,tGripperWObj:=wobj0;
MoveL pPlaceBase,v1000,fine,tGripperWObj:=wobj0;
ENDPROC
ENDMODULE
精心搜集整
理,只为你的需要
2024年4月22日发(作者:束代容)
MODULE MainMoudle
PERS tooldata
tGripper:=[TRUE,[[0,0,160],[1,0,0,0]],[1,[1,0,1],[1,0,0,0],0,0,0]];
PERS robtarget
pHome:=[[1518.,0,],[0,0,1,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PERS robtarget
pPick:=[[,,],[0,,1,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PERS robtarget
pPlaceBase:=[[,,],[0,,1,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PERS robtarget
pPlace:=[[,,],[0,,1,0],[1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09
]];
PERS robtarget
pActualPos:=[[1505,0,],[,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9
E+09,9E+09]];
PERS bool bPalletFull:=TRUE;
PERS num nCount:=1;
PROC Main()
rInitAll;
WHILE TRUE DO
IF bPalletFull=FALSE THEN
rPick;
rPlace;
ELSE
WaitTime ;
ENDIF
ENDWHILE
ENDPROC
PROC rInitAll()
pActualPos:=CRobT(tool:=tGripper);
MoveL
pActualPos,v500,fine,tGripperWObj:=wobj0;
MoveJ pHome,v500,fine,tGripperWObj:=wobj0;
bPalletFull:=FALSE;
nCount:=1;
Reset doGripper;
ENDPROC
PROC rPick()
MoveJ
Offs(pPick,0,0,300),v2000,z50,tGripperWObj:=wobj0;
WaitDI diBoxInPos,1;
MoveL pPick,v500,fine,tGripperWObj:=wobj0;
Set doGripper;
WaitDI diVacuumOK,1;
MoveL
Offs(pPick,0,0,300),v500,z50,tGripperWObj:=wobj0;
ENDPROC
PROC rPlace()
rPosition;
MoveJ
Offs(pPlace,0,0,300),v2000,z50,tGripperWObj:=wobj0;
MoveL pPlace,v500,fine,tGripperWObj:=wobj0;
Reset doGripper;
WaitDI diVacuumOK,0;
MoveL
Offs(pPlace,0,0,300),v500,z50,tGripperWObj:=wobj0;
rPlaceRD;
ENDPROC
PROC rPlaceRD()
Incr nCount;
IF nCount>=11 THEN
nCount:=1;
bPalletFull:=TRUE;
MoveJ pHome,v1000,fine,tGripperWObj:=wobj0;
ENDIF
ENDPROC
PROC rPosition()
TEST nCount
CASE 1:
pPlace:=RelTool(pPlaceBase,0,0,0Rz:=0);
CASE 2:
pPlace:=RelTool(pPlaceBase,-600,0,0Rz:=0);
CASE 3:
pPlace:=RelTool(pPlaceBase,100,-500,0Rz:=90);
CASE 4:
pPlace:=RelTool(pPlaceBase,-300,-500,0Rz:=90);
CASE 5:
pPlace:=RelTool(pPlaceBase,-700,-500,0Rz:=90);
CASE 6:
pPlace:=RelTool(pPlaceBase,100,-100,-250Rz:=90);
CASE 7:
pPlace:=RelTool(pPlaceBase,-300,-100,-250Rz:=90);
CASE 8:
pPlace:=RelTool(pPlaceBase,-700,-100,-250Rz:=90);
CASE 9:
pPlace:=RelTool(pPlaceBase,0,-600,-250Rz:=0);
CASE 10:
pPlace:=RelTool(pPlaceBase,-600,-600,-250Rz:=0);
DEFAULT:
Stop;
ENDTEST
ENDPROC
PROC rModify()
MoveL pHome,v1000,fine,tGripperWObj:=wobj0;
MoveL pPick,v1000,fine,tGripperWObj:=wobj0;
MoveL pPlaceBase,v1000,fine,tGripperWObj:=wobj0;
ENDPROC
ENDMODULE
精心搜集整
理,只为你的需要