ABB搬运工作站.docx
- 文档编号:13526208
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:52
- 大小:2.05MB
ABB搬运工作站.docx
《ABB搬运工作站.docx》由会员分享,可在线阅读,更多相关《ABB搬运工作站.docx(52页珍藏版)》请在冰点文库上搜索。
ABB搬运工作站
ABB搬运工作站
LT
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 100 其余参数均为默认值 9.4.7创建工件坐标系数据 本工作站中,工件坐标系均采用用户三点法创建。 在虚拟示教器中,根据图所示位置设定工件坐标。 工件坐标系WobjCNV: 工件坐标系WobjBuffer: 9.4.8创建载荷数据 在虚拟示教器中,根据以下的参数设定载荷数据LoadFull。 参数名称 参数数值 mass 0.5 cog X 0 Y 0 Z 3 其余参数均为默认值 9.4.9程序注解 本工作站要实现的动作时机器人在流水线上拾取太阳能薄板工件,将其搬运至暂存盒中,以便周转至 下一工位进行处理。 在熟悉了此RAPID程序后,可以根据实际的需要在此程序的基础上做适用性的修改,以满足实际逻辑 与动作的控制。 以下是实现机器人逻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ABB 搬运 工作站