ABB搬运工作站Word文件下载.docx
《ABB搬运工作站Word文件下载.docx》由会员分享,可在线阅读,更多相关《ABB搬运工作站Word文件下载.docx(38页珍藏版)》请在冰点文库上搜索。
2.单击加载模块
3.浏览至所需加载的程序模块文件,单击“确定”按钮。
3.加载系统参数在机器人应用过程中,如果已有系统参数文件,则可以直接将该参数文件加载至机器人系统中。
例如,
已有1#机器人I/O配置文件,2#机器人的应用与1#机器人相同,那么可以将1#机器人的I/O配置文件直接导入2#机器人中。
系统参数文件存放在备份文件夹中的SYSPAR文件目录下,其中最常用的是其中的EIO文件,即机器人I/O系统配置文件。
系统参数加载方法有以下两种:
*一般地,两台硬件配置一致的机器人会共享I/O设置文件EIO.cfg,其他的文件可能会造成系统故障。
若错误加载参数后,可做一个“I启动”使机器人回到出厂初始状态。
在RobotStudio中,“控制器”菜单的“加载参数”功能可以用于加载系统参数。
1.在“控制器”菜单中单击“加载参数”
2.勾选“载入参数并覆盖重复项”
之后单击“打开”按钮。
3.在“Filename”(即“文件名称”)中输入“EIO”,单击跳出来的EIO.cfg,之后单击“Open”按钮。
备份文件夹中的系统参数文件保存在“SYSPAR”文件夹下。
浏览至“SYSPAR”目录后,若不能显示系统参数文件,则需要在“Filename”(即文件名称)中输入“EIO”,则自动跳出“EIO.cfg”,单击“Open”按钮之后即可打开。
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信号,至少需要设置以下四项参数:
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:
如图所示,机器人TCP从当前位置p10处运动至p20
处,运动轨迹不一定为直线。
9.3.6常用I/O控制指令Set:
将数字输出信号置为1例如:
SetDo1;
将数字输出信号Do1置为1。
MoveC:
圆弧运动指令
将机器人TCP沿圆弧运动至给定目标点。
圆弧运动指令MoveC在做圆弧运动时一般不超过240°
,所以一个完整的圆通常使用两条圆弧指令来完成。
MoveCp20,p30,v1000,z50,tool1,
如图所示,机器人当前位置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
则机器人运行至各关节轴零度位置。
注:
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<
reg2DOreg1:
=reg1+1;
ENDWHILE
如果变量reg1<
reg2条件一直成立,则重复执行
reg1加1,直至reg1<
reg2条件不成立为止。
TEST:
根据指定变量的判断结果,执行对应程序
TESTreg1
CASE1:
Routine1;
CASE2:
Routine2;
DEFAULT:
Stop;
ENDTEST
判断reg1数值,若为1则执行Routine1;
若为2则
执行Routine2,否则执行stop。
9.3.8注释行“!
”
在语句前面加上“!
”,则整行语句作为注释行,不被程序执行。
!
GotothePickPosition;
MoveLpPick,v1000,fine,tool1,\WObj:
9.3.9Offs偏移功能
以选定的目标点为基准,沿着选定工件坐标系的X、Y、Z轴方向偏移一定的距离。
MoveLOffs(p10,0,0,10),v1000,z50,tool0\WObj:
将机器人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功能读取当前机器人目标位置并赋值给ActualPos
IFActualPos.trans.x>
ComparePos.trans.x-25ANDActualPos.trans.x<
ComparePos.trans.x+25Counter:
=Counter+1;
IFActualPos.trans.y>
ComparePos.trans.y-25ANDActualPos.trans.y<
ComparePos.trans.y+25Counter:
IFActualPos.trans.z>
ComparePos.trans.z-25ANDActualPos.trans.z<
ComparePos.trans.z+25Counter:
IFActualPos.rot.q1>
ComparePos.rot.q1-0.1ANDActualPos.rot.q1<
ComparePos.rot.q1+0.1Counter:
IFActualPos.rot.q2>
ComparePos.rot.q2-0.1ANDActualPos.rot.q2<
ComparePos.rot.q2+0.1Counter:
IFActualPos.rot.q3>
ComparePos.rot.q3-0.1ANDActualPos.rot.q3<
ComparePos.rot.q3+0.1Counter:
IFActualPos.rot.q4>
ComparePos.rot.q4-0.1ANDActualPos.rot.q4<
ComparePos.rot.q4+0.1Counter:
将当前机器人所在目标位置数据与给定目标点位置数据进行比较,共七项数值,分别是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单元。
DeviceNetaddress
Board10
D651
DeviceNet1
10
9.4.4配置I/O信号
在虚拟示教器中,根据以下的参数配置I/O信号。
I/O信号注解
di00_BufferReady
DigitialInput
暂存装置到位信号
di01_PanelInPickPos
1
产品到位信号
di02_VacuumOK
2
真空反馈信号
di03_Start
3
外接“开始”
di04_Stop
4
外接“停止”
di05_StartAtMain
5
外接“从主程序开
始”
di06_EstopReset
6
外接“急停复位”
di07_MotorOn
7
外接“电动机上电”
do32_VacuumOpen
DigitialOutput
32
打开真空
do33_AutoOn
33
自动状态输出信号
do34_BufferFull
34
暂存装置满载
9.4.5配置系统输入/输出
在虚拟示教器中,根据以下的参数配置系统输入/输出信号。
Type
SignalName
Action\Status
Argument1
注释
SystemInput
Start
Continuous
程序启动
Stop
无
程序停止
StartMain
从主程序启动
ResetEstop
急停状态恢复
MotorOn
电动机上电
SystemOutput
AutoOn
自动状态输出
9.4.6创建工具数据
在虚拟示教器中,根据以下的参数设定工具数据tGripper。
参数数值
robothold
TRUE
trans
X
Y
Z
115
rot
q1
q2
q3
q4
mass
cog