ABB机器人程序实例Word文档下载推荐.docx

上传人:b****3 文档编号:7119738 上传时间:2023-05-07 格式:DOCX 页数:10 大小:16.27KB
下载 相关 举报
ABB机器人程序实例Word文档下载推荐.docx_第1页
第1页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第2页
第2页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第3页
第3页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第4页
第4页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第5页
第5页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第6页
第6页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第7页
第7页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第8页
第8页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第9页
第9页 / 共10页
ABB机器人程序实例Word文档下载推荐.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ABB机器人程序实例Word文档下载推荐.docx

《ABB机器人程序实例Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ABB机器人程序实例Word文档下载推荐.docx(10页珍藏版)》请在冰点文库上搜索。

ABB机器人程序实例Word文档下载推荐.docx

=[[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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2