1、ENDPROCPROC clock2re()!tempint:=movstat;IF DI10_1Product0K = 0 or DI10_2TuoPanOK = 0 Then IF tempint0.25 thenClkStart CLK2;ELSEClkStop CLK2;ENDIFElseEndIFEndprocPROC InitAll()MoveHome;Reset DO10_1JiaZhua;Reset DO10_2YaBan;Reset DO10_3ZhuaOK;Reset DO10_4MaDuoOK;Waittime 0.5;bPickPart:=FALSE;ClkReset
2、CLK1;ClkStart CLK1;ClkReset CLK2;MoveL Offs(pPick,0,0,400), vFast, z10, tGripperWObj:=wobj0; ENDPROCPROC PickIF()IF bPickPart = FALSE AND nJob 0 AND DI10_1Product0K = 1 THENCalculatePick;MoveJ Offs(pPick,0,0,400), vFast, z200, tGripperWObj:tool0WObj:=wobj0,MoveLDO Offs(pPick,0,0,100), vFast, z20, DO
3、10_1JiaZhua, 1;MoveL pPick, vFast, fine, tGripperWObj:Close1;GripLoad LoadFull;Accset 50,50;HandshakeIF;=TRUE;ConfLOff;MoveJ pAfterPick, vFast, z60, tGripperWObj:PROC PlaceOF()IF DI10_2TuoPanOK = 1 AND bPickPart = TRUE THEN CalculatePlace;MoveL Offs(pOver,0,0,nOffsZ2), vFast, z200, tGripper;IF bTag=
4、true thenAccset 70, 70;MoveJ pAbovePlace, vFast, z10, tGripperWObj:elseAccset 90, 90;EndifAccset 100,100; place first boxMoveLOffs(pPlace1,nOffsX1,nOffsY1,nOffsZ1),vTurn,z10,tGripperWObj:MoveL pPlace1, vMiddle, fine, tGripperWObj:Open1;MoveL Offs(pPlace1,0,0,nOffsZ1),vMiddle,z5,tGripperWObj:GripLoad
5、 LoadEmpty; bPickPart:Incr nCount1;HandshakeOF;MoveJ pAbovePick, vFast, z200, tGripperWObj: !MoveJ pHome, vFast, z200, tGripper;PROC HandshakeIF()IF nJob=1 THENSet DO10_3ZhuaOK;IF nJob=2 THENPROC HandshakeOF()IF (nCount1=40 and nJob =1) or (nCount1=80 and nJob =2) THEN Set DO10_4MaDuoOK;WaitDI DI10_
6、2TuoPanOK, 0; SetDOSDelay:=0.5,DO10_4MaDuoOK,0;nCount1:=0;ClkStop CLK1; nCycleCount:=ClkRead(CLK1);Waitingtime:=ClkRead(CLK2);TPWrite Cycle time: Num:=nCycleCount;Waiting time in this Cycle:=Waitingtime;PROC MoveHome()TempP1:=CRobT(Tool:=tool0 WObj:=wobj0);TempP1.trans.z:=500 ; MoveJ TempP1, v1000,
7、z20, tGripper;MoveJ pHome, v1000, z20, tGripper;PROC ReadType()IF nPriority = 1 AND DI10_1Product0K = 1 THEN !nJob:=1; Incr nPriority;ELSEIF nPriority = 2 AND DI10_1Product0K = 1 THEN !=2;Incr nPriority;IF nPriority2 nPriority:ENDIF ENDPROCPROC Open1()Waittime 0.0;waittime 0.1;Waittime nTimeGripper;
8、PROC Close1()Set DO10_1JiaZhua;WaitDI DI10_4Zhua1End, 1;Set DO10_2YaBan;WaitDI DI10_6Zhua2End, 1;PROC CalculatePick()IF nJob = 1 THEN pPick:=pPick1;ELSEIF nJob = 2 THEN pPick:pAbovePick:=pPick;pAfterPick:Pattern80;pAbovePick.trans.z:= pAfterPick.trans.z;pAbovePick.trans.y:= pAfterPick.trans.y-500;pA
9、fterPick.trans.y:PROC CalculatePlace()IF nJob = 1 THEN nBagL:=nBag50L; nBagW:=nBag50W; nBagH:=nBag50H; Pattern80;ELSEIF nJob = 2 THEN nBagL:=nBag25L;=nBag25W;=nBag25H; Pattern100;pAbovePlace:=pPlace1; pAfterPlace:=pAbovePlace;PROC Pattern80() bTag:TEST nCount1+1CASE 1:pPlace1:=pBase180;pPlace1.trans
10、.x:=pPlace1.trans.x;pPlace1.trans.y:=pPlace1.trans.y;pPlace1.trans.z:=pPlace1.trans.z;nOffsX1:nOffsY1:nOffsZ1:=500;nOffsZ2:=-500;nLevel:bTwice:pAfterPick.trans.z:=pPick.trans.z+400;pAbovePlace.trans.z: bTag:=True;CASE 2:=pBase0;=nBagH*1.2;CASE 3:=pBase90; pPlace1.trans.y:=pPlace1.trans.y+25; pAfterPick.trans.z: pAbovePlace: pAbovePlace.trans.z:CASE 4: pPlace1.trans.x:=pPlace1.trans.x+2*nBagW; pPlace1.trans.z:=pPlace1.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1