ABB robotstudio使用详细步骤文档格式.docx

上传人:b****0 文档编号:13283703 上传时间:2022-10-09 格式:DOCX 页数:25 大小:1.57MB
下载 相关 举报
ABB robotstudio使用详细步骤文档格式.docx_第1页
第1页 / 共25页
ABB robotstudio使用详细步骤文档格式.docx_第2页
第2页 / 共25页
ABB robotstudio使用详细步骤文档格式.docx_第3页
第3页 / 共25页
ABB robotstudio使用详细步骤文档格式.docx_第4页
第4页 / 共25页
ABB robotstudio使用详细步骤文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

ABB robotstudio使用详细步骤文档格式.docx

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

ABB robotstudio使用详细步骤文档格式.docx

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:

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

PERSnumnCount1:

=1;

PERSnumnCount2:

输送链计数

PROCMain()

rInitAll;

WHILETRUEDO

IFdiBoxInPos1=1ANDdiPalletInPos1=1ANDbPalletFull1=FALSETHEN

rPick1;

rPlace1;

ENDIF

IFdiBoxInPos2=1ANDdiPalletInPos2=1ANDbPalletFull2=FALSETHEN

rPick2;

rPlace2;

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:

bPalletFull1:

nCount1:

bPalletFull2:

nCount2:

PROCrPick1()

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

MoveLpPick1,MinSpeed,fine,tGrip\WObj:

SetdoGrip;

WaitTime0.3;

GripLoadLoadFull;

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

PROCrPick2()

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

MoveLpPick2,MinSpeed,fine,tGrip\WObj:

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

PROCrPlace1()

rPosition1;

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

MoveLpPlace1,MinSpeed,fine,tGrip\WObj:

GripLoadLoadEmpty;

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

=nCount1+1;

IFnCount1>

20THEN

=TRUE;

PROCrPlace2()

rPosition2;

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

MoveLpPlace2,MinSpeed,fine,tGrip\WObj:

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

=nCount2+1;

IFnCount2>

PROCrPosition1()

TESTnCount1

CASE1:

pPlace1:

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

CASE2:

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

CASE3:

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

CASE4:

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

CASE5:

=Offs(pBase1_90,800+20,400+

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

当前位置:首页 > 自然科学 > 物理

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

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