ABB机器人程序实例Word格式.docx
- 文档编号:3934613
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:10
- 大小:16.27KB
ABB机器人程序实例Word格式.docx
《ABB机器人程序实例Word格式.docx》由会员分享,可在线阅读,更多相关《ABB机器人程序实例Word格式.docx(10页珍藏版)》请在冰点文库上搜索。
=[[1017.30,955.85,1443.17],[1.0621E-05,-0.00849593,-0.999964,4.01139E-05],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpPrePickClapboard10:
=[[2257.17,-841.03,1579.56],[0.667517,0.74457,-0.00360206,0.00487631],[-1,-1,2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetpPrePickMould10:
=[[530.24,-1703.27,1762.63],[5.07659E-05,0.96161,0.274421,2.37287E-05],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTnumnOffs:
=100;
PERSnumnCurOffs:
CONSTnumnLayer:
=0;
PERSnumnCurLayer:
CONSTnumnThickness:
=40;
VARboolbTimeOut:
=FALSE;
PERSboolbDryCycle:
VARintnumiDryCycle;
VARintnumiResDryCycle;
VARintnumiVacuum;
PERStooldatatGripper:
=[TRUE,[[0,0,100],[1,0,0,0]],[88.5,[-3.7,-1.4,132.1],[1,0,0,0],5.5,17.831,25.067]];
PROCmain()
rInitAll;
WHILETRUEDO
IFsiDryCycle=1ornCurLayer<
1then
rPickClapboard;
ELSE
rPickMould;
ENDIF
Waittime0.2;
ENDWHILE
ENDPROC
PROCrPickMould()
DIWaitdiMouldready,1,3,"
entranceConveyer"
"
readyforpick"
;
DIWaitdiPlaceReady,1,3,"
exitConveyer"
readyforremove"
MoveJpPrePickMould,v1500,z50,tGripper;
IFBitCheck(nCurlayer,1)THEN
nCurOffs:
=nOffs;
ELSE
=-nOffs;
MoveLoffs(pPickMould,0,nCurOffs,100+nCurLayer*nThickness),v1000,z50,tGripper;
MoveLoffs(pPickMould,0,nCurOffs,(nCurLayer-1)*nThickness),v200,fine,tGripper;
GripClose;
DecrnCurLayer;
MoveLoffs(pPickMould,0,nCurOffs,100+nCurLayer*nThickness),v200,z50,tGripper;
MoveJpPrePickMould,v1000,z50,tGripper;
MoveJpPrePlace10,v1500,z10,tGripper;
MoveLoffs(pPlaceMould,0,0,100),v1500,z10,tGripper;
MoveLpPlaceMould,v200,fine,tGripper;
GripOpen;
MoveLoffs(pPlaceMould,0,0,100),v200,z10,tGripper;
MoveLpPrePlace10,v1500,z10,tGripper;
MoveJpPrePickMould,v1500,z10,tGripper;
PulseDO\PLength:
=2,doMouldPlaceOK;
PROCrPickClapboard()
MoveLoffs(pPickClapboard,0,0,100),v1000,z50,tGripper;
MoveLpPickClapboard,v200,fine,tGripper;
MoveLoffs(pPickClapboard,0,0,100),v200,z50,tGripper;
MoveLoffs(pPickClapboard,0,0,500),v1000,z50,tGripper;
MoveLpPrePlaceClapboard,v1000,z10,tGripper;
DIWaitdiClapboardReady,1,3,"
"
MoveLoffs(pPlaceClapboard,-700,-200,250),v1000,z10,tGripper;
MoveLoffs(pPlaceClapboard,00,-10,100),v1000,z10,tGripper;
MoveLpPlaceClapboard,v100,fine,tGripper;
MoveLoffs(pPlaceClapboard,0,-50,100),v1000,z10,tGripper;
=1.0,doClapboardPickOK;
MoveJpHome,v1500,fine,tGripper;
PulseDO\PLength:
=1.0,doUnStackOk;
WaitTime2;
DIWaitdiMouldready,0,3,"
nCurLayer:
=nLayer;
ENDPROC
PROCrInitAll()
IFdiVacuum1=0THEN
WaitTime1;
ELSE
ErrWrite"
TheRob1grippererror!
"
"
Thegripperisnotopened!
"
\RL2:
="
Checkthegrippersignalpostion."
\RL3:
openthegrippermanuallyandtakeawaythepartfromgripper."
Stop;
Exit;
ENDIF
rMoveHome;
IDeleteiVacuum;
CONNECTiVacuumWITHtLostPart;
ISignalDIdiVacuum1,1,iVacuum;
ISleepiVacuum;
ENDPROC
ROCGripClose()
SetDOdoVacuum,1;
SetDOdoBlow,0;
WaitUntildiVacuum1=1\MaxTime:
=10\TimeFlag:
=bTimeOut;
IFbTimeOutTHEN
RobGripperSignalerror!
FatalerrorinGripper"
changeanewsensor."
ENDIF
Waittime0.5;
IWatchiVacuum;
PROCGripOpen()
ISleepiVacuum;
SetDOdoVacuum,0;
PulseDO\PLength:
=2.0,doBlow;
WaitUntildiVacuum1=0\MaxTime:
=5\TimeFlag:
ENDIF
PROCrMoveHome()
VARstringHomeOffset;
CONSTnumMinX:
=-500;
CONSTnumMaxX:
=500;
CONSTnumMinY:
CONSTnumMaxY:
CONSTnumMinZ:
CONSTnumMaxZ:
=1200;
VARrobtargetActualPos;
VelSet100,500;
AccSet70,70;
IFbCurrentPos(pHome,tGripper,50)=TRUETHEN
MoveJpHome,v500,fine,tGripper\WObj:
=wobj0;
ENDIF
IFbCurrentPos(pPrePickMould,tGripper,50\wobj:
=Wobj0)=TRUETHEN
IFbCurrentPos(pPrePickClapboard,tGripper,100\wobj:
ENDIF
IFbCurrentPos(pPreplace,tGripper,100\wobj:
IFbCurrentPos(pHome,tGripper,100)=FALSETHEN
!
Ifnoknownpositionisfound,checkiftherobotisinaspecified
windowandmovehimtothefirstpositionintheprogram
ActualPos:
=CRobT(\Tool:
=tGripper\WObj:
=wobj0);
IFActualPos.trans.x<
MinXORActualPos.trans.x>
MaxXORActualPos.trans.y<
MinYORActualPos.trans.y>
MaxYORActualPos.trans.z<
MinZORActualPos.trans.z>
MaxZTHEN
HomeOffset:
MinXTHEN
=HomeOffset+"
X:
+NumToStr(MinX-ActualPos.trans.x,0)+"
ELSEIFActualPos.trans.x>
MaxXTHEN
+NumToStr(MaxX-ActualPos.trans.x,0)+"
ELSE
OK"
IFActualPos.trans.y<
MinYTHEN
Y:
+NumToStr(MinY-ActualPos.trans.y,0)+"
ELSEIFActualPos.trans.y>
MaxYTHEN
+NumToStr(MaxY-ActualPos.trans.y,0)+"
IFActualPos.trans.z<
MinZTHEN
Z:
+NumToStr(MinZ-ActualPos.trans.z,0)+"
ELSEIFActualPos.trans.z>
+NumToStr(MaxZ-ActualPos.trans.z,0)+"
ErrWriteHomeOffset,"
Moverobotmanuallynearhomeposition"
WHILEOpMode()<
>
OP_MAN_PROGDO
TPErase;
TPWrite"
PleaseswitchrobottoManualmode"
TPErase;
ENDWHILE
MoveJpHome,v500,fine,tGripper;
npallet:
=4;
OP_AUTODO
PleaseswitchrobottoAUTOmode"
VelSet100,3000;
TRAPtLostPart
Partlost!
Checkthegripper."
checkthevacuum."
ENDTRAP
ENDMODULE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABB 机器人 程序 实例