机器人搬运焊接程序

机器人搬运焊接程序
机器人搬运焊接程序

PROC main()

VelSet 80, 500;

AccSet 40, 40;

SetDO D652_10_DO4, 0;

SetDO D652_10_DO9, 0;

SetDO D652_10_DO5, 0;

SetDO D652_10_DO6, 0;

chushi;

WHILE TRUE DO

IF D652_10_DI9=1 THEN

banyun;

ELSEIF D652_10_DI10=1 THEN

hanjie;

ELSEIF D652_10_DI11=1 THEN

shangxialiao;

ELSEIF D652_10_DI12=1 THEN

zhuangpei;

ELSEIF D652_10_DI13=1 THEN

maduo;

ELSEIF D652_10_DI14=1 THEN

jichu;

ELSEIF D652_10_DI15=1 THEN

tujiao;

ELSEIF D652_10_DI4=1 THEN

liandong;

ENDIF

WaitTime 0.3;

ENDWHILE

ENDPROC

PROC zhuangpei()

SetDO D652_10_DO4, 1;

N1:=1;

N2:=1;

N3:=1;

MoveJ pz10, v300, z50, tool0;

MoveJ pz20, v300, z50, tool0;

WHILE N1<10 DO

WaitDI D652_10_DI5 , 1;

PulseDO\PLength:=0.5, D652_10_DO12;

MoveJ pz30, v200, z50, tool0;

PulseDO\PLength:=1.5, D652_10_DO13; SetDO D652_10_DO9, 0;

MoveJ pz40, v200, z20, tool0;

MoveL pzick10, v150, z0, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL pz40, v200, z50, tool0;

PulseDO\PLength:=0.6, D652_10_DO10;

MoveJ pz60, v200, z20, tool0;

MoveL pzick20, v150, z0, tool0;

PulseDO\PLength:=1.5, D652_10_DO11;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

MoveL pz60, v200, z50, tool0;

MoveL pz80, v200, z20, tool0;

MoveL pzick30, v150, z0, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL pz80, v200, z30, tool0;

MoveJ pz120, v200, z10, tool0;

MoveL pzick50, v150, z0, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

MoveJ pz120, v200, z30, tool0;

MoveJ pz60, v200, z10, tool0;

MoveL pzick20, v150, z0, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveJ pz60, v200, z10, tool0;

MoveJ pz130, v200, z50, tool0;

fangzhi1;

ENDWHILE

IF N1>9 THEN

SetDO D652_10_DO4, 0;

ExitCycle;

ENDIF

ENDPROC

PROC fangzhi1()

N2:=N3;

TEST N2

CASE 1:

MoveJ offs(pzick70,0,100,0), v200, z20, tool0;

MoveL pzick70, v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,0,150,0), v200, z20, tool0;

CASE 2:

MoveJ offs(pzick70,50,100,0), v200, z20, tool0;

MoveL offs(pzick70,50,0,0), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,50,150,0), v200, z20, tool0;

CASE 3:

MoveJ Offs(pzick70,100,100,0), v200, z20, tool0;

MoveL Offs(pzick70,100,0,0), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,100,150,0), v200, z20, tool0; CASE 4:

MoveJ offs(pzick70,0,100,62), v200, z20, tool0;

MoveL offs(pzick70,0,0,65), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,0,150,62), v200, z20, tool0;

CASE 5:

MoveJ offs(pzick70,50,100,62), v200, z10, tool0;

MoveL offs(pzick70,50,0,62), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,50,150,62), v200, z20, tool0;

CASE 6:

MoveJ offs(pzick70,100,100,62), v200, z20, tool0;

MoveL offs(pzick70,100,0,62), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,100,150,62), v200, z20, tool0;

CASE 7:

MoveJ offs(pzick70,0,100,126), v200, z20, tool0;

MoveL offs(pzick70,0,0,130), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,0,150,126), v200, z20, tool0;

CASE 8:

MoveJ offs(pzick70,50,100,126), v200, z20, tool0;

MoveL offs(pzick70,50,0,126), v100, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,50,150,126), v200, z20, tool0;

CASE 9:

MoveJ offs(pzick70,100,100,126), v200, z20, tool0;

MoveL offs(pzick70,100,0,126), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

N1:=N1+1;

Clear N2;

Incr N3;

MoveL offs(pzick70,100,150,126), v200, z10, tool0; ENDTEST

ENDPROC

PROC chushi()

pcs20:=CRobT(\Tool:=tool0\WObj:=wobj0);

pcs20.trans.z:=phome.trans.z;

MoveJ pcs20, v200, z30, tool0;

MoveJ phome, v150, z20, tool0;

ENDPROC

PROC banyun()

SetDO D652_10_DO4, 1;

MoveJ pb10, v200, z10, tool0;

MoveJ pb20, v200, z10, tool0;

MoveJ pb30, v200, z0, tool0;

MoveL offs(pbick10,0,0,30),v150,z0,tool0;

MoveL pbick10, v80, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,0,0,30),v150,z0,tool0;

MoveL offs(pbick10,235,0,30),v150,z0,tool0; MoveL offs(pbick10,235,0,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,235,0,30),v200,z20,tool0; MoveL offs(pbick10,55,0,30),v150,z0,tool0; MoveL offs(pbick10,55,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveJ offs(pbick10,55,0,30),v150,z1,tool0; MoveL offs(pbick10,290,0,30),v150,z0,tool0; MoveL offs(pbick10,290,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,290,0,30),v150,z20,tool0; MoveL offs(pbick10,110,0,30),v150,z0,tool0; MoveL offs(pbick10,110,0,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,110,0,30),v150,z1,tool0; MoveL offs(pbick10,345,0,30),v150,z0,tool0; MoveL offs(pbick10,345,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,345,0,30),v150,z1,tool0;

MoveL offs(pbick10,165,0,30),v150,z0,tool0;

MoveL offs(pbick10,165,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,165,0,30),v150,z1,tool0;

MoveL offs(pbick10,400,0,30),v150,z0,tool0;

MoveL offs(pbick10,400,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,400,0,30),v150,z20,tool0;

MoveL offs(pbick10,0,-65,30),v150,z0,tool0;

MoveL offs(pbick10,0,-65,0), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,0,-65,30),v150,z1,tool0;

MoveL offs(pbick10,235,-65,30),v150,z0,tool0; MoveL offs(pbick10,235,-65,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,235,-65,30),v150,z20,tool0; MoveL offs(pbick10,55,-65,30),v150,z0,tool0; MoveL offs(pbick10,55,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,55,-65,30),v150,z1,tool0; MoveL offs(pbick10,290,-65,30),v150,z0,tool0; MoveL offs(pbick10,290,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,290,-65,30),v150,z20,tool0; MoveL offs(pbick10,110,-65,30),v150,z0,tool0; MoveL offs(pbick10,110,-65,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,110,-65,30),v150,z1,tool0; MoveL offs(pbick10,345,-65,30),v150,z0,tool0;

MoveL offs(pbick10,345,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,345,-65,30),v150,z20,tool0; MoveL offs(pbick10,165,-65,30),v150,z0,tool0; MoveL offs(pbick10,165,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,165,-65,30),v150,z1,tool0; MoveL offs(pbick10,400,-65,30),v150,z0,tool0; MoveL offs(pbick10,400,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,400,-65,30),v150,z20,tool0;

MoveL offs(pbick10,0,-130,30),v150,z0,tool0;

MoveL offs(pbick10,0,-130,0), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,0,-130,30),v150,z1,tool0;

MoveL offs(pbick10,235,-130,30),v150,z0,tool0; MoveL offs(pbick10,235,-130,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,235,-130,30),v150,z20,tool0; MoveL offs(pbick10,55,-130,30),v150,z0,tool0; MoveL offs(pbick10,55,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,55,-130,30),v150,z1,tool0; MoveL offs(pbick10,290,-130,30),v150,z0,tool0; MoveL offs(pbick10,290,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,290,-130,30),v150,z20,tool0; MoveL offs(pbick10,110,-130,30),v150,z0,tool0; MoveL offs(pbick10,110,-130,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,110,-130,30),v150,z1,tool0; MoveL offs(pbick10,345,-130,30),v150,z0,tool0; MoveL offs(pbick10,345,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,345,-130,30),v150,z20,tool0; MoveL offs(pbick10,165,-130,30),v150,z0,tool0; MoveL offs(pbick10,165,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,165,-130,30),v150,z1,tool0; MoveL offs(pbick10,400,-130,30),v150,z0,tool0; MoveL offs(pbick10,400,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,400,-130,30),v150,z20,tool0;

MoveL offs(pbick10,0,-195,30),v150,z0,tool0;

MoveL offs(pbick10,0,-195,0), v80, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,0,-195,30),v150,z0,tool0;

