ABB搬运工作站.docx

上传人:b****7 文档编号:10725875 上传时间:2023-02-22 格式:DOCX 页数:38 大小:972.59KB
下载 相关 举报
ABB搬运工作站.docx_第1页
第1页 / 共38页
ABB搬运工作站.docx_第2页
第2页 / 共38页
ABB搬运工作站.docx_第3页
第3页 / 共38页
ABB搬运工作站.docx_第4页
第4页 / 共38页
ABB搬运工作站.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

ABB搬运工作站.docx

《ABB搬运工作站.docx》由会员分享,可在线阅读,更多相关《ABB搬运工作站.docx(38页珍藏版)》请在冰豆网上搜索。

ABB搬运工作站.docx

ABB搬运工作站

 

ABB[a]-ZH-9ABB搬运工作站

9.1任务目标

Ø了解工业机器人搬运工作站布局。

Ø学会搬运常用I/O配置。

Ø学会程序数据创建。

Ø学会目标点示教。

Ø学会程序调试。

Ø学会搬运程序编写。

9.2任务描述

本工作站以太阳能薄板搬运为例,利用IRB120①机器人在流水线上拾取太阳能薄板工件,将其搬运至暂存盒中,以便周转至下一工位进行处理。

本工作站中已经预设搬运动作效果,大家需要在此工作站中依次完成I/O配置、程序数据创建、目标点示教、程序编写及调试,最终完成整个搬运工作站的搬运过程。

通过本章的学习,使大家学会工业机器人的搬运应用,学会工业机器人搬运程序的编写技巧。

ABB机器人在搬运方面有众多成熟的解决方案,在3C、食品、医药、化工、金属加工、太阳能等领域均有广泛的应用,涉及物流输送、周转、仓储等。

采用机器人搬运可大幅提高生产效率、节省劳动力成本、提高定位精度并降低搬运过程中的产品损坏率。

1.ABB推出的一款迄今为止最小的多用途工业机器人——紧凑、敏捷、轻量的六轴IRB120,仅重25kg,

荷重3kg(垂直腕为4kg),工作范围达580mm。

9.3知识储备

9.3.1RobotStudio知识准备

1.工作站共享

在RobotStudio中,一个完整的机器人工作站既包含前台所操作的工作站文件,还包含一个后台运行的机器人系统文件。

当需要共享RobotStudio软件所创建的工作站时,可以利用“文件”菜单中的“共享”功能,使用其中“打包”功能,可以将所创建的机器人工作站打包成工作包(.rspag格式);利用“解包”功能,可以将该工作包在另外的计算机上解包使用。

 

1.打包:

创建一个包含虚拟控制器、库和附加选项媒体库的工作站包。

2.解包:

解包所打包的文件,启动并恢复虚拟控制器,打开工作站。

 

2.加载RAPID程序模块在机器人应用过程中,如果已有一个程序模板,则可以直接将该模板加载至机器人系统中。

例如,已

有1#机器人程序,2#机器人的应用与1#机器人相同,那么可以将1#机器人的程序模块直接导入2#机器人中。

加载方法有以下两种。

(1)软件加载

在RobotStudio中的“RAPID”菜单中可以加载程序模块。

在RobotStudio5.15之前的版本中,此功能在“离线”菜单的中,“在线”菜单中也有该功能,前者针对的是PC端仿真的机器人系统,后者针对的是利用网线连接的真实的机器人系统。

 

1.切换到“RAPID”菜单,展开右侧RAPID,右击“T_ROB1”,选择“加载模块”。

 

2.浏览至需要加载的程序模块文件,单击“打开”按钮。

(2)示教器加载

在示教器中依次单击:

ABB菜单—程序编辑器—模块—文件—加载模块,之后浏览至所需加载的模块进行加载。

 

1.在程序编辑器模块栏中单击“文件”。

2.单击加载模块

 

3.浏览至所需加载的程序模块文件,单击“确定”按钮。

3.加载系统参数在机器人应用过程中,如果已有系统参数文件,则可以直接将该参数文件加载至机器人系统中。

