ABBrobotstudio使用详细步骤.docx

上传人:b****3 文档编号:5151528 上传时间:2023-05-08 格式:DOCX 页数:27 大小:1.57MB
下载 相关 举报
ABBrobotstudio使用详细步骤.docx_第1页
第1页 / 共27页
ABBrobotstudio使用详细步骤.docx_第2页
第2页 / 共27页
ABBrobotstudio使用详细步骤.docx_第3页
第3页 / 共27页
ABBrobotstudio使用详细步骤.docx_第4页
第4页 / 共27页
ABBrobotstudio使用详细步骤.docx_第5页
第5页 / 共27页
ABBrobotstudio使用详细步骤.docx_第6页
第6页 / 共27页
ABBrobotstudio使用详细步骤.docx_第7页
第7页 / 共27页
ABBrobotstudio使用详细步骤.docx_第8页
第8页 / 共27页
ABBrobotstudio使用详细步骤.docx_第9页
第9页 / 共27页
ABBrobotstudio使用详细步骤.docx_第10页
第10页 / 共27页
ABBrobotstudio使用详细步骤.docx_第11页
第11页 / 共27页
ABBrobotstudio使用详细步骤.docx_第12页
第12页 / 共27页
ABBrobotstudio使用详细步骤.docx_第13页
第13页 / 共27页
ABBrobotstudio使用详细步骤.docx_第14页
第14页 / 共27页
ABBrobotstudio使用详细步骤.docx_第15页
第15页 / 共27页
ABBrobotstudio使用详细步骤.docx_第16页
第16页 / 共27页
ABBrobotstudio使用详细步骤.docx_第17页
第17页 / 共27页
ABBrobotstudio使用详细步骤.docx_第18页
第18页 / 共27页
ABBrobotstudio使用详细步骤.docx_第19页
第19页 / 共27页
ABBrobotstudio使用详细步骤.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ABBrobotstudio使用详细步骤.docx

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

ABBrobotstudio使用详细步骤.docx

ABBrobotstudio使用详细步骤

搬运码垛工作站建模

1、创建机器人系统

2、创建动态输送链

3、创建动态夹具

4、工作站逻辑连接

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

6、示教目标点(同步到RAPID)

7、RAPID编程

 

一、创建机器人系统

1、创建空工作站

2、导入IRB260机器人模型

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

二、创建动态输送链

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

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

3、添加一个smart组件

4、添加source组件

 

5、设置物料本地原点

6、添加LINEMOVER和QUEUE组件

7设置LINEMOVER属性

8、添加面传感器组件

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

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

11、设置信号连接

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

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

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

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

16、添加置位复位组件,对仿真开始结束信号进行保持

17、

18、进行仿真设定选择SC——输送链进行验证

 

三、创建动态夹具

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

2、添加SMART组件

3、添加ATTACHER和DETACHER组件

4、设置属性

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

6、线传感器设置属性

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

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

9、设置属性连接

10、添加信号及连接

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

12、继续信号连接

13、添加一个示教物料

14、应用手动线性验证SC_工具

四、工作站逻辑连接

五、参考代码

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];

有效载荷数据

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]];

实际点

PERSrobtargetpPick1:

=[[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路放置基准点

PERSrobtargetpBase1_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=FALSETHEN

rPick1;

rPlace1;

ENDIF

IFdiBoxInPos2=1ANDdiPalletInPos2=1ANDbPalletFull2=FALSETHEN

rPick2;

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;

TPWrite"theCounterofline1iserror,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;

TPWrite"theCounterofline1iserror,pleasecheckit!

";

Stop;

ENDTEST

ENDPROC

PROCrModify()

MoveJpHome,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpPick1,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpBase1_0,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpBase1_90,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpPick2,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpBase2_0,MinSpeed,fine,tGrip\WObj:

=wobj0;

MoveJpBase2_90,MinSpeed,fine,tGrip\WObj:

=wobj0;

ENDPROC

ENDMODULE

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

当前位置:首页 > 农林牧渔 > 林学

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

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