MoveL offs(pbick10,235,-195,30),v150,z0,tool0; MoveL offs(pbick10,235,-195,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,235,-195,30),v150,z20,tool0; MoveL offs(pbick10,55,-195,30),v150,z0,tool0; MoveL offs(pbick10,55,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,55,-195,30),v150,z1,tool0; MoveL offs(pbick10,290,-195,30),v150,z0,tool0; MoveL offs(pbick10,290,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,290,-195,30),v150,z20,tool0; MoveL offs(pbick10,110,-195,30),v150,z0,tool0; MoveL offs(pbick10,110,-195,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,110,-195,30),v150,z1,tool0; MoveL offs(pbick10,345,-195,30),v150,z0,tool0; MoveL offs(pbick10,345,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,345,-195,30),v150,z20,tool0; MoveL offs(pbick10,165,-195,30),v150,z0,tool0; MoveL offs(pbick10,165,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,165,-195,30),v150,z1,tool0; MoveL offs(pbick10,400,-195,30),v150,z0,tool0; MoveL offs(pbick10,400,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,400,-195,30),v150,z20,tool0;

MoveL offs(pbick10,235,0,30),v150,z0,tool0;

MoveL offs(pbick10,235,0,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,235,0,30),v150,z1,tool0;

MoveL offs(pbick10,0,0,30),v150,z0,tool0;

MoveL pbick10, v80, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,0,0,30),v150,z20,tool0;

MoveL offs(pbick10,290,0,30),v150,z0,tool0;

MoveL offs(pbick10,290,0,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,290,0,30),v150,z1,tool0;

MoveL offs(pbick10,55,0,30),v150,z0,tool0;

MoveL offs(pbick10,55,0,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,55,0,30),v150,z20,tool0;

MoveL offs(pbick10,345,0,30),v150,z0,tool0;

MoveL offs(pbick10,345,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,345,0,30),v150,z1,tool0;

MoveL offs(pbick10,110,0,30),v150,z0,tool0;

MoveL offs(pbick10,110,0,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,110,0,30),v150,z20,tool0; MoveL offs(pbick10,400,0,30),v150,z0,tool0;

MoveL offs(pbick10,400,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,400,0,30),v150,z1,tool0;

MoveL offs(pbick10,165,0,30),v150,z0,tool0;

MoveL offs(pbick10,165,0,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,165,0,30),v150,z20,tool0;

MoveL offs(pbick10,235,-65,30),v150,z0,tool0; MoveL offs(pbick10,235,-65,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,235,-65,30),v150,z1,tool0; MoveL offs(pbick10,0,-65,30),v150,z0,tool0;

MoveL offs(pbick10,0,-65,0), v80, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,0,-65,30),v150,z20,tool0;

MoveL offs(pbick10,290,-65,30),v150,z0,tool0; MoveL offs(pbick10,290,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,290,-65,30),v150,z0,tool0; MoveL offs(pbick10,55,-65,30),v150,z0,tool0;

MoveL offs(pbick10,55,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveL offs(pbick10,55,-65,30),v150,z1,tool0;

MoveL offs(pbick10,345,-65,30),v150,z0,tool0; MoveL offs(pbick10,345,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,345,-65,30),v150,z1,tool0; MoveL offs(pbick10,110,-65,30),v150,z0,tool0; MoveL offs(pbick10,110,-65,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveL offs(pbick10,110,-65,30),v150,z1,tool0; MoveL offs(pbick10,400,-65,30),v150,z0,tool0; MoveL offs(pbick10,400,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,400,-65,30),v150,z0,tool0; MoveL offs(pbick10,165,-65,30),v150,z0,tool0; MoveL offs(pbick10,165,-65,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,165,-65,30),v150,z20,tool0;

MoveJ offs(pbick10,235,-130,30),v150,z0,tool0; MoveL offs(pbick10,235,-130,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,235,-130,30),v150,z1,tool0; MoveL offs(pbick10,0,-130,30),v150,z0,tool0;

MoveL offs(pbick10,0,-130,0), v80, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,0,-130,30),v150,z20,tool0;

MoveL offs(pbick10,290,-130,30),v150,z0,tool0; MoveL offs(pbick10,290,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,290,-130,30),v150,z0,tool0; MoveL offs(pbick10,55,-130,30),v150,z0,tool0; MoveL offs(pbick10,55,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,55,-130,30),v150,z20,tool0; MoveL offs(pbick10,345,-130,30),v150,z0,tool0; MoveL offs(pbick10,345,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,345,-130,30),v150,z1,tool0; MoveL offs(pbick10,110,-130,30),v150,z0,tool0; MoveL offs(pbick10,110,-130,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,110,-130,30),v150,z20,tool0; MoveL offs(pbick10,400,-130,30),v150,z0,tool0; MoveL offs(pbick10,400,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,400,-130,30),v150,z0,tool0; MoveL offs(pbick10,165,-130,30),v150,z0,tool0; MoveL offs(pbick10,165,-130,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,165,-130,30),v150,z20,tool0;

MoveL offs(pbick10,235,-195,30),v150,z0,tool0; MoveL offs(pbick10,235,-195,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,235,-195,30),v150,z1,tool0; MoveL offs(pbick10,0,-195,30),v150,z0,tool0;

MoveL offs(pbick10,0,-195,0), v150, fine, tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,0,-195,30),v150,z20,tool0;

MoveL offs(pbick10,290,-195,30),v150,z0,tool0; MoveL offs(pbick10,290,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,290,-195,30),v150,z0,tool0; MoveL offs(pbick10,55,-195,30),v150,z0,tool0; MoveL offs(pbick10,55,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,55,-195,30),v150,z20,tool0; MoveL offs(pbick10,345,-195,30),v150,z0,tool0; MoveL offs(pbick10,345,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,345,-195,30),v150,z1,tool0; MoveL offs(pbick10,110,-195,30),v150,z0,tool0; MoveL offs(pbick10,110,-195,0),v150,fine,tool0;

WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveJ offs(pbick10,110,-195,30),v150,z20,tool0; MoveL offs(pbick10,400,-195,30),v150,z0,tool0; MoveL offs(pbick10,400,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 1;

WaitTime 0.5;

MoveL offs(pbick10,400,-195,30),v150,z0,tool0; MoveL offs(pbick10,165,-195,30),v150,z0,tool0; MoveL offs(pbick10,165,-195,0),v150,fine,tool0; WaitTime 0.5;

SetDO D652_10_DO9, 0;

WaitTime 0.5;

MoveL offs(pbick10,165,-195,30),v150,z1,tool0;

MoveJ pb20, v200, z0, tool0;

SetDO D652_10_DO4, 0;

MoveJ pb10, v200, z0, tool0;

ENDPROC

PROC liandong()

IF D652_10_DI7 = 1 THEN

SetDO D652_10_DO4, 1;

MoveJ pl20, v300, z50, tool0;

WaitDI D652_10_DI5, 1;

SetDO D652_10_DO6, 0;

VelSet 80, 500;

AccSet 40, 40;

MoveJ pl22, v300, z50, tool0;

MoveJ pl23, v200, z15, tool0;

MoveJ pl24, v150, fine, tool0;

WaitTime 1;

SetAO V_out, 12;

SetAO I_out, 125;

SetDO qihu, 1;

WaitDI qiguchenggong, 1\MaxTime:=3;

MoveC pl25, pl29, v10, fine, tool0;

MoveC pl45, pl55, v10, fine, tool0;

WaitTime 0.5;

SetDO qihu, 0;

MoveJ pl22, v300, z50, tool0;

MoveJ pl26, v300, z50, tool0;

MoveJ pl27, v150, fine, tool0;

SetAO V_out, 12;

SetAO I_out, 125;

SetDO qihu, 1;

WaitDI qiguchenggong, 1\MaxTime:=3; MoveC pl28, pl30, v10, fine, tool0; MoveC pl48, pl58, v10, fine, tool0;

WaitTime 0.5;

SetDO qihu, 0;

SetAO V_out, 0;

SetAO I_out, 0;

MoveJ pl26, v300, z50, tool0;

MoveJ pl21, v300, z50, tool0;

SetDO D652_10_DO5, 1;

WaitDI D652_10_DI6, 1;

SetDO D652_10_DO5, 0;

MoveJ pl41, v300, z50, tool0;

MoveJ pl51, v300, z50, tool0;

MoveJ pl61, v100, fine, tool0;

WaitTime 1;

SetAO V_out, 12;

SetAO I_out, 125;

SetDO qihu, 1;

WaitDI qiguchenggong, 1\MaxTime:=3; MoveC pl71, pl81, v10, fine, tool0; MoveC pl91, pl101, v10, fine, tool0;

WaitTime 0.5;

SetDO qihu, 0;

SetAO V_out, 0;

SetAO I_out, 0;

MoveJ pl41, v300, z50, tool0;

MoveJ pl52, v300, z50, tool0;

MoveJ pl62, v200, z50, tool0;

MoveJ pl72, v100, fine, tool0;

WaitTime 1;

SetAO V_out, 12;

SetAO I_out, 125;

SetDO qihu, 1;

WaitDI qiguchenggong, 1\MaxTime:=3; MoveC pl82, pl92, v10, fine, tool0; MoveC pl102, pl112, v10, fine, tool0;

WaitTime 0.5;

SetDO qihu, 0;

SetAO V_out, 0;

SetAO I_out, 0;

MoveJ pl52, v300, z50, tool0;

MoveJ pl21, v300, z50, tool0;

SetDO D652_10_DO5, 1;

WaitDI D652_10_DI6, 1;

SetDO D652_10_DO5, 0;

SetDO D652_10_DO6, 1;

ELSEIF D652_10_DI7 = 0 THEN

SetDO D652_10_DO4, 1;

MoveJ pl20, v300, z50, tool0;

WaitDI D652_10_DI5, 1;

SetDO D652_10_DO6, 0;

VelSet 80, 500;

AccSet 40, 40;

MoveJ pl22, v300, z50, tool0;

MoveJ pl23, v200, z15, tool0;

MoveJ pl24, v150, fine, tool0;

WaitTime 1;

MoveC pl25, pl29, v10, fine, tool0;

MoveC pl45, pl55, v10, fine, tool0;

WaitTime 0.5;

MoveJ pl22, v300, z50, tool0;

MoveJ pl26, v300, z50, tool0;

MoveJ pl27, v150, fine, tool0;

MoveC pl28, pl30, v10, fine, tool0;

MoveC pl48, pl58, v10, fine, tool0;

WaitTime 0.5;

MoveJ pl26, v300, z50, tool0;

MoveJ pl21, v300, z50, tool0;

SetDO D652_10_DO5, 1;

WaitDI D652_10_DI6, 1;

SetDO D652_10_DO5, 0;

MoveJ pl41, v300, z50, tool0;

MoveJ pl51, v300, z50, tool0;

MoveJ pl61, v100, fine, tool0;

WaitTime 1;

MoveC pl71, pl81, v10, fine, tool0;

MoveC pl91, pl101, v10, fine, tool0;

WaitTime 0.5;

MoveJ pl41, v300, z50, tool0;

MoveJ pl52, v300, z50, tool0;

MoveJ pl62, v200, z50, tool0;

MoveJ pl72, v100, fine, tool0;

WaitTime 1;

MoveC pl82, pl92, v10, fine, tool0;

MoveC pl102, pl112, v10, fine, tool0;

WaitTime 0.5;

MoveJ pl52, v300, z50, tool0;

MoveJ pl21, v300, z50, tool0;

SetDO D652_10_DO6, 1;

ENDIF

ENDPROC

PROC hanjie()

ENDPROC

PROC shangxialiao()

ENDPROC

PROC maduo()

SetDO D652_10_DO4, 1;

MoveJ pm10, v300, z50, tool0;

MoveJ pm20, v300, z50, tool0;

MoveJ pm30, v300, z50, tool0;

MoveJ offs(pmick10,0,0,80),v300,z100,tool0; MoveJ offs(pmick10,0,0,30),v200,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL pmick10, v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,0,0,30),v150,z10,tool0;