例如,

已有1#机器人I/O配置文件,2#机器人的应用与1#机器人相同,那么可以将1#机器人的I/O配置文件直接导入2#机器人中。

系统参数文件存放在备份文件夹中的SYSPAR文件目录下,其中最常用的是其中的EIO文件,即机器人I/O系统配置文件。

系统参数加载方法有以下两种:

*一般地,两台硬件配置一致的机器人会共享I/O设置文件EIO.cfg,其他的文件可能会造成系统故障。

 

若错误加载参数后,可做一个“I启动”使机器人回到出厂初始状态。

(1)软件加载

在RobotStudio中,“控制器”菜单的“加载参数”功能可以用于加载系统参数。

 

1.在“控制器”菜单中单击“加载参数”

 

2.勾选“载入参数并覆盖重复项”

之后单击“打开”按钮。

3.在“Filename”(即“文件名称”)中输入“EIO”,单击跳出来的EIO.cfg,之后单击“Open”按钮。

 

备份文件夹中的系统参数文件保存在“SYSPAR”文件夹下。

浏览至“SYSPAR”目录后,若不能显示系统参数文件,则需要在“Filename”(即文件名称)中输入“EIO”,则自动跳出“EIO.cfg”,单击“Open”按钮之后即可打开。

(2)示教器加载

在示教器中依次单击:

ABB菜单—控制面板—配置—文件—加载参数,加载方式一般也选取第三项,即

“加载后覆盖重复项”,之后浏览至所需加载的系统参数文件进行加载。

 

 

1.打开“文件”菜单。

2.单击“加载参数”。

 

3.勾选“加载参数并替换副本”,之后单击“加载”按钮。

 

4.浏览至所需加载的系统参数文

件,选中“EIO.cfg”,单击“确定”

按钮,重新启动即可。

 

4.仿真I/O信号

在仿真过程中,有时需要手动去仿真一些I/O信号,以使当前工作站满足机器人运行条件。

在RobotStudio

软件的“仿真”菜单中利用“I/O仿真器”可对I/O信号进行仿真。

 

1.单击“仿真”菜单中的“I/O仿真器”即可在软件右侧跳出“I/O仿真器”菜单栏。

 

2.在“选择系统”栏中选择相应系统,包含工作站信号、机器人信号以及智能组件信号等。

3.单击需要仿真的信号,相应指示灯则会置为1,再次单击即可置为0。

9.3.2标准I/O板配置

ABB标准I/O板挂在DeviceNet总线上,常用型号有DSQC651,DSQC652。

在系统中配置标准I/O板,

 

至少需要设置以下四项参数:

参数名称

参数注释

Name

I/O单元名称

TypeofUnit

I/O单元类型

ConnectedtoBus

I/O单元所在总线

DeviceNetAddress

I/O单元所占用总线地址

I/O配置详细参考I/O通信一章。

9.3.3数字I/O配置

在I/O单元上创建一个数字I/O信号,至少需要设置以下四项参数:

参数名称

参数注释

Name

I/O信号名称

TypeofSignal

I/O信号类型

AssignedtoUnit

I/O信号所在I/O单元

UnitMapping

I/O信号所占用单元地址

9.3.4系统I/O配置

系统输入:

将数字输入信号与机器人系统的控制信号关联起来,就可以通过输入信号对系统进行控制

(例如,电动机上电、程序启动等)。

系统输出:

机器人系统的状态信号也可以与数字输出信号关联起来,将系统的状态输出给外围设备作

控制之用(例如,系统运行模式、程序执行错误等)。

9.3.5常用运动指令

MoveL:

线性运动指令

将机器人TCP沿直线运动至给定目标点,适用于对路径精度要求高的场合,如切割、涂胶等。

例如:

MoveLp20,v1000,z50,tool1

\WObj:

=wobj1;

如图所示,机器人TCP从当前位置p10处运动至

p20处,运动轨迹为直线。

MoveJ:

关节运动指令

