《ABB机器人码垛程序3126.docx》由会员分享,可在线阅读,更多相关《ABB机器人码垛程序3126.docx(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MODULE MainModulePROC Maain()TPErasee;TPReadNNum nCCount11, Qiing Shhu Ru Yi Maa Bao Shu! ;TPReadNNum nJJob, Qing Shu RRu Mo Shi:550KG:=1,25KKG:=2!;InitAlll;WHILE TTRUE DDOReadTyppe;clock2rre;PickIF;clock2rre;PlaceOFF;ENDWHILLEENDPROCCPROC cllock2rre()!tempinnt:=moovstatt; IIF DI110_1Prroductt0K = 0
2、 orr DI110_2TuuoPanOOK = 00 ThennIF temppint00.25 tthenClkStarrt CLKK2;ELSEClkStopp CLK22;ENDIFElseClkStopp CLK22;EndIFEndproccPROC InnitAlll()MoveHomme;Reset DDO10_11JiaZhhua;Reset DDO10_22YaBann;Reset DDO10_33ZhuaOOK;Reset DDO10_44MaDuooOK;Waittimme 0.55;bPickPaart:=FFALSE;ClkReseet CLKK1;ClkStarr
3、t CLKK1;ClkReseet CLKK2;MoveL OOffs(ppPick,0,0,4400), vFastt, z100, tGrripperrWObjj:=wobbj0;ENDPROCCPROC PiickIF()IF bPiickParrt = FFALSE AND nnJob 0 AAND DII10_1PProducct0K = 1 THHEN!CalcullatePiick;MoveJ OOffs(ppPick,0,0,4400), vFastt, z2000, tGGrippeerWObbj:=woobj0;!MoveLDDO Offfs(pPiick,0,0,1000
4、), vFFast, z20, tool00WObjj:=wobbj0, DDO10_11JiaZhhua, 11;MoveL ppPick, vFasst, fiine, ttGrippperWOObj:=wwobj0;Close1;GripLoaad LoaadFulll;Accset 50,500;HandshaakeIF;bPickPaart:=TTRUE;ConfLOOff;MoveJ ppAfterrPick, vFasst, z660, tGGrippeerWObbj:=woobj0;ENDIFENDPROCCPROC PllaceOFF()IF DI100_2TuooPanOK
5、K = 1 AND bbPickPPart = TRUEE THENNCalculaatePlaace;ConfLOOff;!MoveL Offs(pOverr,0,0,nOffssZ2), vFastt, z2000, tGGrippeer;IF bTaag=truue theenAccseet 70, 70;MoveJJ pAboovePlaace, vvFast, z10, tGriipperWObj:=wobjj0;elseAccset 90, 990; MoveeJ pAbbovePllace, vFastt, z100, tGrripperrWObjj:=wobbj0; Endif
6、fAccset 100,1100;! placee firsst boxxConfLOOff;!MoveL Offs(pPlacce1,nOOffsX11,nOfffsY1,nnOffsZZ1),vTTurn,zz10,tGGrippeerWObbj:=woobj0;MoveL ppPlacee1, vMMiddlee, finne, tGGrippeerWObbj:=woobj0;Open1;ConfLOOff;MoveL OOffs(ppPlacee1,0,00,nOfffsZ1),vMidddle,z55,tGriipperWObj:=wobjj0;GripLoaad LoaadEmpt
7、ty;Accset 100,1100;bPickPaart:=FFALSE;Incr nCCount11;HandshaakeOF;MoveJ ppAboveePick, vFasst, z2200, ttGrippperWOObj:=wwobj0;MoveL OOffs(ppPick,0,0,4400), vFastt, z100, tGrripperrWObjj:=wobbj0;!MoveJ pHomee, vFaast, zz200, tGrippper;ENDIFENDPROCCPROC HaandshaakeIF()IF nJobb=1 THHEN!Set DOO10_3ZZhuaO
8、KK;ENDIFIF nJobb=2 THHEN!Set DOO10_3ZZhuaOKK;ENDIFENDPROCCPROC HaandshaakeOF()IF (nCCount11=40 aand nJJob =11) or (nCouunt1=880 andd nJobb =2) THENSet DO110_4MaaDuoOKK;WaitDI DI10_2TuoPPanOK, 0;SetDOSSDelayy:=0.55,DO100_4MaDDuoOK,0;nCount11:=0;ClkStopp CLK11;ClkStopp CLK22;TPErasee;nCycleCCount:=Clk
9、RRead(CCLK1);Waitinggtime:=ClkRRead(CCLK2);TPWritee Cyccle tiime: Num:=nCyccleCouunt;TPWritee Waiiting time in thhis Cyycle: Numm:=Waiitingttime;ClkReseet CLKK2;ClkReseet CLKK1;ClkStarrt CLKK1;ENDIFENDPROCCPROC MooveHomme()TempPP1:=CRRobT(Tool:=tooll0 WOObj:=wwobj0);TempPP1.traans.z:=500 ; MoveeJ Te
10、mmpP1, v10000, z200, tGrripperr;MoveJ ppHome, v10000, z220, tGGrippeer;ENDPROCCPROC ReeadTyppe()IF nPriiorityy = 1 AND DDI10_11Produuct0K = 1 THEN!nJob:=1;! Incr nPrioority;ELSEIF nPrioority = 2 AAND DII10_1PProducct0K = 1 TTHEN!nJob:=2;!Incr nnPriorrity;ELSE!nJob:=0;!Incr nnPriorrity;!IF nPrrioritt
11、y2 nnPriorrity:=1;ENDIFENDPROCCPROC Oppen1()Reset DDO10_22YaBann;Waittimme 0.00;Reset DDO10_11JiaZhhua;waittimme 0.11;!Waittiime nTTimeGrripperr;ENDPROCCPROC Cllose1()Set DO110_1JiiaZhuaa;Waittimme 0.00;WaitDI DI10_4Zhuaa1End, 1;Set DO110_2YaaBan;Waittimme 0.00;!Waittiime nTTimeGrripperr;WaitDI DI10
12、_4Zhuaa1End, 1;!WaitDII DI100_6Zhuua2Endd, 1;ENDPROCCPROC CaalculaatePicck()IF nJobb = 1 THENpPick:=pPickk1;ELSEIF nJob = 2 TTHENpPick:=pPickk1;ENDIF!pAboveePick:=pPicck;!pAfterrPick:=pPicck;!Patterrn80;!pAboveePick.transs.z:= pAfteerPickk.tranns.z;!pAboveePick.transs.y:= pAfteerPickk.tranns.y-5500;
13、!pAfterrPick.transs.y:= pAfteerPickk.tranns.y-5500;ENDPROCCPROC CaalculaatePlaace()IF nJobb = 1 THENnBagL:=nBag550L;nBagW:=nBag550W;nBagH:=nBag550H;Patternn80;ELSEIF nJob = 2 TTHENnBagL:=nBag225L;nBagW:=nBag225W;nBagH:=nBag225H;Patternn100;ENDIF!pAboveePlacee:=pPllace1;pAfterPPlace:=pAboovePlaace;EN
14、DPROCCPROC Paatternn80()bTag:=FFALSE;TEST nCCount11+1CASE 1:pPlace11:=pBaase1800;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=5000;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPP
15、ick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;bTag:=TTrue;CASE 2:pPlace11:=pBaase0;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLe
16、vel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 3:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;n
17、OffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 4:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx+2*nBBagW;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns
18、.z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 5:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx+nBaggW;pPlace11.t
19、ranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+20;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;!Layer22 CASE 6:pPlace11:=pBaase
20、1800;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+nBaggL-5;pPlace11.tranns.z:=pPlacce1.trrans.zz+nBaggH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.
21、transs.z:=ppPick.transs.z+4000;CASE 7:pPlace11:=pBaase0;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+nBaggL-5;pPlace11.tranns.z:=pPlacce1.trrans.zz+nBaggH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick
22、.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 8:pPlace11:=pBaase2700;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwic
23、e:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 9:pPlace11:=pBaase2700;pPlace11.tranns.x:=pPlacce1.trrans.xx+2*nBBagW-225;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;n
24、OffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=2;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 100:pPlace11:=pBaase2700;pPlace11.tranns.x:=pPlacce1.trrans.xx+nBaggW;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.
25、z:=pPlacce1.trrans.zz;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=2;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;!Layer33CASE 111:pPlace11:=pBaase1800;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace
26、11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;bTag:=TTrue;CASE 122:pPla
27、ce11:=pBaase0;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlac
28、e.transs.z:=ppPick.transs.z+4000;CASE 133:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPic
29、k.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 144:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx+2*nBBagW;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:
30、=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 155:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx+nBaggW;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBa
31、gH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-5000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;!layer44 CASEE 16:pPlace11:=pBaase1800;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlac
32、ce1.trrans.yy+nBaggL-5;pPlace11.tranns.z:=pPlacce1.trrans.zz+3*nBBagH+880;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 177:pPlace11:=pBaase0;pPl
33、ace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+nBaggL-5;pPlace11.tranns.z:=pPlacce1.trrans.zz+3*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs
34、.z:=ppPick.transs.z+4000;CASE 188:pPlace11:=pBaase2700;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.
35、z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 199:pPlace11:=pBaase2700;pPlace11.tranns.x:=pPlacce1.trrans.xx+2*nBBagW-225;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000
36、;nLevel:=2;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;CASE 200:pPlace11:=pBaase2700;pPlace11.tranns.x:=pPlacce1.trrans.xx+nBaggW;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+2*nBBagH;nOff
37、sX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=2;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4000;!layer55CASE 211:pPlace11:=pBaase1800;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trra
38、ns.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+4*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+5000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+5000;bTag:=TTrue;CASE 222:pPlace11:=pBaase0;pPlace11.tra
39、nns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy;pPlace11.tranns.z:=pPlacce1.trrans.zz+4*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+5000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.
40、z+5000;CASE 233:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+4*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+5000;pAbovePPla
41、ce:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+5000;CASE 244:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx+2*nBBagW;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+4*nBBagH;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=F
42、ALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+5000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+5000;CASE 255:pPlace11:=pBaase90;pPlace11.tranns.x:=pPlacce1.trrans.xx+nBaggW;pPlace11.tranns.y:=pPlacce1.trrans.yy+25;pPlace11.tranns.z:=pPlacce1.trrans.zz+4*nBBagH;nOffsX11:=0;nOffsY11:=0
43、;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-3000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+5000;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+5000;!layer66CASE 266:pPlace11:=pBaase1800;pPlace11.tranns.x:=pPlacce1.trrans.xx;pPlace11.tranns.y:=pPlacce1.trrans.yy+nBaggL-5;pPla
44、ce11.tranns.z:=pPlacce1.trrans.zz+5*nBBagH-550;nOffsX11:=0;nOffsY11:=0;nOffsZ11:=nBaagH*1.2;nOffsZ22:=-1000;nLevel:=1;bTwice:=FALSSE;pAfterPPick.ttrans.z:=pPPick.ttrans.z+4500+nBaggH;pAbovePPlace:=pPlaace1;pAbovePPlace.transs.z:=ppPick.transs.z+4550+nBaagH;CASE 277:pPlace11:=pBaase0;pPlace11.tranns.x:=pPlacce1.