MoveJ offs(pmick10,0,0,80),v300,z50,tool0;

N5:=1;

fangzhi2;

MoveJ offs(pmick10,0,-40,80),v300,z100,tool0;

MoveJ offs(pmick10,0,-40,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,0,-40,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,0,-40,30),v150,z10,tool0;

MoveJ offs(pmick10,0,-40,80),v300,z100,tool0;

N5:=2;

fangzhi2;

MoveJ offs(pmick10,0,-80,80),v300,z100,tool0;

MoveJ offs(pmick10,0,-80,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,0,-80,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,0,-80,30),v150,z10,tool0;

MoveJ offs(pmick10,0,-80,80),v300,z50,tool0;

N5:=3;

fangzhi2;

MoveJ offs(pmick10,-124,0,80),v300,z100,tool0;

MoveJ offs(pmick10,-124,0,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-124,0,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-124,0,30),v150,z10,tool0;

MoveJ offs(pmick10,-124,0,80),v300,z100,tool0;

N5:=4;

fangzhi2;

MoveJ offs(pmick10,-124,-40,80),v300,z100,tool0;

MoveJ offs(pmick10,-124,-40,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-124,-40,0),v80, fine,tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-124,-40,30),v150,z10,tool0; MoveJ offs(pmick10,-124,-40,80),v300,z100,tool0;

N5:=5;

fangzhi2;

MoveJ offs(pmick10,-124,-80,80),v300,z100,tool0;

MoveJ offs(pmick10,-124,-80,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-124,-80,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-124,-80,30),v150,z10,tool0; MoveJ offs(pmick10,-124,-80,80),v300,z100,tool0;

N5:=6;

fangzhi2;

MoveJ offs(pmick10,-70,0,80),v300,z100,tool0;

MoveJ offs(pmick10,-70,0,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-70,0,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-70,0,30),v150,z30,tool0;

MoveJ offs(pmick10,-70,0,80),v300,z100,tool0;

N5:=7;

fangzhi2;

MoveJ offs(pmick10,-70,-40,80),v300,z100,tool0;

MoveJ offs(pmick10,-70,-40,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-70,-40,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-70,-40,30),v150,z10,tool0;

MoveJ offs(pmick10,-70,-40,80),v300,z100,tool0;

N5:=8;

fangzhi2;

MoveJ offs(pmick10,-70,-80,80),v300,z100,tool0;

MoveJ offs(pmick10,-70,-80,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-70,-80,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-70,-80,30),v150,z10,tool0;

MoveJ offs(pmick10,-70,-80,80),v300,z100,tool0;

N5:=9;

fangzhi2;

MoveJ offs(pmick10,-164.7,0,80),v300,z100,tool0;

MoveJ offs(pmick10,-164.7,0,30),v150,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-164.7,0,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-164.7,0,30),v150,z10,tool0;

MoveJ offs(pmick10,-164.7,0,80),v300,z50,tool0;

N5:=10;

fangzhi2;

MoveJ offs(pmick10,-164.7,-40,80),v300,z100,tool0;

MoveJ offs(pmick10,-164.7,-40,30),v300,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-164.7,-40,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-164.7,-40,30),v150,z10,tool0; MoveJ offs(pmick10,-164.7,-40,80),v300,z50,tool0;

N5:=11;

fangzhi2;

MoveJ offs(pmick10,-164.7,-80,80),v300,z100,tool0;

MoveJ offs(pmick10,-164.7,-80,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-164.7,-80,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-164.7,-80,30),v150,z10,tool0; MoveJ offs(pmick10,-164.7,-80,80),v300,z50,tool0;

N5:=12;

fangzhi2;

MoveJ offs(pmick10,-205.4,0,80),v300,z100,tool0;

MoveJ offs(pmick10,-205.4,0,30),v200,z30,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-205.4,0,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-205.4,0,30),v150,z10,tool0;

MoveJ offs(pmick10,-205.4,0,80),v300,z100,tool0;

N5:=13;

fangzhi2;

MoveJ offs(pmick10,-205.4,-40,80),v300,z100,tool0;

MoveJ offs(pmick10,-205.4,-40,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-205.4,-40,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-205.4,-40,30),v150,z10,tool0; MoveJ offs(pmick10,-205.4,-40,80),v300,z100,tool0;

N5:=14;

fangzhi2;

MoveJ offs(pmick10,-205.4,-80,80),v300,z100,tool0;