将机器人TCP快速移动至给定目标点,运行轨迹不一定是直线。

例如:

MoveJp20,v1000,z50,tool1\WObj:

=wobj1;

如图所示,机器人TCP从当前位置p10处运动至p20

处,运动轨迹不一定为直线。

 

 

 

9.3.6常用I/O控制指令Set:

将数字输出信号置为1例如:

SetDo1;

将数字输出信号Do1置为1。

 

MoveC:

圆弧运动指令

将机器人TCP沿圆弧运动至给定目标点。

圆弧运动指令MoveC在做圆弧运动时一般不超过240°,所以一个完整的圆通常使用两条圆弧指令来完成。

例如:

MoveCp20,p30,v1000,z50,tool1,

\WObj:

=wobj1;

如图所示,机器人当前位置p10作为圆弧的起点,

p20是圆弧上的一点,p30作为圆弧的终点。

MoveAbsj:

绝对运动指令将机器人各关节轴运动至给定位置。

例如:

PERSjointargetjpos10:

=[[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+0

9,9E+09]];

关节目标点数据中各关节轴为零度。

MoveAbsjjpos10,v1000,z50,tool1

\WObj:

=wobj1;

则机器人运行至各关节轴零度位置。

注:

Setdo1;等同于:

SetDOdo1,1;

 

Resetdo1;等同于:

Reset:

将数字输出信号置为0

例如:

ResetDo1;

将数字输出信号Do1置为0

SetDOdo1,0;

另外,SetDO还可以设置延迟时间:

SetDO\SDelay:

=0.2,do1,1;

则延迟0.2s后将do1置为1。

WaitDI:

等待一个输入信号状态为设定值

例如:

WaitDIDi1,1;

等待数字输入信号Di1为1,之后才执行下面的指令。

WaitDi1,1;等同于:

WaitUntildi1=1;

另外,WaitUntil应用更为广泛,等待的是后面条件为TRUE才继续执行,如:

WaitUntilbRead=False;

WaitUntilnum1=1;

9.3.7常用逻辑控制指令

IF:

满足不同条件,执行对应程序

例如:

IFreg1>5THENSetdo1;

ENDIF

如果reg1>5条件满足,则执行SetDo1指令。

FOR:

根据指定的次数,重复执行对应程序

例如:

FORIFROM1TO10DORoutine1;

ENDFOR

重复执行10次Routine1里的程序。

FOR指令后面跟的是循环计数值,其不用再程序数据中定义,每次运行一遍FOR循环中的指令后会自动执行加1操作。

WHILE:

如果条件满足,则重复执行对应程序

例如:

WHILEreg1

=reg1+1;ENDWHILE

如果变量reg1

reg1加1,直至reg1

TEST:

根据指定变量的判断结果,执行对应程序

例如:

TESTreg1

CASE1:

Routine1;CASE2:

Routine2;

 

DEFAULT:

Stop;ENDTEST

判断reg1数值,若为1则执行Routine1;若为2则

执行Routine2,否则执行stop。

9.3.8注释行“!

在语句前面加上“!

”,则整行语句作为注释行,不被程序执行。

例如:

!

GotothePickPosition;

MoveLpPick,v1000,fine,tool1,\WObj:

=wobj1;

9.3.9Offs偏移功能

以选定的目标点为基准,沿着选定工件坐标系的X、Y、Z轴方向偏移一定的距离。

例如:

MoveLOffs(p10,0,0,10),v1000,z50,tool0\WObj:

=wobj1;

将机器人TCP移动至以p10为基准点,沿着wobj1的Z轴正方向偏移10mm的位置。

9.3.10CRobT功能读取当前机器人目标位置数据。

例如:

PERSrobtargetp10;

P10:

=CRobT(\Tool:

=tool1\WObj:

=wobj1);

读取当前机器人目标点位置数据,指定工具数据位tool1,工件坐标系数据为wobj1(若不指定,则默认工具数据为tool0,默认工件坐标系数据为wobj0),之后将读取的目标点数据赋值给p10。

