ABBrobotstudio使用详细步骤.docx
《ABBrobotstudio使用详细步骤.docx》由会员分享,可在线阅读,更多相关《ABBrobotstudio使用详细步骤.docx(12页珍藏版)》请在冰豆网上搜索。
ABBrobotstudio使用详细步骤
搬运码垛工作站建模
1、创建机器人系统
2、创建动态输送链
3、创建动态夹具
4、工作站逻辑连接
5、添加10(设置好需重启)
6、示教目标点(同步到RAPID
7、RAPID编程
一、创建机器人系统
"厂?
I;;»
1、创建空工作站
•|'IX1,\X\Ly'y'
2、导入IRB260机器人模型
厂————
3、从布局创建机器人系统,勾选Chinese和709-1网络
二、创建动态输送链
\\
1、添加输送链并修改位置
\7iI厂/\\、]丁')
:
—f\\X'
2、创建600*400*200的物料并修改位置
3、添加一个smart组件
4、添加source组件
5、设置物料本地原点
6、添力口LINEMOVER口QUEU组件
7设置LINEMOVE属性
&添加面传感器组件
9、设置输送链不能被传感器检测
10、设置SCJ输送链的属性连接
11、设置信号连接12、添加信号处理组件,用于检测传感器下降沿
13、传感器下降沿触发source进行copy
14、传感器与SC输送链的输出联系
15、添加仿真开始结束组件,用于激活传感器
16、添加置位复位组件,对仿真开始结束信号进行保持
.迦:
|Kjataax.”r
②SC_输送链觥■
win?
富輕IjfD[甲&吓杠3瑁Htt上下
三、创建动态夹具
1、先制作一个吸盘模型,然后设置成工具,并安装到机器人法拉盘
2、添力口SMAR组件
3、添加ATTACHE和DETACHE组件
4、设置属性
5、添加一个线传感器组件
6、线传感器设置属性
7、设置吸盘工具不能被传感器检测
&把线传感器安装到吸盘(不更新位置,保持当前位置)
9、设置属性连接
10、添加信号及连接
11、添加信号处理取非和锁定组件
12、继续信号连接
13、添加一个示教物料
14、应用手动线性验证SC_X具
7r~?
I■■
四、工作站逻辑连接
\11
五、参考代码
MODULEMainMoudle
PERStooldata
tGrip:
二[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];
!
有效载荷数据
PERSrobtargetpHome:
二[[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]];
!
基准点
PERSrobtargetpActualPos:
二[[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]];
!
实际点
!
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路放置基准点
!
1路放置0度姿态
!
1路放置90度姿态
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]];
PERSspeeddataMinSpeed:
二[1000,300,5000,1000];
\\Il\)
PERSspeeddataMidSpeed:
二[2500,400,5000,1000];
PERSspeeddataMaxSpeed:
二[4000,500,5000,1000];
!
搬运速度定义
PERSboolbPalletFull1:
=FALSE;
PERSboolbPalletFull2:
=FALSE;
!
逻辑布尔量,拾取后为UE放置后为FALSE
PERSnumnCount1:
=1;
PERSnumnCount2:
=1;
!
输送链计数
PROCMain()
rInitAII;
WHILETRUEDO
IFdiBoxInPos1=1ANDdiPalletInPos1=1ANDbPalletFull仁FALSETHEN
rPick1;
rPlace1;
ENDIF
IFdiBoxInPos2=1ANDdiPalletInPos2=1ANDbPalletFull2二FALSETHEN
rPick2;
\l*1I//
rPlace2;
ENDIF
*i1rxi■ex\'
i.s.,,/'
WaitTime0.1;
ENDWHILE
ENDPROC
PROCrInitAll()
ResetdoGrip;
•[I;]..■’.■'l
2--T.X.\\//z'
pActualPos:
二CRobT(\tool:
=tGrip);
MoveLpActualPos,MinSpeed,fine,tGrip\WObj:
二wobjO;
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:
二wobjO;
MoveLpPick1,MinSpeed,fine,tGrip\WObj:
二wobjO;
SetdoGrip;
WaitTime0.3;
GripLoadLoadFull;
MoveLOffs(pPick1,0,0,400),MinSpeed,z50,tGrip\WObj:
二wobjO;
ENDPROC
PROCrPick2()
MoveJOffs(pPick2,O,O,4OO),MaxSpeed,z5O,tGrip\WObj:
二wobjO;
MoveLpPick2,MinSpeed,fine,tGrip\WObj:
=wobj0;
SetdoGrip;
*If'7;,■_
WaitTime0.3;
LC,Xjp#jF'
'J1"''IA'*■.
GripLoadLoadFull;
MoveLOffs(pPick2,0,0,400),MinSpeed,z5O,tGrip\WObj:
二wobjO;
ENDPROC
PROCrPlace1()
rPosition1;
MoveJOffs(pPlace1,O,O,4OO),MidSpeed,z5O,tGrip\WObj:
二wobjO;
MoveLpPlace1,MinSpeed,fine,tGrip\WObj:
=wobj0;
ResetdoGrip;
WaitTime0.3;
GripLoadLoadEmpty;
MoveLOffs(pPlace1,O,O,4OO),MidSpeed,z5O,tGrip\WObj:
二wobjO;
MoveJOffs(pPick1,O,O,4OO),MaxSpeed,z5O,tGrip\WObj:
二wobjO;
nCount1:
=nCount1+1;
IFnCount1>20THEN
bPalletFull1:
=TRUE;
ENDIF
ENDPROC
PROCrPlace2()
rPosition2;
MoveJOffs(pPlace2,0,0,400),MaxSpeed,z50,tGrip\WObj:
二wobjO;
MoveLpPlace2,MinSpeed,fine,tGrip\WObj:
二wobjO;
ResetdoGrip;
WaitTime0.3;
GripLoadLoadEmpty;
MoveLOffs(pPlace2,0,0,400),MidSpeed,z50,tGrip\WObj:
二wobjO;
*LfIJ'7-厂-
MoveJOffs(pPick2,0,0,400),MaxSpeed,z50,tGrip\WObj:
二wobjO;
■iJIX1■CX、iy'y'
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);
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);
"厂"丨J,*
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,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;
TPWrite"theCounterofline1iserror,pleasecheckit!
";
Stop;
*LiIf'7;/'
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_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,400+10,0,600);
CASE20:
pPlace2:
=Offs(pBase2_90,800+20,0,600);
DEFAULT:
TPErase;
TPWrite"theCounterofline1iserror,pleasecheckit!
";
Stop;
ENDTEST
ENDPROC
PROCrModify()
MoveJpHome,MinSpeed,fine,tGrip\WObj:
二wobjO;
MoveJpPick1,MinSpeed,fine,tGrip\WObj:
二wobjO;
MoveJpBase1_0,MinSpeed,fine,tGrip\WObj:
二wobjO;
MoveJpBase1_90,MinSpeed,fine,tGrip\WObj:
二wobjO;
MoveJpPick2,MinSpeed,fine,tGrip\WObj:
二wobjO;
MoveJpBase2_0,MinSpeed,fine,tGrip\WObj:
二wobjO;
MoveJpBase2_90,MinSpeed,fine,tGrip\WObj:
二wobjO;
ENDPROC
ENDMODULE