MoveJ offs(pmick10,-205.4,-80,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-205.4,-80,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ Offs(pmick10,-205.4,-80,30),v150,z10,tool0; MoveJ offs(pmick10,-205.4,-80,80),v300,z100,tool0;

N5:=15;

fangzhi2;

MoveJ offs(pmick10,-246.1,0,80),v300,z100,tool0;

MoveJ offs(pmick10,-246.1,0,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-246.1,0,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

MoveJ offs(pmick10,-246.1,0,30),v150,z10,tool0;

MoveJ offs(pmick10,-246.1,0,50),v300,z100,tool0;

N5:=16;

fangzhi2;

MoveJ offs(pmick10,-246.1,-40,80),v300,z50,tool0;

MoveJ offs(pmick10,-246.1,-40,30),v150,z10,tool0;

SetDO D652_10_DO9, 0;

MoveL offs(pmick10,-246.1,-40,0),v80, fine, tool0;

WaitTime 0.05;

SetDO D652_10_DO9, 1;

WaitTime 0.05;

焊接机器人毕业设计

VI1.1论文的选题意义 第1章绪论 自动化的焊接机器人能提供稳定地焊接质量,减轻人的劳动强度,提高工作 效率,降低生产成本,在工业领域得到了广泛的应用。但应用于工业生产中的焊 接机器人大多是固定的,主要通过机械臂的活动来工作,又由于空间的限制使得 机器人的工作范围、工作对象大大受到限制。在大型工件,如:石化工业中的大型 储油罐、球罐、管道的焊接,多在现场作业,焊接位置手工作业难以达到,恶劣 的工作环境不仅增大了工人的劳动强度,而且影响焊接质量。工程应用中亟待开 发出能够取代工人手工操作的低成本自动化的焊接设备,以减少生产过程中人为 因素的影响,提高焊接质量,这些情况都对移动焊接机器人的研究和应用提出了 迫切的要求。 现在,国外在这方面的技术基本成熟,但国内各单位对这些技术的了解有相 当部分还停留在文献上或局部上。所以应该从基本做起,开展一些基础技术研究 作为机器人课题的主要研究与开发内容之一。 1.2焊接机器人的发展历程 自从世界上第一台工业机器人UMMATE于1959年在美国诞生以来,机器人的 应用和技术发展经历了三个阶段:第一代是示教再现型机器人。这类机器人操作 简单,不具备外界信息的反馈能力,难以适应工作环境的变化,在现代化工业生 产中的应用受到很大限制。第二代是具有感知能力的机器人。这类机器人对外界 环境有一定的感知能力,具备如听觉、视觉、触觉等功能,工作时借助传感器获 得的信息,灵活调整工作状态,保证在适应环境的情况下完成工作。第三代是智 能型机器人。这类机器人不但具有感觉能力,而且具有独立判断、行动、记忆、 推理和决策的能力,能适应外部对象、环境协调地工作,能完成更加复杂的动作, 还具备故障自我诊断及修复能力。焊接机器人就是在焊接生产领域代替焊工从事 焊接任务的工业机器人。早期的焊接机器人缺乏“柔性",焊接路径和焊接参数 须根据实际作业条件预先设置,工作时存在明显的缺点。随着计算机控制技术、 人工智能技术以及网络控制技术的发展,焊接机器人也由单一的单机示教再现型 向以智能化为核心的多传感、智能化的柔性加工单元(系统)方向发展¨。63。 换页 移动焊接机器人系统研究 1.3焊接机器人国内外应用现状 焊接机器人具有焊接质量稳定、改善工人劳动条件、提高劳动生产率等特点, 广泛应用于汽车、工程机械、通用机械、金属结构和兵器工业等行业。据不完全 统计,全世界在役的工业机器人中大约有一半用于各种形式的焊接加工领域。截 止2005年,全世界在役工业机器人约为91.4万台,其中日本装备的工业机器人总量达到了50万台以上,成为“机器人王国”,其次是美国和德国:在亚洲,日本、 韩国和新加坡的制造业中每万名雇员占有的工业机器人数量居世界前三位。近几 年,全球机器人的数量在迅速增加,仅2005年就达12.1万台。我国自上世纪70年代末开始进行工业机器人的研究,经过二十多年的发展,在技术和应用方面均取 得了长足的发展,对国民经济尤其是制造业的发展起到了重要的推动作用。据不 完全统计,近几年我国工业机器人呈现出快速增长势头,平均年增长率都超过 40%,焊接机器人的增长率超过了60%;2004年国产工业机器人数量突破l400台,

焊接机器人应用现状及发展趋势

焊接机器人应用现状及发展趋势 据不完全统计,全世界在役的工业机器人中大约有将近一半的工业机器人用于各种形式的焊接加工领域,焊接机器人应用中最普遍的主要有两种方式,即点焊和电弧焊。图4所示是这两种焊接机器人在工业机器人中所占的大致比例。我们所说的焊接机器人其实就是在焊接生产领域代替焊工从事焊接任务的工业机器人。这些焊接机器人中有的是为某种焊接方式专门设计的,而大多数的焊接机器人其实就是通用的工业机器人装上某种焊接工具而构成的。在多任务环境中,一台机器人甚至可以完成包括焊接在内的抓物、搬运、安装、焊接、卸料等多种任务,机器人可以根据程序要求和任务性质,自动更换机器人手腕上的工具,完成相应的任务。因此,从某种意义上来说,工业机器人的发展历史就是焊接机器人的发展历史。 众所周知,焊接加工一方面要求焊工要有熟练的操作技能、丰富的实践经验、稳定的焊接水平;另一方面,焊接又是一种劳动条件差、烟尘多、热辐射大、危险性高的工作。工业机器人的出现使人们自然而然首先想到用它代替人的手工焊接,减轻焊工的劳动强度,同时也可以保证焊接质量和提高焊接效率。 然而,焊接又与其它工业加工过程不一样,比如,电弧焊过程中,被焊工件由于局部加热熔化和冷却产生变形,焊缝的轨迹会因此而发生变化。手工焊时有经验的焊工可以根据眼睛所观察到的实际焊缝位置适时地调整焊枪的位置、姿态和行走的速度,以适应焊缝轨迹的变化。然而机器人要适应这种变化,必须首先像人一样要“看”到这种变化,然后采取相应的措施调整焊枪的位置和状态,实现对焊缝的实时跟踪。由于电弧焊接过程中有强烈弧光、电弧噪音、烟尘、熔滴过渡不稳定引起的焊丝短路、大电流强磁场等复杂的环境因素的存在,机器人要检测和识别焊缝所需要的信号特征的提取并不像工业制造中其它加工过程的检测那么容易,因此,焊接机器人的应用并不是一开始就用于电弧焊过程的。 实际上,工业机器人在焊接领域的应用最早是从汽车装配生产线上的电阻点焊开始的。原因在于电阻点焊的过程相对比较简单,控制方便,且

五自由度焊接机器人的设计

开题报告 (20**届) 5自由度焊接机器人总体及大臂与腰部 设计 学生姓名 学号 院系 专业 指导教师 填写日期

一、本课题国内外状况,说明选题依据和意义 焊接机器人是目前最大的工业机器人应用领域。由于汽车制造业对许多构件的焊接精度和速度等指标提出越来越高的要求,一般工人已难以胜任这一工作;此外,焊接时的火花及烟雾等,对人体造成危害,因此,焊接过程的完全自动化已成为重要的研究课题,其中,最为重要的就是要应用焊接机器人。随着近代模糊数学和神经网络的出现,以及PC机与焊接机器人的结合应用,有效解决了专用控制器计算负担重、实时性差等问题.还能够将具他领域如图像处理、声音识别、最优控制、人工智能等先进的研究成果应用到该系统的实时操作中。焊接过程中存在很多不确定的因素,是一个典型的时变非线性系统,难以建立精确的数学模型。因此,采用与模型无关的人工神经网络或模糊控制技术更为合适。 我国焊接机器人的应用主要集中在汽车、摩托车、工程机械、铁路机车等几个主要行业。汽车是焊接机器人的最大用户,也是最早用户。早在70年代末,上海电焊机厂与上海电动工具研究所,合作研制的直角坐标机械手,成功地应用于上海牌轿车底盘的焊接。“一汽”是我国最早引进焊接机器人的企业,1984起先后从KUKA公司引进了3台点焊机器人,用于当时“红旗牌”轿车的车身焊接和“解放牌”车身顶盖的焊接。1986年成功将焊接机器人应用于前围总成的焊接,并于1988年开发了机器人车身总焊线。 80年代末和90年代初,德国大众公司分别与上海和一汽成立合资汽车厂生产轿车,虽然是国外的二手设备,但其焊接自动化程度与装备水平,让我们认识到了与国外的巨大差距。随后二汽在货车及轻型车项目中都引进了焊接机器人。可以说90年代以来的技术引进和生产设备、工艺装备的引进使我国的汽车制造水平由原来的作坊式生产提高到规模化生产,同时使国外焊接机器人大量进入中国。由于我国基础设施建设的高速发展带动了工程机械行业的繁荣,工程机械行业也成为较早引用焊接机器人的行业之一。近年来由于我国经济的高速发展,能源的大量需求,与能源相关的制造行业也都开始寻求自动化焊接技术,焊接机器人逐渐崭露头角。铁路机车行业由于我国货运、客运、城市地铁等需求量的不断增加,以及列车提速的需求,机器人的需求一直处于稳步增长态势。据2001年统计,

机器人焊接论文

摘要 随着科技的发展和工业需求的增加,焊接技术在工业生产中所占据的分量越来越大,而且焊接技术的优良程度直接影响着零件或产品的质量。国焊接机器人应用虽已具有一定规模,但与我国焊接生产总体需求相差甚远。因此,大力研究并推广焊接机器人技术势在必行。 本设计的重点是运用机械原理和机械制造装备设计方法设计焊接机器人的 实践和方法。本次设计,是在了解焊接机器人在国外现状的基础上,进而掌握焊接机器人部结构和工作原理,并对手臂和腕部进行结构设计。合理布置了液压缸。同时了解机器人机械系统运动学及运动控制学。为工业上焊接机器人的设计提供理论参考、设计参考和数据参考,为工业设计者提供设计理论和设计实践的参考。该机器人具有刚性好,位置精度高、运行平稳的特点。 关键字:焊接机器人液压系统机械机构设计

Abstract With the development of technology and the increase in industrial demand, welding in industrial production occupied more and more weight, and excellent welding technology directly affects the degree of the quality of parts or products.Although the domestic application of welding robot with a certain scale, but falls far short of the overall demand for welding.Therefore, great efforts to study and promote the welding robot technology is imperative. The focus of this design is the use of mechanical theory and design of machinery and equipment design and methods of practice welding robot.The design of the welding robot in understanding the basis of the status quo at home and abroad, and then grasp the welding robot and working principle of the internal structure, and structural design of the arm and wrist.Rational arrangement of the hydraulic cylinder.At the same time understand the robot mechanical system kinematics and motion control study.For the design of industrial welding robots to provide a theoretical reference, reference and data reference design for industrial designers and design practice, design theory reference.The robot has a good rigidity, high precision location, stable characteristics. Keyword:Welding robot;hydraulic system;mechanical structure design

全国大学生机器人搬运比赛部分程序(aw60)

全国大学生机器人搬运比赛部分程序(aw60)

图1比赛场地示意图

图2机器人出发区示意图4 //-------------------------------------------------------------------------* //机器人搬运比赛程序如下: // 项目名: 基于Freescale AW60的* // 硬件连接: * // 程序描述: 定时器2作为颜色传感器计数器;定时器1通道0-1作为PWM输出;通道2作为颜色传感器的定时器溢出中断 // 超声波计数用定时器 1 *

// 说明: * // ? * // * // 作者信息? * // 版本信息? * // 完成时间? * // 修订记录:* // 时间:* // 内容:? * //-------------------------------------------------------------------------* //调用头文件 #include "Includes.h" void main(void) { //定义变量,不管在主程序还是子函数,都

需要把变量的定义放在最前面,否则会报错 int D=0; int m=0; char num1=0; //用于计数用 char num2=0; //用于转弯计数用char flag_forward=1; //前进的标志位char flag_backward=1; //后退的标志位 //用到的端口,一定要记得初始化端口数据方向寄存器 //液晶模块 //PTGDD |= 0b00011111; //液晶模块IO 的输入输出配置 //颜色传感器模块 //PTCDD |= 0b00101100; //配置颜色传感器模块 // PTFDD &= 0b11111110; //红外传感器模块及驱动模块 PTDDD = 0b00000111; // PTDD4作为定时器2的外部时钟输入 PTBDD = 0b01000000; //前五个是红外传感器,最后两个是超声波的发送和接收

焊接机器人的应用

焊接机器人的应用 焊接机器人技术的发展 我国开发工业机器人晚于美国和日本,起于20世纪70年代,早期是大学和科研院所的自发性的研究。到80年代中期,全国没有一台工业机器人问世。而在国外,工业机器人已经是个非常成熟的工业产品,在汽车行业得到了广泛的应用。鉴于当时的国内外形势,国家“七五”攻关计划将工业机器人的开发列入了计划,对工业机器人进行了攻关,特别是把应用作为考核的重要内容,这样就把机器人技术和用户紧密结合起来,使中国机器人在起步阶段就瞄准了实用化的方向。与此同时于1986年将发展机器人列入国家"863"高科技计划。在国家"863"计划实施五周年之际,邓小平同志提出了"发展高科技,实现产业化"的目标。在国内市场发展的推动下,以及对机器人技术研究的技术储备的基础上,863主题专家组及时对主攻方向进行了调整和延伸,将工业机器人及应用工程作为研究开发重点之一,提出了以应用带动关键技术和基础研究的发展方针,以后又列入国家"八五"和"九五"中。经过十几年的持续努力,在国家的组织和支持下,我国焊接机器人的研究在基础技术、控制技术、关键元器件等方面取得了重大进展,并已进入使用化阶段,形成了点焊、弧焊机器人系列产品,能够实现小批量生产。 焊接机器人的应用状况 我国焊接机器人的应用主要集中在汽车、摩托车、工程机械、铁路机车等几个主要行业。汽车是焊接机器人的最大用户,也是最早用户。早在70年代末,上海电焊机厂与上海电动工具研究所,合作研制的直角坐标机械手,成功地应用于上海牌轿车底盘的焊接。一汽是我国最早引进焊接机器人的企业,1984年起先后从KUKA公司引进了3台点焊机器人,用于当时“红旗牌”轿车的车身焊接和“解放牌”车身顶盖的焊接。1986年成功将焊接机器人应用于前围总成的焊接,并于1988年开发了机器人车身总焊线。80年代末和90年代初,德国大众公司分别与上海和一汽成立合资汽车厂生产轿车,虽然是国外的二手设备,但其焊接自

焊接机器人生产制造项目策划方案

焊接机器人生产制造项目 策划方案 规划设计/投资分析/产业运营

报告说明— 焊接自动化装备广泛采用数字化、图形化的人机操作界面,设备拥有 专家数据库、控制参数实时显示、人机交互等功能,使设备操作更加容易、更加方便。随着技术的不断完善,数字显示技术在人机交互、控制参数实 时监测中将得到普遍运用。 该焊接机器人项目计划总投资13488.83万元,其中:固定资产投资10266.58万元,占项目总投资的76.11%;流动资金3222.25万元,占项目 总投资的23.89%。 达产年营业收入21857.00万元,总成本费用17284.25万元,税金及 附加230.43万元,利润总额4572.75万元,利税总额5433.90万元,税后 净利润3429.56万元,达产年纳税总额2004.34万元;达产年投资利润率33.90%,投资利税率40.28%,投资回报率25.43%,全部投资回收期5.43年,提供就业职位307个。 这两年国内焊接机器人市场规模在持续扩大,市场增速在高速增长, 截至2018年销售额已经突破100亿元,年均复合增长达到15%以上。

第一章项目基本信息 一、项目概况 (一)项目名称及背景 焊接机器人生产制造项目 焊接机器人广泛用于汽车行业,以较低的复杂性焊接汽车内部和外部零件。焊接机器人具有特定的接近度,可以帮助它们正常运行。此外,焊接机器人配备了传感器和控制器,可以均匀地进行焊接。 近年来,随着经济的持续增长,产业结构的不断变化,人工成本开始成为制约工业制造业升级的重要因素,招工难、用工难、留工难等问题,日益困扰着企业的有效发展。在此背景下,当前工业焊接领域正在迎来生产模式的全面升级,以焊接机器人为代表的新型焊接模式,正在打破传统人工作业所带来的成本、环境、工作强度和专业要求等多重限制,凭借着各种新型科技的融合,推动着工业焊接走向智能化、精准化、高效化的发展之路。 (二)项目选址 xxx出口加工区

焊接机器人的现状及发展趋势

焊接机器人的现状及发展趋势 2009-03-11 11:03:46| 分类:机器人系统集成相| 标签:|字号大中小订阅 焊接机器人的现状及发展趋势 众所周知,焊接加工一方面要求焊工要有熟练的操作技能、丰富的实践经验、稳定的焊 接水平;另一方面,焊接又是一种劳动条件差、烟尘多、热辐射大、危险性高的工作。工业机 器人的出现使人们自然而然首先想到用它代 替人的手工焊接,减轻焊工的劳动强度,同时 也可以保证焊接质量和提高焊接效率。 然而,焊接又与其它工业加工过程不一样,比如,电弧焊过程中,被焊工件由于局 部加热熔化和冷却产生变形,焊缝的轨迹会因 此而发生变化。手工焊时有经验的焊工可以根 据眼睛所观察到的实际焊缝位置适时地调整 焊枪的位置、姿态和行走的速度,以适应焊缝 轨迹的变化。然而机器人要适应这种变化,必 须首先像人一样要“看”到这种变化,然后采取

相应的措施调整焊枪的位置和状态,实现对焊缝的实时跟踪。由于电弧焊接过程中有强烈弧光、电弧噪音、烟尘、熔滴过渡不稳定引起的焊丝短路、大电流强磁场等复杂的环境因素的存在,机器人要检测和识别焊缝所需要的信号特征的提取并不像工业制造中其它加工过程的检测那么容易,因此,焊接机器人的应用并不是一开始就用于电弧焊过程的。 实际上,工业机器人在焊接领域的应用最早是从汽车装配生产线上的电阻点焊开始的。原因在于电阻点焊的过程相对比较简单,控制方便,且不需要焊缝轨迹跟踪,对机器人的精度和重复精度的控制要求比较低。图5所示为不同形式的机器人点焊钳。点焊机器人在汽车装配生产线上的大量应用大大提高了汽车装配焊接的生产率和焊接质量,同时又具有柔性焊接的特点,即只要改变程序,就可在同一条生产线上对不同的车型进行装配焊接。

广数机器人视觉搬运码垛程序注释

广数机器人视觉搬运码 垛程序注释 The document was finally revised on 2021

确保变位机中每个格中只能放6块物块,且每格中颜色必须一致,,其中0度,60度,180度中分别放不同颜色的三种物块, #Modification Date:2044-3-5 #Copy Source:[******] #Sub Type:BY #Size:1024 byte #Comment:This is a job #Write protect:FALSE #Axis Num:7 U1=,,,,,,,0,0; U8=,,,,,,,0,0; T9=,,,,,,,0,0; P0=,,,,,,,,9,1; P13=,,,,,,,,9,8; P100=,,,,,,,,9,8; P101=,,,,,,,,9,8; P102=,,,,,,,,9,8; P103=,,,,,,,,9,8; P104=,,,,,,,,9,8; MAIN; SET R3 ,3 ; //设定红色物块取料次数,例如3次 SET R4 ,3 ; //设定蓝色物块取料次数,例如3次 SET R5 ,3 ; //设定黄色物块取料次数,例如3次 SET R0 ,0 ; //红色物块取料次数,计数累加变量

SET R1 ,0 ; //蓝色物块取料次数,计数累加变量 SET R2 ,0 ; //黄色物块取料次数,计数累加变量 SETE PX20 (0) ,0 ; //取料时向下的平移累加位姿变量清零 SETE PX20 (3) , ; //平移位姿变量平移累加量Z方向每次偏移 SETE PX21 (0) ,0 ; //放料时向上的平移累加位姿变量清零 SETE PX21 (3) ,19 ; //平移位姿变量平移累加量Z方向每次偏移19mm SETE PX22 (0) ,0 ; //取料平移变量 SETE PX23 (0) ,0 ; //放料平移变量 MOVJ P*,,,,,,,,9,8),V20,Z0;//安全等待点位置 DOUT OT12 ,ON ; //夹爪气缸夹紧信号打开夹爪夹紧 DOUT OT13 ,OFF ; //夹爪气缸松开信号关闭 LAB90 : //红色物块取料标签号 MOVL P*,,,,,,,,9,8),V100,Z0,E1,EV10;//红色物块取料点上方,变位机角度移至0度SHIFTON PX22 ; //平移开始 MOVL P*,,,,,,,,9,8),V100,Z0;//红色物块取料点 DOUT OT12 ,OFF ; //夹爪气缸夹紧信号关闭 DOUT OT13 ,ON ; //夹爪气缸松开信号打开夹爪开取料 DELAY ; //延时秒 SHIFTOFF; //平移结束标志 ADD PX22 ,PX20 ; //取料处每红色物块执行取料一次,平移变量PX22=PX22+PX20 MOVL P*,,,,,,,,9,8),V100,Z0; //取料点上方 JUMP LAB80 ; //跳转指令JUMP ,跳转到标签80处 LAB91 : //蓝色物块取料标签号 MOVL P*,,,,,,,,9,8),V100,Z0,E1,EV10; //蓝色物块取料点上方,变位机角度移至60度SHIFTON PX22 ; //平移开始

焊接变位机设计准则

珠海固得焊接自动化设备有限公司陈裕川江维何奕波摘要:在现代焊接机器人工作站中,变位机是实现高效、优质焊接生产的重要组成珠海固得焊接自动化设备有限公司陈裕川江维何奕波 摘要:在现代焊接机器人工作站中,变位机是实现高效、优质焊接生产的重要组成部件。本文概述了机器人焊接变位机的种类和结构形式,列举了焊接变位机在机器人工作站中典型的应用实例,详细地论述了机器人焊接变位机的技术要求、设计准则和计算方法,介绍了标准型机器人变位机的主要技术特性参数。 关键词:机器人工作站;变位机;设计准则 1 前言 在现代工业生产中,机器人的应用越来越普遍。为充分发挥机器人的功效,其通常与各种焊接变位机组合使用,从而实现高效、优质的焊接生产。目前,焊接变位机已成为焊接机器人工作站不可缺少的组成部分。一台较复杂的多轴焊接变位机的价格往往超过标准机器人本身的价格,可见焊接变位机的重要性。因此,必须重视焊接变位机的设计与制造。迄今,我国尚未制定焊接变位机设计规程,本文根据相关的技术文献,概括地讨论了机器人焊接变位机的设计准则。 2 焊接变位机的种类 目前,与机器人配套使用的焊接变位机有多种结构形式。现将最常用的焊接变位机分述如下: 2.1 固定式回转平台。这是一种最简单的单轴变位机,其结构形式见图1。工作平台可采用电机或风动马达驱动。通常工作平台的回转速度是固定不变的,其功能是配合机器人按预编程序将工件旋转一定的角度。 2.2 头架变位机。头架变位机也是一种单轴变位机,其结构形式如图2所示, 卡盘通常由电机驱动。与回转平台不同,其旋转轴是水平的,适用于装卡短小型工件,可配合机器人将工件接缝转到适于焊接的位置。 2.3 头尾架变位机。头尾架变位机由头架和尾架组成,其结构形式见图3,是机器人工作站最常用的变位机。在一般情况下,头架装有驱动机构,带动卡盘绕水平轴旋转。尾架则是被动的。如工件长度较大或刚度较小,亦可将尾架装上驱动机构,并与头架同步起动。严格地说,头尾架变位机仍属于单轴变位机。尾架在机座轨道上的水平移动在装卡工件时起作用,不与机器人协调动作。

焊接机器人发展现状及发展趋势!

焊接机器人发展现状 我国的工业机器人从80年代“七五”科技攻关开始起步,目前已基本掌握了机器人操作机的设计制造技术、控制系统硬件和软件设计技术、运动学和轨迹规划技术,生产了部分机器人关键元器件,开发出喷漆、弧焊、点焊、装配、搬运等机器人;弧焊机器人已应用在汽车制造厂的焊装线上。但总的来看,我国的工业机器人技术及其工程应用的水平和国外比还有一定的距离,如:可靠性低于国外产品;机器人应用工程起步较晚,应用领域窄,生产线系统技术与国外比有差距;应用规模小,没有形成机器人产业。 当前我国的机器人生产都是应用户的要求,单户单次重新设计,品种规格多、批量小、零部件通用化程度低、供货周期长、成本也不低,而且质量、可靠性不稳定。因此迫切需要解决产业化前期的关键技术,对产品进行全面规划,搞好系列化、通用化、模块化设计,积极推进产业化进程。 焊接机器人的编程方法目前还是以在线示教方式为主,但编程器的界面比过去有了不少改进,尤其是液晶图形显示屏的采用使新的焊接机器人的编程界面更趋友好、操作更容易。然而,机器人编程时焊缝轨迹上的关键点坐标位置仍必须通过示教方式获取,然后存入程序的运动指令中。这对于一些复杂形状的焊缝轨迹来说,必须花费大量的时间示教,从而降低了机器人的使用效率,也增加了编程人员的劳动强度。目前解决的方法有两种:一是示教编程时只是粗略获取几个焊缝轨迹上的几个关键点,然后通过焊接机器人的视觉传感器通常是电弧传感器或激光视觉传感器自动跟踪实际的焊缝轨迹。这种方式虽然仍离不开示教编程但在一定程度上可以减轻示教编程的强度,提高编程效率。由于电弧焊本身的特点,机器人的视觉传感器并不是对所有焊缝形式都适用。二是采取完全离线编程的办法,使机器人焊接程序的编制、焊缝轨迹坐标位置的获取、以及程序的调试均在一台计算机上独立完成,不需要机器人本身的参与。机器人离线编程早在多年以前就有,只是由于当时受计算机性能的限制,离线编程软件以文本方式为主,编程员需要熟悉机器人的所有指令系统和语法,还要知道如何确定焊缝轨迹的空间位置坐标,因此,编程工作并不轻松省时。随着计算机性能的提高和计算机三维图形技术的发展,机器人离线编程系统多数可在三维图形环境下运行,编程界面友好、方便,获取焊缝轨迹的坐标位置通常可以采用“虚拟示教”的办法,用鼠标轻松点击三维虚拟环境中工件的焊接部位即可获得该点的空间坐标;在有些系统中,可通过图形文件中事先定义的焊缝位置直接生成焊缝轨迹,然后自动生成机器人程序并下载到机器人控制系统。从而大大提高了机器人的编程效率,也减轻了编程员的劳动强度。目前,国际市场上已有基于普通机的商用机器人离线编程软件,通过虚拟示教获得,并在三维图形环境中可让机器人按程序中的轨迹作模拟运动,以此检验其准确性和合理性。所编程序可通过网络直接下载给机器人控制器。 焊接机器人发展趋势 目前国际机器人界都在加大科研力度,进行机器人共性技术的研究。从机器人技术发展趋势看,焊接机器人和其它工业机器人一样,不断向智能化和多样化方向发展。具体而言,表现在如下几个方面: 1).机器人操作机结构: 通过有限元分析、模态分析及仿真设计等现代设计方法的运用,实现机器人操作机构的优化设计。 探索新的高强度轻质材料,进一步提高负载/自重比。例如,以德国KUKA公司为代表的机器人公司,已将机器人并联平行四边形结构改为开链结构,拓展了机器人的工作范围,加之轻质铝合金材料的应用,大大提高了机器人的性能。此外采用先进的RV减速器及交流伺服电机,使机器人操作机几乎成为免维护系统。

五自由度焊接机器人的设计

摘要 据不完全统计,全世界在役的工业机器人中大约有将近一半的工业机器人用于各种形式的焊接加工领域,焊接机器人应用中最普遍的主要有两种方式,即点焊和电弧焊。我们所说的焊接机器人其实就是在焊接生产领域代替焊工从事焊接任务的工业机器人。这些焊接机器人中有的是为某种焊接方式专门设计的,而大多数的焊接机器人其实就是通用的工业机器人装上某种焊接工具而构成的。在多任务环境中,一台机器人甚至可以完成包括焊接在内的抓物、搬运、安装、焊接、卸料等多种任务,因此,从某种意义上来说,工业机器人的发展历史就是焊接机器人的发展历史。 众所周知,焊接加工一方面要求焊工要有熟练的操作技能、丰富的实践经验、稳定的焊接水平;另一方面,焊接又是一种劳动条件差、烟尘多、热辐射大、危险性高的工作。工业机器人的出现使人们自然而然首先想到用它代替人的手工焊接,减轻焊工的劳动强度,同时也可以保证焊接质量和提高焊接效率。 本次我所设计的机器人为五自由度弧焊机器人。本说明书对本次设计的主要考虑内容进行了叙述和讲解,包括机器人的总体设计以及传动系统的构成与设计,电动机的选择,圆锥齿轮的设计与校核,谐波减速器的原理以及选择,腕部转动轴的校核,齿形带规格的选择以及滚动轴承的选择与校核等。 由于设计经验不足以及理论知识的匮乏,本次设计肯定存在许多不足之处,望答辩老师谅解并不吝赐教。 关键词焊接机器人;齿形带传动;谐波减速器;五自由度

ABSTRCT According to incomplete statistics, nearly half of the world's industrial robots in service are used for welding. The most common application of welding robot are in two main ways, spot welding and arc welding. The welding robot we are talking about is actually industrial robots which are doing the work in the welding tasks instead of welding production welder. Some of this welding robot is specially designed for welding while most of them are actually a common industrial robot fitted with a welding tool. In multi-task environment, a robot can even complete many kinds of work including the grasp of welding, handling, installation, welding, unloading and other tasks,. Therefore, in a sense, the history of the development of industrial robots is the history of the development of welding robot. It is well known that the welding processing on one hand requires on skilled operational skills, rich practical experience and stable level of welding; on the other hand, welding is a work with poor working conditions, dust, and heat radiation and high-risk. The emergence of industrial robots first makes people naturally think of using it to replace the manual welding to reduce labor intensity. But also it ensures the welding quality and enhances the efficiency of welding. The robot I designed is a DOF arc welding robot. The design statement mainly include design of robot's drive system and the its composition, the choice of motor, design of bevel gear and verification, the principle of harmonic reducer and its choice, wrist Check the Department of rotational axis, the choice of rolling bearings and its checking and so on. KEY WORDS welding robot; profile belt transmission; harmonic reducer; 5-DOF

我国焊接机器人的发展现状

随着配置不断升级,焊接机器人已经具备了接触传感、电弧跟踪等多种功能,机器人焊接逐步取代手工焊已成为制造业发展的必然趋势。 焊接作为工业“裁缝”,是汽车工业生产中非常重要的加工手段,焊接质量的好坏对产品质量起着决定性的影响,同时由于焊接烟尘、弧光、金属飞溅的存在,焊接的工作环境又非常恶劣。随着先进制造技术的发展,实现焊接产品制造的自动化、柔性化与智能化已经成为必然趋势,采用机器人焊接已经成为焊接技术自动化的主要标志。 焊接机器人应用的意义 (1)稳定和提高焊接质量焊接过程中焊缝焊接参数都是恒定的,同时减少焊枪抖动等不利因素,保证焊缝的均匀稳定性,提高焊接质量。 (2)提高生产效率焊接机器人可以24h不间断工作,同时随着机械制造技术及自动化技术的发展,机器人焊接效率的提高将更加明显。 (3)降低工人劳动强度?采用机器人焊接,工人只需要装卸工件,远离了焊接弧光、烟雾和飞溅等。对于点焊来说,工人无需搬运笨重的手工焊钳,使工人从高强度的体力劳动中解脱出来。 (4)降低工人操作技术要求焊接机器人的应用,降低了对工人焊接技术的要求,工人只需要对焊接参数进行调整,机器人便可按照指示要求进行工作。 (5)柔性化程度高缩短了产品改型换代的准备周期,减少相应的设备投资;可实现小批量产品的焊接自动化;机器人与专机的最大区别就是可以通过修改程序以适应不同工件的生产。 点焊机器人 在我国,点焊机器人约占焊接机器人总数的46%,主要应用在汽车、农机、摩托车等行业。通常,装配一台轿车的白车身要焊接4000~6000个焊点,只有以机器人为核心组成柔性焊装生产线,才能完成大批量的生产纲领和适应未来新产品开发与多品种生产的发展要求,增强企业应变能力。图1为哈尔滨工业大学和奇瑞汽车有限股份公司联合开发的“QH-165点焊机器人”。 1.点焊机器人的基本组成 点焊机器人分为三部分,即机器人本体、控制系统及点焊焊接系统。 点焊机器人本体主要由机体、臂、手(手指)组成。通用点焊机器人具有六个自由度,即机体腰的回转、肩(臂和机体连接处)的仰俯、肘(各段臂连接处)的屈伸和腕(臂与手连接处)三个方向的转动。前三个自由度使手(手指)抓持的工具如焊钳达到一定位置,后三个自由度再由手腕运动使焊接工具以一定角度(姿势)对准焊件。 点焊机器人的控制系统由本体控制部分及焊接控制部分组成。本体控制部分主要实现示教再现、焊点位置及精度控制。位置控制有两种方式:一种为PTP控制,又称为点位控制或点到点控制,只注意原始点和目标点的位置,经由何种途径到达目标点并无要求;另一种为CP控制,即连续路径控制或轮廓控制。这时不仅要求目标点的位置,而且所经由的轨迹也要符合要求。 焊接控制部分除了控制电极电压、通电焊接、维持等各程序段的时间及程序转换以外,还通过改变主电路晶闸管的导通角而实现焊接电流的控制。焊接系统主要由焊接控制器、焊钳及水、电、气等辅助部分组成。 弧焊机器人 弧焊机器人的研究已经历了三个阶段:示教再现、离线编程和自主编程的智能机器人,当前的应用水平处于第二阶段。我国也从20世纪70年代初开始注重机器人技术的研究,但在机器人产业应用方面仍远远落后于工业发达国家。国内主要有两个机器人制造公司,即首钢莫托曼机器人有限公司和新松机器自动化股份有限公司,图2为首钢莫托曼弧焊机器人。

2 工业机器人搬运单元机器人的编程与调试

(三)工业机器人搬运单元机器人的编程与调试 1.任务描述 本单元机器人使用ABB的IRB120机器人,控制PLC为H2U-3232MT。该单元的机械与电气安装、PLC及机器人的编程与调试已经完成,由于机器人更换电池,其程序和数据丢失,只剩下PLC程序,现在你需要根据以下的模型图(见第2点)、运行功能(见第3点)、机器人控制器地址分配表(表3-1)、PLC IO功能分配表(见表3-2),完成本单元的机器人编程以及相关的IO设置,使机器人能够完成物料瓶搬运、盒盖搬运和标签吸取与贴放过程 (如图3-1所示),要求机器人在运行过程中动作顺畅,无任何机器人本体及夹具与其它机构碰撞现象。 物料瓶放入包装盖上盒盖盖贴上标签 图3-1 包装过程示意图 2.模型图 工业机器人搬运单元主要由IRB120机器人、物料台机构、升降台机构、标签台等组成,详细部件分布见附图12。 3.运行功能 初始位置: 盒盖升降机构处于升降原点传感器位置,底盒升降机构处于升降原点传感器位置,定位气缸处于缩回状态,推料气缸处于缩回状态,机器人夹具吸盘垂直朝上(处于关闭状态)、夹爪朝下(处于张开状态),气源二联件压力表调节到0.4Mpa~0.5Mpa。 控制流程: (1)该单元在单机状态,机器人切换到自动运行状态,按“复位”按钮,单元复位,机器人回到安全原点pHome(要求在pHome点时夹具吸盘垂直朝上,夹爪朝下)。

(2)“复位”灯(黄色灯,下同)闪亮显示; (3)“停止”(红色灯,下同)灯灭; (4)“启动”(绿色灯,下同)灯灭; (6)所有部件回到初始位置; (7)“复位”灯(黄色灯)常亮,系统进入就绪状态。 (8)第一次按“启动”按钮,工业机器人搬运单元盒盖升降机构的推料气缸将物料底盒推出到包装工作台上; (9)同时定位气缸伸出; (10)物料台检测传感器动作; (11)该单元上的机器人开始执行瓶子搬运功能:机器人从检测分拣单元的出料位将物料瓶搬运到包装盒中,路径规划合理,搬运过程中不得与任何机构发生碰撞; ①机器人搬运完一个物料瓶后,若检测检测分拣单元的出料位无物料瓶,则机器人回到原点位置pHome等待,等出料位有物料瓶,再进行下一个的抓取。 ②机器人搬运完一个物料瓶后,若检测检测分拣单元的出料位有物料瓶等待抓取,则机器人无需再回到原点位置pHome,可直接进行抓取,提高效率。 (12)包装盒中装满4个物料瓶后,机器人回到原点位置pHome,即使检测检测分拣单元的出料位有物料瓶,机器人也不再进行抓取,物料瓶搬运顺序如图3-2所示。 ①② ③④ 图3-2 物料瓶工位示意图 (13)推料气缸缩回; (14)第二次按“启动”按钮,机器人开始自动执行盒盖搬运功能:机器人从pHome点到包装盒盖位置,用吸盘将包装盒盖吸取并盖到包装盒上,路径规划合理,加盖过程中不得与任何机构发生碰撞,盖好后回到原点位置pHome;

自动焊接机械手设计说明

自动焊接机械手设计 1 绪论 1.1 技术概述 工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备。特别适合于多品种、变批量的柔性生产。它对稳定、提高产品质量,提高生产效率,改善劳动条件和产品的快速更新换代起着十分重要的作用。 机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域。机器人应用情况,是一个国家工业自动化水平的重要标志。 机器人并不是在简单意义上代替人工的劳动,而是综合了人的特长和机器特长的一种拟人的电子机械装置,既有人对环境状态的快速反应和分析判断能力,又有机器可长时间持续工作、精确度高、抗恶劣环境的能力,从某种意义上说它也是机器的进化过程产物,它是工业以及非产业界的重要生产和服务性设备,也是先进制造技术领域不可缺少的自动化设备。 1.2 现状及国外发展趋势 国外机器人领域发展近几年有如下几个趋势: (1)工业机器人性能不断提高(高速度、高精度、高可靠性、便于操作和维修),而单机价格不断下降,平均单机价格从91年的10.3万美元降至97年的6.5万美元。 (2)机械结构向模块化、可重构化发展。例如关节模块中的伺服电机、减速机、检测系统三位一体化;由关节模块、连杆模块用重组方式构造机器人整机;国外已有模块化装配机器人产品问市。 (3)工业机器人控制系统向基于PC机的开放型控制器方向发展,便于标准化、网络化;器件集成度提高,控制柜日见小巧,且采用模块化结构;大大提高了系统的可靠性、易操作性和可维修性。

焊接机器人技术发展分析

焊接机器人技术发展分析 发表时间:2016-10-20T15:21:22.243Z 来源:《基层建设》2016年12期作者:程元刚[导读] 摘要:科学技术的发展推动了机器人在工业生产中的应用范围的扩大,现阶段机器人技术已经得到了良好的发展。焊接机器人的应用不仅大幅度的提高了焊接生产的效率,还提高了焊接制造的质量,是未来焊接生产的发展方向。本文首先对焊接机器人应用的重要意义进行分析,然后就现阶段焊接机器人技术的研究现状和未来的发展趋势进行探讨,以期为焊接机器人技术的发展提供参考。 佛山市顺德区美的洗涤电器制造有限公司广东佛山摘要:科学技术的发展推动了机器人在工业生产中的应用范围的扩大,现阶段机器人技术已经得到了良好的发展。焊接机器人的应用不仅大幅度的提高了焊接生产的效率,还提高了焊接制造的质量,是未来焊接生产的发展方向。本文首先对焊接机器人应用的重要意义进行分析,然后就现阶段焊接机器人技术的研究现状和未来的发展趋势进行探讨,以期为焊接机器人技术的发展提供参考。关键词:焊接机器人;研究现状;发展趋势焊接作为工业生产中最为重要的阶段,其焊接质量和工艺水平对工业生产产品的质量起着决定性的作用,随着社会的发展工业生产对焊接质量的要求进一步提高,这也就促成了焊接机器人技术的产生和应用。焊接机器人的应用取代了人工劳动,有效避免了焊接过程中弧光、烟尘对焊接工人造成的影响,还进一步提高了焊接生产的效率和质量,已成为焊接生产未来的发展方向。自从美国1959年制造出世界上第一台机器人开始,到现在智能化机器人技术的应用,焊接机器人技术经历了三个阶段:第一各阶段的机器人为示教再现型机器人,这类机器人不能够向外界反馈信息,自身的可适应性较差;第二个阶段的机器人为离线编程机器人,这类机器人可以通过传感器对工作状态进行调整,适应性较强;第三个阶段的机器人为智能机器人,其不仅具有感知外界环境的能力还能够进行自行编程、决策,完成复杂任务、可适应性强的机器人。[1]焊接机器人的应用实现了焊接生产的自动化,其已逐渐成为衡量一个国家焊接自动化水平的主要标志。 一、焊接机器人应用重要意义 焊接机器人是随着工业生产水平而发展起来的,其在焊接生产中的应用具有重要的意义,主要体现在以下几方面:①提高了焊接生产的质量,焊接生产中焊接电压、电流、焊接速度等因素以及人工操作对焊接生产的质量起着决定性的作用,焊接机器人的应用有效的降低了认为因素对焊接质量造成的影响,且能够更好的控制焊接的电压、电流、速度,使其保持一致性,从而保证焊接的质量。②提高了生产效率,机器人焊接的速度较人工焊接更快,且其可以24h不停的持续性工作,大大提高了焊接生产的效率。[2]③改善了劳动条件,人工焊接需要面对恶劣的焊接环境,会对焊接工人的身体造成损害,但是焊接机器人的应用使工人只需完成工件的装卸,明显改善了工作的环境,且避免高强度体力劳动。此外焊接机器人的应用有效的缩短了工业产品的生产周期,促进工业产品不断的更新换代。 二、焊接机器人技术的研究现状焊接机器人技术发展至今,得到了不断的改进和完善,就目前来看,国内外对焊接机器人技术的研究主要集中在以下几方面:(一)焊缝跟踪技术 焊缝跟踪技术主要是研究焊接机器人能够根据实际焊接条件的变化对焊缝进行实时的跟踪检测,根据实际焊缝与设计之间的偏差对焊接路径和焊接参数进行调整,以保证焊接的质量。现阶段焊缝跟踪技术主要以传感器技术和控制理论为研究方向,其中传感技术主要以研究电弧传感器和光传感器这两类智能传感器为主,电弧传感器主要是从焊接电弧获取焊缝偏差的信息,光传感器则是依靠视觉传感器和计算机实现焊缝偏差的分析,可显著提高焊接机器人的适应能力。焊缝跟踪控制理论则是运用现代先进的控制理论支持焊缝跟踪技术,提高焊缝跟踪技术的可靠性,现在常用的理论主要有神经网络、模糊控制等理论。(二)离线编程与路径规划技术机器人离线编程系统主要是指利用编程语言通过计算机技术和图形学知识创造虚拟的机器人和工作环境,在不使用机器人进行工作的情况下对运动轨迹进行规划,以便产生更加完善的机器人程序。随着科学技术的进步,焊接机器人的全自动编程将是未来发展的趋势,虽然现阶段还暂时无法实现,但是对于这方面的研究不断增加。(三)多机器人协调控制技术 多机器人协调控制主要研究的内容是通过控制系统实现多个焊接机器人之间的协调工作,使其可以完成某一项任务。多机器人协调控制技术可以实现多个机器人之间的合作、协调,不仅可以使单个机器人完成相应的焊接操作,还可以其他机器人相联合完成一系列的焊接要求,这就需要建立一个合理的多智能控制系统。此外如何使机器人与外周设备进行有效的合作也是协调控制技术的研究方向。(四)专用弧焊电源 焊接机器人技术的研究除了控制技术、系统设计等机器人本体的研究还需要对机器人使用的弧焊电源进行充分的研究。近年来对弧焊电源的研究从常用的电源到基于单片机的晶体管式弧焊电源,再到带有专家系统的焊接电源(MIG/MAG),弧焊电源已经得到快速地更新。现阶段,弧焊电源主要朝着数字化方向发展,是焊接中焊机的工作信息以数字的形式显示出来,能够保证焊接参数的稳定,避免外界的干扰,而且更易调节,提高了焊接加工的质量。(五)仿真技术 仿真技术主要研究的是在焊接机器人设计的过程中通过采用机器人学理论、计算机图形技术、CAD技术等在计算机中形成几何图形,将机器人工作构件的运动、运动学分解、碰撞干涉等通过动画的形式显示、模拟,以更好的解决机器人设计中出现的技术问题。(六)机器人用焊接工艺方法 目前世界上应用较多的焊接技术主要是气体保护焊,主要包括富氩混合气体保护焊和融化极氩弧焊等两组类型,此外还有应用较为广泛的钨极氩气保护焊。部分科技比较先进的国家则采用热丝TIG焊、热丝等离子以及TIME焊等方法,这些工方法不仅能够保证优良的焊接接头,还大幅度提高了焊接的速度和熔敷效率。[3] 三、焊接机器人技术的发展趋势(一)虚拟现实 虚拟现实技术是一种将显示技术、传感技术和3D图形学技术结合在一起,实现对事件现实性从空间和时间进行分解和重组的技术,可以通多媒体技术、临场传感、虚拟现实等与机器人进行交互联系,做到对机器人的虚拟遥控。(二)多传感器信息智能融合技术

相关文档
最新文档