9.3.11常用写屏指令

例如:

TPRease;

TPWrite“TheRobotisrunning!

”;

TPWrite“TheLastCycleTimeis:

”\num:

=nCycleTime;假设上一次循环时间nCycleTime为10s,则示教器上面显示内容为TheRobotisrunning!

 

TheLastCycleTimeis:

10

9.3.12检测HOME点模板

在实训任务中,每个程序都有检测Home点的例行程序rCheckHomePos,以及比较机器人当前位置和给定位置是否相同的功能CurrentPos,其程序内容如下,在后续的代码中不再重复。

程序:

rCheckHomePos、CurrentPos

说明:

检查原点程序,如机器人不在原点位置则返回原点

PROCrCheckHomePos()

!

检测是否在Home点程序

VARrobtargetpActualPos;

!

定义一个目标点数据pActualPos

IFNOTCurrentPos(pHome,tGripper)THEN

!

调用功能程序CurrentPos。

此为一个布尔量型的功能程序,括号里面的参数分别指的是所要比较的目标点以及使用的工具数据。

!

这里写入的是pHome,是将当前机器人位置与pHome点进行比较,若在Home点,则此布尔量为True;若不在Home点,则为False。

!

在此功能程序的前面加上一个NOT,则表示当机器人不在Home点时才会执行IF判断中机器人返回Home点的动作指令

pActualpos:

=CRobT(\Tool:

=tGripper\WObj:

=wobj0);

!

利用CRobT功能读取当前机器人目标位置并赋值给目标点数据pActualpospActualpos.trans.z:

=pHome.trans.z;

!

将pHome点的Z值赋给pActualpos点的Z值

MoveLpActualpos,v100,z10,tGripper;

!

移至已被赋值的后的pActualpos点

MoveLpHome,v100,fine,tGripper;

!

移至pHome,上述指令的目的是需要先将机器人提升至与pHome点一样的高度,之后再平移至pHome点,这样可以简单地规划一条安全回Home点的轨迹

ENDIFENDPROC

 

FUNCboolCurrentPos(robtargetComparePos,INOUTtooldataTCP)

!

检测目标点功能程序,带有两个参数,比较目标点和所使用的工具数据

VARnumCounter:

=0;

!

定义数字型数据Counter

VARrobtargetActualPos;

!

定义目标点数据ActualPos

ActualPos:

=CRobT(\Tool:

=tGripper\WObj:

=wobj0);

!

利用CRobT功能读取当前机器人目标位置并赋值给ActualPos

IFActualPos.trans.x>ComparePos.trans.x-25ANDActualPos.trans.x

=Counter+1;IFActualPos.trans.y>ComparePos.trans.y-25ANDActualPos.trans.y

=Counter+1;IFActualPos.trans.z>ComparePos.trans.z-25ANDActualPos.trans.z

=Counter+1;IFActualPos.rot.q1>ComparePos.rot.q1-0.1ANDActualPos.rot.q1

=Counter+1;IFActualPos.rot.q2>ComparePos.rot.q2-0.1ANDActualPos.rot.q2

=Counter+1;IFActualPos.rot.q3>ComparePos.rot.q3-0.1ANDActualPos.rot.q3

=Counter+1;IFActualPos.rot.q4>ComparePos.rot.q4-0.1ANDActualPos.rot.q4

=Counter+1;

!

将当前机器人所在目标位置数据与给定目标点位置数据进行比较,共七项数值,分别是X、Y、Z坐标值以

及工具姿态数据q1、q2、q3、q4里面的偏差值,如X、Y、Z坐标偏差值25可根据实际情况进行调整。

每项比较结果成立,则计数Counter加1,七项全部满足的话,则Counter数值为7

RETURNCounter=7;

!

返回判断式结果,若Counter为7,则返回TRUE,若不为7,则返回FALSEENDFUNC

 

9.4任务实施

9.4.1工作站解包

 

1.双击工作站打包文件:

SituationalTeaching_Carry.rspag。

 

 

