ABB机器人程序.docx
- 文档编号:14324559
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:25
- 大小:17.31KB
ABB机器人程序.docx
《ABB机器人程序.docx》由会员分享,可在线阅读,更多相关《ABB机器人程序.docx(25页珍藏版)》请在冰点文库上搜索。
ABB机器人程序
ABB机器人程序
MODULEVanta_pallet
VARintnumintno1:
=0;
CONSTrobtargetpHome40:
=[[,,],[,,,],[0,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpmid:
=[[,,],[,,,],[-2,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpmid10:
=[[,,],[,,,],[-2,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpmid20:
=[[,,],[,,,],[-1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpmid30:
=[[,,],[,,,],[-1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait12:
=[[,,],[,,,],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait22:
=[[,,],[,,,],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait13:
=[[,,],[,,,],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpttt100:
=[[,,],[,,,],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpPrePlace11:
=[[,,],[,,,],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetp11:
=[[,,],[,,,],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetp21:
=[[,,],[,,,],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetp31:
=[[,,],[,,,],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait10:
=[[,,],[,,,],[-2,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait14:
=[[,,],[,,,],[0,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait20:
=[[,,],[,,,],[-2,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait21:
=[[,,],[,,,],[-2,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait30:
=[[,,],[,,,],[-2,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait31:
=[[,,],[,,,],[-2,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpWait32:
=[[,,],[,,,],[-2,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait10:
=[[,,],[,,,],[0,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait11:
=[[,,],[,,,],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait20:
=[[,,],[,,,],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait21:
=[[,,],[,,,],[-1,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait30:
=[[,,],[,,,],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait31:
=[[,,],[,,,],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetwait23:
=[[,,],[,,,],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VARnumspeed1:
=30;
CONSTrobtargetpWait15:
=[[,,],[,,,],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PROCMain()
SpeedRefresh40;
MotionSup\On\TuneValue:
=250;
VelSet30,1500;
rInitAll;
AccSet40,40;
TPReadNumcount1,"place1numis";
TPReadNumcount2,"place2numis";
TPReadNumcount3,"place3numis";
rEjectPal;
WaitUntildi04_RqPick1=0ORdi06_p2=1ORdi05_p1=1;
IFdi04_RqPick1=0THEN
MoveJwait10,vMaxEmpty,z15,tGripper;
ELSEIFdi05_p1=1THEN
MoveJwait20,vMaxEmpty,z15,tGripper;
ELSEIFdi06_p2=1THEN
MoveJwait30,vMaxEmpty,z15,tGripper;
ENDIF
WHILETRUEDO
ClkResetclock1;
ClkStartclock1;
!
IFbLoadOnGriper=FALSETHEN
rPickPart;
!
ENDIF
!
IFbLoadOnGriper=TRUETHEN
!
rPlacePart;
!
ENDIF
ClkStopclock1;
TPWrite"CT"\Num:
=ClkRead(clock1);
!
Stop;
ENDWHILE
ENDPROC
PROCrInitAll()
rMoveHome;
ClampOpen;
ClkStopTimer;
ClkResetTimer;
ConfJ\off;
ConfL\off;
nInput:
=0;
!
ncode
nPassword:
=0;
nCycleTime:
=0;
VelSet90,5000;
AccSet90,90;
ENDPROC
PROCrEjectPal()
IFcount1>=9THEN
count1:
=0;
PulseDO\PLength:
=,do06_FullPallet1;
ENDIF
IFcount2>=9THEN
count2:
=0;
PulseDO\PLength:
=,do05_RdyPick2;
ENDIF
IFcount3>=9THEN
count3:
=0;
PulseDO\PLength:
=,do04_RdyPick1;
ENDIF
ENDPROC
PROCrPickPart()
WaitUntildi05_p1=1ORdi06_p2=1ORdi04_RqPick1=0;
IFdi04_RqPick1=0THEN
rPickPart1;
ELSEIFdi05_p1=1THEN
rPickPart2;
ELSEIFdi06_p2=1THEN
rPickPart3;
ENDIF
ENDPROC
PROCrPickPart1()
MoveJpWait1,vMidEmpty,z15,tGripper\WObj:
=WPick_1;
MoveJOffs(pPick1_1,0,0,0),vMidEmpty,z15,tGripper\WObj:
=WPick_1;
WaitTime2;
ClampClose;
WaitTime2;
ConfL\Off;
MoveLOffs(pPick1_1,0,100-200,nBoxH1*,vMidLoad,fine,tGripper\WObj:
=WPick_1;
GripLoadLoadBox;
!
WaitTime;
GripLoadLoadBox;
MoveLOffs(pPick1_1,200-1200,-368,500),vMaxLoad,z50,tGripper\WObj:
=WPick_1;
bLoadOnGriper:
=TRUE;
COU1;
IFjiou=0THEN
rPlace1;
ELSEIFjiou=1THEN
rPlace3;
ENDIF
ENDPROC
PROCrPickPart2()
MoveJpWait2,vMidEmpty,z20,tGripper\WObj:
=WPick_2;
Wait;
MoveLOffs(pPick2_1,0,0,0),vMidEmpty,z10,tGripper\WObj:
=WPick_2;
WaitTime2;
ClampClose;
WaitTime2;
ConfL\Off;
MoveLOffs(pPick2_1,0,0,nBoxH1*2),vMidLoad,z10,tGripper\WObj:
=WPick_2;
GripLoadLoadBox;
MoveLOffs(pPick2_1,-500,-1500,600),vMaxLoad,z10,tGripper\WObj:
=WPick_2;
bLoadOnGriper:
=TRUE;
COU2;
rPlace2;
ENDPROC
PROCrPickPart3()
MoveJpWait3,vMidEmpty,z50,tGripper\WObj:
=WPick_3;
Wait;
MoveLOffs(pPick3_1,0,0,0),vMidEmpty,z50,tGripper\WObj:
=WPick_3;
WaitTime2;
ClampClose;
WaitTime2;
ConfL\Off;
ConfJ\Off;
MoveLOffs(pPick3_1,0,0,-nBoxH1*3),vMidEmpty,z15,tGripper\WObj:
=WPick_3;
MoveJOffs(pPick3_1,-900,-1800,-600),vMaxLoad,z100,tGripper\WObj:
=WPick_3;
bLoadOnGriper:
=TRUE;
COU3;
rPlace3;
ENDPROC
PROCWait()
WaitDIdi11_Clamp_close,1;
WaitDIdi16_up,0;
ENDPROC
PROCGripperOpen()
Setdo15;
Setdo16;
ENDPROC
PROCGripperClose()
Resetdo12;
Resetdo15;
Resetdo14_GripperDown;
Resetdo09;
Setdo11_GripperClose;
Setdo08;
Setdo13;
Setdo07;
PulseDO\PLength:
=,do07;
ENDPROC
PROCGripperDown()
Resetdo07;
ENDPROC
PROCGripperUp()
Resetdo12;
!
DIWaitdi07_GripperUp,1,3,"CylinderGripperUp","Upsidesensor->1";
ENDPROC
PROCClampOpen()
Resetdo12;
Resetdo07;
Resetdo13;
Resetdo09;
Setdo11_GripperClose;
Setdo08;
ENDPROC
PROCClampOpen1()
Resetdo12;
Resetdo13;
Setdo11_GripperClose;
ENDPROC
PROCClampOpen2()
Resetdo07;
Resetdo09;
Setdo08;
ENDPROC
PROCClampClose()
Setdo12;
Setdo13;
WaitTime1;
Resetdo15;
Resetdo16;
ENDPROC
PROCrMoveHome()
VARstringHomeOffset;
CONSTnumMinX:
=-50;
CONSTnumMaxX:
=50;
CONSTnumMinY:
=-50;
CONSTnumMaxY:
=50;
CONSTnumMinZ:
=-50;
CONSTnumMaxZ:
=50;
VelSet100,500;
IFbCurrentPos(pHome,tGripper)=FALSETHEN
!
Ifnoknownpositionisfound,checkiftherobotisinaspecified
!
windowandmovehimtothefirstpositionintheprogram
ActualPos:
=CRobT(\Tool:
=tGripper\WObj:
=wobj0);
IFORORORORORTHEN
HomeOffset:
="";
IFTHEN
HomeOffset:
=HomeOffset+"X:
"+NumToStr"";
ELSEIFTHEN
HomeOffset:
=HomeOffset+"X:
"+NumToStr"";
ELSE
HomeOffset:
=HomeOffset+"X:
OK";
ENDIF
IFTHEN
HomeOffset:
=HomeOffset+"Y:
"+NumToStr"";
ELSEIFTHEN
HomeOffset:
=HomeOffset+"Y:
"+NumToStr"";
ELSE
HomeOffset:
=HomeOffset+"Y:
OK";
ENDIF
IFTHEN
HomeOffset:
=HomeOffset+"Z:
"+NumToStr"";
ELSEIFTHEN
HomeOffset:
=HomeOffset+"Z:
"+NumToStr"";
ELSE
HomeOffset:
=HomeOffset+"Z:
OK";
ENDIF
!
ErrWriteHomeOffset,"Moverobotmanuallynearhomeposition";
pPre_Home:
=CRobT(\Tool:
=tGripper\WObj:
=wobj0);
:
=;
:
=;
MoveJPTo_home,v500,z10,tGripper;
!
MoveJDOpHome,v500,z10,tGripper,do02_RobHomePos,1;
MoveJpHome,v500,z10,tGripper;
ActualPos:
=CRobT(\Tool:
=tGripper\WObj:
=wobj0);
ENDIF
ENDIF
MoveJpHome,v500,fine,tGripper;
Resetdo12;
Resetdo13;
Setdo15;
Setdo16;
!
MoveJDOpHome,v500,fine,tGripper,do02_RobHomePos,1;
!
Setdo02_RobHomePos;
!
Resetdo02_RobHomePos;
ENDPROC
PROCrPlacePart()
WaitUntildi08_b1=1ORdi09_b2=1ordi10_b3=1;
IFGIPlaceNum=1THEN
rPlacePal1;
rPlace1;
ELSEIFGIPlaceNum=2THEN
rPlacePal2;
rPlace2;
ELSEIFGIPlaceNum=3THEN
rPlacePal3;
rPlace3;
ELSE
MoveJpHome,v200,fine,tGripper;
ENDIF
ENDPROC
PROCCOU1()
count3:
=count3+1;
dec3:
=count3-1;
Flool1:
=dec3div4;
jiou:
=Flool1mod2;
IFjiou=0THEN
baishu3:
=dec3mod4;
ENDIF
IFjiou=1THEN
xef1:
=dec3mod4;
baishu3:
=jiou*3-xef1;
ENDIF
ENDPROC
PROCCOU2()
count2:
=count2+1;
dec2:
=count2-1;
Floom1:
=dec2div3;
baishu2:
=dec2mod3;
jiou2:
=Floom1mod2;
ENDPROC
PROCCOU3()
count1:
=count1+1;
dec1:
=count1-1;
Floob1:
=dec1div3;
baishu1:
=dec1mod3;
jiou3:
=Floob1mod2;
ENDPROC
PROCrPlace1()
ConfJ\Off;
ConfL\Off;
!
MoveJpWait22,v1000,z20,tGripper\WObj:
=wPal1;
WaitUntildi07_p3=0;
IFbaishu3=3THEN
MoveJOffs(pWait117,0,jiou*(0-800),nBoxH1*Flool1+500),vMaxLoad,z20,tGripper\WObj:
=wPal1;
MoveJOffs(pWait117,0,jiou*(0-800),nBoxH1*Flool1+200),vMaxLoad,z20,tGripper\WObj:
=wPal1;
MoveJOffs(pWait117,0,jiou*(0-800),nBoxH1*Flool1+80),vMaxLoad,z20,tGripper\WObj:
=wPal1;
WaitTime1;
GripperOpen;
WaitTime1;
MoveJOffs(pWait117,0,jiou*(0-800),nBoxH1*Flool1),vMaxLoad,fine,tGripper\WObj:
=wPal1;
WaitTime;
ClampOpen;
WaitTime2;
WaitTime;
MoveJOffs(pWait117,0,jiou*(0-800),nBoxH1*Flool1+500),vMaxLoad,z20,tGripper\WObj:
=wPal1;
MoveJOffs(pWait117,0,0,1500),vMaxLoad,z20,tGripper\WObj:
=wPal1;
ELSEIFbaishu3=2THEN
MoveJOffs(pWait116,0,jiou*(0-500),nBoxH1*Flool1+500),vMaxLoad,z20,tGripper\WObj:
=wPal1;
MoveJOffs(pWait116,0,jiou*(0-500),nBoxH1*Flool1+200),vMaxLoad,z20,tGripper\WObj:
=wPal1;
MoveJOffs(pWait116,0,jiou*(0-500),nBoxH1*Flool1+60),vMaxLoad,z20,tGripper\WObj:
=wPal1;
GripperOpen;
WaitTime2;
MoveJOffs(pWait116,0,jiou*(0-500),nBoxH1*Flool1),vMaxLoad,z20,tGripper\WObj:
=wPal1;
WaitTime2;
ClampOpen;
Wait
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABB 机器人 程序
![提示](https://static.bingdoc.com/images/bang_tan.gif)