ABB机器人码垛程序Word下载.docx
《ABB机器人码垛程序Word下载.docx》由会员分享,可在线阅读,更多相关《ABB机器人码垛程序Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
![ABB机器人码垛程序Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/3/321456d0-7c79-4910-97b9-2b5e9bb5ff3a/321456d0-7c79-4910-97b9-2b5e9bb5ff3a1.gif)
IFtempint<
then
ClkStartCLK2;
ELSE
ClkStopCLK2;
ENDIF
Else
EndIF
Endproc
PROCInitAll()
MoveHome;
ResetDO10_1JiaZhua;
ResetDO10_2YaBan;
ResetDO10_3ZhuaOK;
ResetDO10_4MaDuoOK;
Waittime;
bPickPart:
=FALSE;
ClkResetCLK1;
ClkStartCLK1;
ClkResetCLK2;
MoveLOffs(pPick,0,0,400),vFast,z10,tGripper\WObj:
=wobj0;
PROCPickIF()
IFbPickPart=FALSEANDnJob<
>
0ANDDI10_1Product0K=1THEN
CalculatePick;
MoveJOffs(pPick,0,0,400),vFast,z200,tGripper\WObj:
MoveLDOOffs(pPick,0,0,100),vFast,z20,tool0\WObj:
=wobj0,DO10_1JiaZhua,1;
MoveLpPick,vFast,fine,tGripper\WObj:
Close1;
GripLoadLoadFull;
Accset50,50;
HandshakeIF;
=TRUE;
ConfL\Off;
MoveJpAfterPick,vFast,z60,tGripper\WObj:
PROCPlaceOF()
IFDI10_2TuoPanOK=1ANDbPickPart=TRUETHEN
CalculatePlace;
MoveLOffs(pOver,0,0,nOffsZ2),vFast,z200,tGripper;
IFbTag=truethen
Accset70,70;
MoveJpAbovePlace,vFast,z10,tGripper\WObj:
else
Accset90,90;
Endif
Accset100,100;
placefirstbox
MoveLOffs(pPlace1,nOffsX1,nOffsY1,nOffsZ1),vTurn,z10,tGripper\WObj:
MoveLpPlace1,vMiddle,fine,tGripper\WObj:
Open1;
MoveLOffs(pPlace1,0,0,nOffsZ1),vMiddle,z5,tGripper\WObj:
GripLoadLoadEmpty;
IncrnCount1;
HandshakeOF;
MoveJpAbovePick,vFast,z200,tGripper\WObj:
MoveJpHome,vFast,z200,tGripper;
PROCHandshakeIF()
IFnJob=1THEN
SetDO10_3ZhuaOK;
IFnJob=2THEN
PROCHandshakeOF()
IF(nCount1=40andnJob=1)or(nCount1=80andnJob=2)THEN
SetDO10_4MaDuoOK;
WaitDIDI10_2TuoPanOK,0;
SetDO\SDelay:
=,DO10_4MaDuoOK,0;
nCount1:
=0;
ClkStopCLK1;
nCycleCount:
=ClkRead(CLK1);
Waitingtime:
=ClkRead(CLK2);
TPWrite"
Cycletime:
"
\Num:
=nCycleCount;
WaitingtimeinthisCycle:
=Waitingtime;
PROCMoveHome()
TempP1:
=CRobT(\Tool:
=tool0\WObj:
=wobj0);
;
MoveJTempP1,v1000,z20,tGripper;
MoveJpHome,v1000,z20,tGripper;
PROCReadType()
IFnPriority=1ANDDI10_1Product0K=1THEN
nJob:
=1;
IncrnPriority;
ELSEIFnPriority=2ANDDI10_1Product0K=1THEN
=2;
IncrnPriority;
IFnPriority>
2nPriority:
PROCOpen1()
waittime;
WaittimenTimeGripper;
PROCClose1()
SetDO10_1JiaZhua;
WaitDIDI10_4Zhua1End,1;
SetDO10_2YaBan;
WaitDIDI10_6Zhua2End,1;
PROCCalculatePick()
IFnJob=1THEN
pPick:
=pPick1;
ELSEIFnJob=2THEN
ENDIF
pAbovePick:
=pPick;
pAfterPick:
Pattern80;
CalculatePlace()
nBagL:
=nBag50L;
nBagW:
=nBag50W;
nBagH:
=nBag50H;
=nBag25L;
=nBag25W;
=nBag25H;
Pattern100;
pAbovePlace:
=pPlace1;
pAfterPlace:
=pAbovePlace;
PROCPattern80()
bTag:
TESTnCount1+1
CASE1:
pPlace1:
=pBase180;
2:
=pBase0;
3:
=pBase90;
4:
5:
CASE6:
7:
8:
=pBase270;
9:
10:
11:
CASE12:
13:
14:
15:
CASE16:
17:
18:
19:
20:
21:
CASE22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
CASE32:
33:
34:
35:
36:
37:
38:
39:
40:
DEFAULT:
ErrWrite"
WrongboxCount..."
"
SingleboxmustbethelastoneofaPallet"
Stop;
EXIT;
ENDTEST
PROCPattern100()
=p25Base270;
=p25Base0;
=p25Base90;
=p25Base180;
12:
CASE14:
16:
CASE30:
32:
CASE38:
41:
42:
43:
44:
45:
CASE46:
47:
48:
49:
50:
51:
52:
53:
CASE54:
55:
56:
57:
58:
59:
60:
61:
CASE62:
63:
64:
65:
66:
67:
68:
69:
CASE70:
71:
72:
73:
74:
75:
76:
77:
CASE78:
79:
80:
ENDMODULE