ABBrobotstudio使用详细步骤.docx

上传人:b****7 文档编号:10999953 上传时间:2023-02-24 格式:DOCX 页数:23 大小:269.25KB
下载 相关 举报
ABBrobotstudio使用详细步骤.docx_第1页
第1页 / 共23页
ABBrobotstudio使用详细步骤.docx_第2页
第2页 / 共23页
ABBrobotstudio使用详细步骤.docx_第3页
第3页 / 共23页
ABBrobotstudio使用详细步骤.docx_第4页
第4页 / 共23页
ABBrobotstudio使用详细步骤.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

ABBrobotstudio使用详细步骤.docx

《ABBrobotstudio使用详细步骤.docx》由会员分享,可在线阅读,更多相关《ABBrobotstudio使用详细步骤.docx(23页珍藏版)》请在冰豆网上搜索。

ABBrobotstudio使用详细步骤.docx

ABBrobotstudio使用详细步骤

搬运码垛工作站建模

1、创建机器人系统

2、创建动态输送链

3、创建动态夹具

4、工作站逻辑连接

RAPID)

5、添加IO(设置好需重启

6、示教目标点(同步到

7、RAPID编程

、创建机器人系统

1、创建空工作站

机器人模型IRB2602、导入

网络709-1和Chinese、从布局创建机器人系统,勾选3.

二、创建动态输送链

1、添加输送链并修改位置

勺H--.7-

rPM?

打T玮J*-JU*Jl虫乩

幣VWwn

壮farlltBp|

"■11—

■cm•幣

审mba&鼻«-■is

K

IMbac;

:

X

Q3*^4虫

*■L—十

3

7*Hu-l—V*「

i24

VeX*1!

^

—'・l,LBi'Uj

■—

-A

A

KA

k-

K3

并修改位置600*400*2002、创建的物料

3、添加一个smart组件

jr—TJi■>

气特+1住乩斗--J…m"L

source、添加组件4

 

o

设置物料本地原点

5

亦件

子曲4itr

1'>

F虫*1

I未保<7工tf站J・AfiiBiRabc>l^Tu

SfJT匚d

卩^RDAdd-Jni

Sour?

*

Y理IS_£L+怪仲丄徉詁”

£&H

..±S处鉉

匚X

]«.£i

Hw|

D00

00

■I

0oo

iu«GIe氐

GOkrOOD

 

和QUEUE组件LINEM0VER6、添加

属性LINEMOVER设置

p,1v■■■s>>

-i-nsoiil

SiCM'*

Snnrrt^i

7

疇ItCH+V

P*^K—ifl

•站AMP*

寻斗几耳宦

可见

•(

•SB

(L;1

宦Eg

^j=^UC^

01

童弐也b

yi^:

«s-

8、添加面传感器组件

$w

■CTTT/-

%*r3

・l出

b丨4

■ritr"■”!

严・fz

述1.1.1E〕

..JJ〜半側牛

亡向Idjte'i

o.tnNd.tnZ|h.m

IF■一行]

丨触汽式

弓启15显蜩|-K

■1^1[st绪出id

了叶呼扫工诈;占]*疣件

亠上l甘;士d

娄SC_S送維

i3=tm*.■旦mi迥£丄

、设置输送链不能被传感器检测

■性Lttiw覘Ee,*M

Ixil

dbj^-1

站呂=ti丁典m'

-LED?

D.CDp[]JO

■«」/:

£〕

 

丨gfflir^a

厨圧叫*1口"址

ijrj.rjn6ih1

1001.00--£20.01:

"Ti」L:

faLil&

|o.n~宁删00mT

山;讶g;

|a?

M-~評宝E养

-■fiin.E*ri?

'»r,l

输送链的属性连接、设置10SC_

11、设置信号连接

h

豌Ctrl-X

E*.cifl-c

■■l

岂5UClrl-°ii,

¥

a

己哋二忖焊

k

h7£■

^i*JLX5

WSM

1*9"

J--">*

、添加信号处理组件,用于检测传感器下降沿

12

 

p

:

qgT-i>tj_■

J+.35^T

KKASJTJoKEL

I?

WM

TTT―1

SC端讣粧呼I■

樹]E哇匚二Mt聞”

 

copy

进行source、传感器下降沿触发

13.

円■号

£・川£仙4口=工勺烂L:

FflH£

□hr»

口gI・

%JE送騎

ksrF

r^iir■*

iFwil^l

Mafia*

llQIi-bft

F:

pur«wAti

QtibI^

亠hr^留申「皿friilUiATK

SC、传感器与输送链的输出联系14

、添加仿真开始结束组件,用于激活传感器

虫SC_・迖髄俱—I耳

QliI虹HZi_^兰

仲I#

A

bh-SS

比E炖

1;■甘崛胃

■e怙

^84*■

%•■*-

即■•■Sawr

Soi«ra<7vl

Gw±

3tal|MU«

1.诂|■帝-|WT|

E

LTa^iFmr

『E詰

1-.rirHu-IjEHj

A.jj-.

11■!

&lu

|亡Pj"UJfclz_!

」-:

■:

ffiJU-」-「亠4ll'f-

上dh>

g=¥_S・3?

S玄

包SC■逸醉知

住工g主*騙二壬总I?

更.•

K»匚辱

 

F,nr

R^e

-m.ri

^PiHrw

■"■TV9i-

la«T«

皿,

Qw

1'I-!

>1raT

JIfivti-d1

QiiHi-

TnhrIF

L\grSw*-凶E1

AlRt

l'lflpl

Ti(^j亀

17、

輕sc输送谍

了对显栩ft

JTd…亠

[-上■如如丄

-

 

三、创建动态夹具

1、先制作一个吸盘模型,然后设置成工具,并安装到机器人法拉盘

心6C

 

 

组件SMART、添力廿

2.

DETACHER组件和、添加3ATTACHER.

、设置属性

jfliifffttt^nffa

应列HTl(UHDAddJni亡

 

津5\S_丁只X

刪sc_rM阿二

臥丛箱抽比耳幡站谢

-TH■變轉矗M明违*BXK1«

l屈<ir广且

3JHU与淫曲借号相辻扩斛

干/mrt

A.1tnclHiF

石丈■个丽

叭纽40尸

抵总一"己ST粧丈金

、添加一个线传感器组件5.

、线传感器设置属性

 

 

 

7、设置吸盘工具不能被传感器检测

rESI?

iLWWEJIEV•

 

礼|口_M__L«X

翩SC工具

工甘鼻炀址

、把线传感器安装到吸盘(不更新位置,保持当前位置)

苫1161jkTtfjttr*«

9、设置属性连接

、添加信号及连接

“矯3CJCB

丄:

站TocLtr甘It-^cktr

£L1*uJ<1iL,

£trl*X

lilY

 

耳存TnSfc-ri-,

豎伍・

15■■:

-兰

 

 

添加信号处理取非和锁定组件11

I'.l

*

■BCOJL

Bad|f1

«R

lUBJfeO.H兀2器_出.

1

化眈栄

WIT

jdpan

 

继续信号连接

 

12

押SC__L具J

■霍He豈二丸m

a慎巧

VFIEP虫二且:

比世

囂珂羊0Ft二鼻KHI.1

SF-S

HU7iF

a■亠

■raa

Jud!

#;tf

du;u.a&

tir^«Hi

klluho-

Fkm«■

 

、添加一个示教物料13

工具SC、应用手动线性验证

ff>f

uuMsidu常g

K>詐

¥

ffiwc■

1j:

r

-pit

 

Si3id.=

F"fWHkl

bCQB

皿准

■FfL

UW1V

UW

La.MMBr

*E■»・■&■!

liH1fa:

-w

IiHd.

XuBiin_*.r^nE]

~i^Lh

1如

3.3

I?

™d.i

四、工作站逻辑连接

■lAp-ruMMrvxr

l>*5>lr«fMSTFM"klj!

-!

7L:

H-flLI*"*'

lUMriBLilMLilfM:

3d」■

Zli.1■.rrh.n乙崔WE.1J1L»—..1.»n.B|!

<11

五、参考代码

MODULEMainMoudle

PERStooldatatGrip:

=[TRUE,[[0,0,200],[1,0,0,0]],[25,[0,0.00109327,116.889],[1,0,0,0],0,0,0]];

吸盘工具数据

PERSloaddataLoadEmpty:

=[0.01,[0,0,1],[1,0,0,0],0,0,0];

PERSloaddataLoadFull:

=[40,[0,0,50],[1,0,0,0],0,0,0];

有效载荷数据

PERSrobtarget

pHome:

=[[1620.00,-0.00,1331.59],[1.27986E-06,-0.707107,-0.707107,1.27986E-06],[0,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

基准点

PERSrobtarget

pActualPos:

=[[1620,-1.87531E-14,1331.59],[1.27986E-06,-0.707107,-0.707107,1.27986E-06],[0,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

实际点

PERSrobtarget

pPick1:

=[[1488.007792464,376.826660408,476.964684195],[0,0.707106307,0.707107256,0],[0,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

1路拾取目标点

PERSrobtargetpPlace1:

=[[-292.446,1263.27,55.4492],[0,0.707107,0.707106,0],[1,0,2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

1路放置基准点

PERSrobtarget

pBase1_0:

=[[-292.446294945,1263.272085268,55.449220723],[0,0.707107387,0.707106176

0],[1,0,2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

1路放置0度姿态

PERSrobtargetpBase1_90:

=[[-391.976797324,1362.469634994,55.449159414],[0,1,-0.000030621,0],[1,0,3,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

1路放置90度姿态

PERSrobtargetpPick2:

=[[1488.013130905,-358.406014736,476.965039287],[0,0.707106307,0.707107256,0],[-1,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERSrobtargetpPlace2:

=[[-317.378,-1857.99,55.449],[0,0.707108,0.707106,0],[-2,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

PERSrobtargetpBase2_0:

=[[-317.378137718,-1857.993871961,55.448967354],[0,0.707107745,0.707105817,0],[-2,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERSrobtargetpBase2_90:

=[[-407.525988074,-1755.902485322,55.449282402],[0,1,-0.000031217,0],[-2,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

PERSspeeddataMinSpeed:

=[1000,300,5000,1000];

PERSspeeddataMidSpeed:

=[2500,400,5000,1000];

PERSspeeddataMaxSpeed:

=[4000,500,5000,1000];

搬运速度定义

PERSboolbPalletFull1:

=FALSE;

PERSboolbPalletFull2:

=FALSE;

!

逻辑布尔量,拾取后为UE,放置后为FALSE

PERSnumnCount1:

=1;

PERSnumnCount2:

=1;

!

输送链计数

PROCMain()

rInitAll;

WHILETRUEDO

IFdiBoxInPos1=1ANDdiPalletInPos1=1ANDbPalletFull1=FALSETHENrPick1;

rPlace1;

ENDIF

IFdiBoxInPos2=1ANDdiPalletInPos2=1ANDbPalletFull2=FALSETHENrPick2;

rPlace2;

ENDIF

WaitTime0.1;

ENDWHILE

ENDPROC

PROCrInitAll()

ResetdoGrip;

pActualPos:

=CRobT(\tool:

=tGrip);

pActualPos.trans.z:

=pHome.trans.z;

MoveLpActualPos,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpHome,MidSpeed,fine,tGrip\WObj:

=wobj0;

bPalletFull1:

=FALSE;

nCount1:

=1;

bPalletFull2:

=FALSE;

nCount2:

=1;

ENDPROC

PROCrPick1()

MoveJOffs(pPick1,0,0,400),MaxSpeed,z50,tGrip\WObj:

=wobj0;

MoveLpPick1,MinSpeed,fine,tGrip\WObj:

=wobj0;

SetdoGrip;

WaitTime0.3;

GripLoadLoadFull;

MoveLOffs(pPick1,0,0,400),MinSpeed,z50,tGrip\WObj:

=wobj0;

ENDPROC

PROCrPick2()

MoveJOffs(pPick2,0,0,400),MaxSpeed,z50,tGrip\WObj:

=wobj0;

MoveLpPick2,MinSpeed,fine,tGrip\WObj:

=wobj0;

SetdoGrip;

WaitTime0.3;

GripLoadLoadFull;

MoveLOffs(pPick2,0,0,400),MinSpeed,z50,tGrip\WObj:

=wobj0;

ENDPROC

PROCrPlace1()

rPosition1;

MoveJOffs(pPlace1,0,0,400),MidSpeed,z50,tGrip\WObj:

=wobj0;

MoveLpPlace1,MinSpeed,fine,tGrip\WObj:

=wobj0;

ResetdoGrip;

WaitTime0.3;

GripLoadLoadEmpty;

MoveLOffs(pPlace1,0,0,400),MidSpeed,z50,tGrip\WObj:

=wobj0;

MoveJOffs(pPick1,0,0,400),MaxSpeed,z50,tGrip\WObj:

=wobj0;nCount1:

=nCount1+1;

IFnCount1>20THEN

bPalletFull1:

=TRUE;

ENDIF

ENDPROC

PROCrPlace2()

rPosition2;

MoveJOffs(pPlace2,0,0,400),MaxSpeed,z50,tGrip\WObj:

=wobj0;

MoveLpPlace2,MinSpeed,fine,tGrip\WObj:

=wobj0;

ResetdoGrip;

WaitTime0.3;

GripLoadLoadEmpty;

MoveLOffs(pPlace2,0,0,400),MidSpeed,z50,tGrip\WObj:

=wobj0;

MoveJOffs(pPick2,0,0,400),MaxSpeed,z50,tGrip\WObj:

=wobj0;nCount2:

=nCount2+1;

IFnCount2>20THEN

bPalletFull2:

=TRUE;

ENDIF

ENDPROC

PROCrPosition1()

TESTnCount1

CASE1:

pPlace1:

=Offs(pBase1_0,0,0,0);

CASE2:

pPlace1:

=Offs(pBase1_0,600+10,0,0);

CASE3:

pPlace1:

=Offs(pBase1_90,0,400+10,0);

CASE4:

pPlace1:

=Offs(pBase1_90,400+10,400+10,0);

CASE5:

pPlace1:

=Offs(pBase1_90,800+20,400+10,0);

CASE6:

pPlace1:

=Offs(pBase1_0,0,600+10,200);

CASE7:

pPlace1:

=Offs(pBase1_0,600+10,600+10,200);

CASE8:

pPlace1:

=Offs(pBase1_90,0,0,200);

CASE9:

pPlace1:

=Offs(pBase1_90,400+10,0,200);

CASE10:

pPlace1:

=Offs(pBase1_90,800+20,0,200);

CASE11:

pPlace1:

=Offs(pBase1_0,0,0,400);

CASE12:

pPlace1:

=Offs(pBase1_0,600+10,0,400);

CASE13:

pPlace1:

=Offs(pBase1_90,0,400+10,400);

CASE14:

pPlace1:

=Offs(pBase1_90,400+10,400+10,400);

CASE15:

pPlace1:

=Offs(pBase1_90,800+20,400+10,400);

CASE16:

pPlace1:

=Offs(pBase1_0,0,600+10,600);

CASE17:

pPlace1:

=Offs(pBase1_0,600+10,600+10,600);

CASE18:

pPlace1:

=Offs(pBase1_90,0,0,600);

CASE19:

pPlace1:

=Offs(pBase1_90,400+10,0,600);

CASE20:

pPlace1:

=Offs(pBase1_90,800+20,0,600);

DEFAULT:

TPErase;

TPWriteheCounterofline1iserror,pleasecheckit!

;Stop;

ENDTEST

ENDPROC

PROCrPosition2()

TESTnCount2

CASE1:

pPlace2:

=Offs(pBase2_0,0,0,0);

CASE2:

pPlace2:

=Offs(pBase2_0,600+10,0,0);

CASE3:

pPlace2:

=Offs(pBase2_90,0,400+10,0);

CASE4:

pPlace2:

=Offs(pBase2_90,400+10,400+10,0);

CASE5:

pPlace2:

=Offs(pBase2_90,800+20,400+10,0);

CASE6:

pPlace2:

=Offs(pBase2_0,0,600+10,200);

CASE7:

pPlace2:

=Offs(pBase2_0,600+10,600+10,200);

CASE8:

pPlace2:

=Offs(pBase2_90,0,0,200);

CASE9:

pPlace2:

=Offs(pBase2_90,400+10,0,200);

CASE10:

pPlace2:

=Offs(pBase2_90,800+20,0,200);

CASE11:

pPlace2:

=Offs(pBase2_0,0,0,400);

CASE12:

pPlace2:

=Offs(pBase2_0,600+10,0,400);

CASE13:

pPlace2:

=Offs(pBase2_90,0,400+10,400);

CASE14:

pPlace2:

=Offs(pBase2_90,400+10,400+10,400);

CASE15:

pPlace2:

=Offs(pBase2_90,800+20,400+10,400);

CASE16:

pPlace2:

=Offs(pBase2_0,0,600+10,600);

CASE17:

pPlace2:

=Offs(pBase2_0,600+10,600+10,600);

CASE18:

pPlace2:

=Offs(pBase2_90,0,0,600);

CASE19:

pPlace2:

=Offs(pBase2_90,400+10,0,600);

CASE20:

pPlace2:

=Offs(pBase2_90,800+20,0,600);

DEFAULT:

TPErase;

TPWriteheCounterofline1iserror,pleasecheckit!

;Sto

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

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1