2.单击“下一个”按钮。

 

 

3.单击“浏览”按钮,选择存放解包文件的目录。

4.单击“下一个”按钮。

 

 

5.机器人系统库指向“MEDIAPOOL”文件夹。

选择RobotWare版本(要求最低版本为5.14.02)。

6.单击“下一个”按钮。

 

7.解包就绪后,单击“完成”按钮。

 

8.确认后,单击“关闭”按钮。

 

9.解包完成后,在主窗口显示整个搬运工作站。

9.4.2创建备份并执行I启动

现有工作站已包含创建好的参数以及RAPID程序。

从零开始练习建立工作站的配置工作,需要先将此系统做一备份,之后执行I启动,将机器人系统恢复到出厂初始状态。

 

1.控制器菜单中打开“备份”,然后单击创建备份。

 

2.为备份命名,并选定保存的位置。

3.单击确定。

 

4.在“控制器”菜单中,单击“重启”,然后选择“I启动”。

5.在I启动

完成后,跳出BaseFram更新提示框,暂时先单击“否”按钮。

 

 

6.在“控制器”菜单中,单击“编辑系统”。

 

7.在左侧栏中选中“ROB_1”。

8.选中“使用当前工作站数值”。

9.单击确定按钮。

 

待执行热启

动后,则完成了工作站的初始化操作。

 

重启类型介绍如下:

◆热启动:

修改系统参数及配置后使其生效。

◆关机:

关闭当前系统,同时关闭主机。

◆B启动:

尝试从最近一次无错状态下启动系统。

◆P启动:

重新启动并删除已加载的RAPID程序。

◆I启动:

重新启动,恢复至出厂设置。

◆C启动:

重新启动并删除当前系统。

◆X启动:

重新启动,装载系统或选择其他系统,修改IP地址。

9.4.3配置I/O单元

在虚拟示教器中,根据以下的参数配置I/O单元。

Name

TypeofUnit

ConnectedtoBus

DeviceNetaddress

Board10

D651

DeviceNet1

10

 

9.4.4配置I/O信号

在虚拟示教器中,根据以下的参数配置I/O信号。

Name

TypeofSignal

AssignedtoUnit

UnitMapping

I/O信号注解

di00_BufferReady

DigitialInput

Board10

0

暂存装置到位信号

di01_PanelInPickPos

DigitialInput

Board10

1

产品到位信号

di02_VacuumOK

DigitialInput

Board10

2

真空反馈信号

di03_Start

DigitialInput

Board10

3

外接“开始”

di04_Stop

DigitialInput

Board10

4

外接“停止”

di05_StartAtMain

DigitialInput

Board10

5

外接“从主程序开

始”

di06_EstopReset

DigitialInput

Board10

6

外接“急停复位”

di07_MotorOn

DigitialInput

Board10

7

外接“电动机上电”

do32_VacuumOpen

DigitialOutput

Board10

32

打开真空

do33_AutoOn

DigitialOutput

Board10

33

自动状态输出信号

do34_BufferFull

DigitialOutput

Board10

34

暂存装置满载

9.4.5配置系统输入/输出

在虚拟示教器中,根据以下的参数配置系统输入/输出信号。

Type

SignalName

Action\Status

Argument1

注释

SystemInput

di03_Start

Start

Continuous

程序启动

SystemInput

di04_Stop

Stop

程序停止

SystemInput

di05_StartAtMain

StartMain

Continuous

从主程序启动

SystemInput

di06_EstopReset

ResetEstop

急停状态恢复

SystemInput

di07_MotorOn

MotorOn

电动机上电

SystemOutput

do33_AutoOn

AutoOn

自动状态输出

9.4.6创建工具数据

在虚拟示教器中,根据以下的参数设定工具数据tGripper。

参数名称

参数数值

robothold

TRUE

trans

X

0

Y

0

Z

115

rot

q1

1

q2

0

q3

0

q4

0

mass

1

cog

X

0

Y

0

Z

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

当前位置:首页 > 工程科技 > 能源化工

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

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