abb码垛

上传人:小** 文档编号:93477984 上传时间:2019-07-22 格式:DOC 页数:5 大小:35.78KB
返回 下载 相关 举报
abb码垛_第1页
第1页 / 共5页
abb码垛_第2页
第2页 / 共5页
abb码垛_第3页
第3页 / 共5页
abb码垛_第4页
第4页 / 共5页
abb码垛_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《abb码垛》由会员分享,可在线阅读,更多相关《abb码垛(5页珍藏版)》请在金锄头文库上搜索。

1、1、码垛知识储备1.1 轴配置监控指令ConfL : 其指定机器人在线性运动及圆弧运动过程中是否严格遵循程序中已设定的轴配置参数。默认情况下轴配置监控是打开的,当关闭轴配置监控后,机器人在运动过程中采取最接近当前轴配置数据的配置到达指定目标点。例如:目标点p10中,数据1,0,1,0就是此目标点的轴配置数据;CONST robtarget p10 :=*,*,*,*,*,*,*,1,0,1,0,9E9,9E9,9E9,9E9,9E9,9E9;ConfL Off;MoveL p10, v1000, fine, tool0;机器人自动匹配一组最接近当前各关节轴姿态的轴配置数据移动至目标点p10,到

2、达p10点时,轴配置数据不一定为程序中指定的1,0,1,0在某些应用场合,如离线编程创建目标点或手动示教相邻两目标点间轴配置数据相差较大时,在机器人运动过程中容易出现报警“轴配置错误”而造成停机,此种情况下,若对轴配置要求较高,则一般通过添加中间过渡点,若对轴配置要求不高,则可通过指令ConfLOff关闭轴监控,使机器人自动匹配可行的轴配置来到达指定目标点。注:ConfJ用法与ConfL相同,只不过前者为关节线性运动过程中的轴监控开关,影响的是MoveJ;而后者为线性运动过程中的轴监控开关,影响的是MoveL。1.2 计时指令在机器人运动过程中,我们经常需要利用计时功能来计算当前机器人运行节拍

3、,并通过写屏指令显示相关信息。这里我们以一个完整的计时案例来学习一下关于计时并显示计时信息的综合运用:VAR clock clock1; !定义时钟数据clock1VAR num CycleTime;!定义数字型数据CycleTime,用于存储时间数值ClkReset clock1; !时钟复位ClkStart clock1;!开始计时!机器人运动指令等ClkStop clock1;!停止计时CycleTime :=ClkRead(clock1);!读取时钟当前数值,并赋值给CycleTimeTPErase;!清屏TPWrite “The Last CycleTime is ”Num:= Cy

4、cleTime ; !写屏,在示教器屏幕上显示节拍信息,假设当前数值CycleTime为10,则示教器屏幕上最终显示信息为:“The Last CycleTime is 10”1.3 动作触发指令TriggL:在线性运动过程中,在指定位置准确的触发事件(如置位输出信号、激活中断等)。我们可以定义多种类型的触发事件,如TriggIO(触发信号), TriggEquip(触发装置动作),TriggInt(触发中断)等。这里以触发装置动作类型为例,(在准确的位置触发机器人夹具的动作通常采用此种类型的触发事件):VAR triggdata GripOpen; !定义触发数据GripOpenTriggE

5、quip GripOpen, 10, 0.1 DOp:=doGripOn, 1;!定义触发事件GripOpen,在距离指定目标点前10mm处,并提前0.1s (用于抵消设备动作延迟时间)触发指定事件:将数字输出信号doGripOn置为1。TriggL p1, v500, GripOpen, z50, tGripper; !执行TriggL,调用触发事件GripOpen,即机器人TCP在朝向P1点运动过程中,在距离P1点前10mm处,并且再提起0.1秒则将doGripOn置为1。例如,为提高节拍时间,在控制吸盘夹具动作过程中,在吸取产品时我们需要提前打开真空,在放置产品时我们需要提前释放真空,为

6、了能够准确的触发吸盘夹具的动作,我们通常采用Trigg指令来对其进行控制。注:如果在触发距离后面添加可选参变量Start,则触发距离的参考点不再是终点,而是起点。例如:TriggEquip GripOpen, 10Start, 0.1 DOp:=doGripOn, 1;TriggL p1, v500, GripOpen, z50, tGripper;则当机器人TCP朝向p1点运动过程中,离开起点后10mm处,并且提前0.1s触发GripOpen事件。1.4 数组的应用 在定义程序数据时,我们可以将同种类型、同种用途的数值存放在同一个数据中,当我们调用该数据时需要写明索引号来指定我们调用的是该数

7、据中的哪个数值,这就是我们所谓的数组。在RAPID中可以定义一维数组、二维数组以及三维数组。例如,一维数组:VAR num num13:=5, 7, 9; !定义一维数组num1num2:=num12; !num2被赋值为例如,二维数组: VAR num num13,4:=1,2,3,4 5,6,7,8 9,10,11,12; !定义二维数组num1; num2:=num13,2;!num2被赋值为10在程序编写过程中,当需要调用大量的同种类型、同种用处的数据时,我们在创建数据时可以利用数组来存放该些数据,这样便于在编程过程中对其进行灵活调用;甚至在大量IO信号调用过程中,我们也可以先将IO进

8、行别名的操作,即将IO信号与信号数据关联起来,之后将这些信号数据定义为数组类型,在程序编写中便于对同类型、同用处的信号进行调用。1.5 中断程序在程序执行过程中,如果发生需要紧急处理的情况,这就要中断当前程序的执行,马上跳转到专门的程序中对紧急情况进行相应处理,处理结束后返回至中断的地方继续往下执行程序。专门用来处理紧急情况的专门程序称作中断程序(TRAP) 例如:VAR intnum intno1; !定义中断数据intno1IDelete intno1; !取消当前中断符intno1的连接,预防误触发。CONNECT intno1 WITH tTrap;!将中断符与中断程序tTrap连接。

9、ISignalDI di1,1, intno1;!定义触发条件,即当数字输入信号di1为1时,触发该中断程序。TRAP tTrap reg1:=reg1+1;ENDTRAP我们不需要在程序中对该中断程序进行调用,定义触发条件的语句一般放在初始化程序中,当程序启动运行完该定义触发条件的指令一次后,则进入中断监控,当数字输入信号di1变为1时,则机器人立即执行tTrap中的程序,运行完成之后,指针返回至触发该中断的程序位置继续往下执行。1.6 复杂程序数据赋值多数类型的程序数据均是组合型数据,即里面包含了多项数值或字符串。我们可以对其中的任何一项参数进行赋值。例如我们常见的目标点数据:PERS r

10、obtarget p10 :=0,0,0,1,0,0,0,0,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9;PERS robtarget p20 :=100,0,0,0,0,1,0,1,0,1,0,9E9,9E9,9E9,9E9,9E9,9E9;目标点数据里面包含了四组数据,从前往后依次为TCP位置数据0,0,0(trans)、TCP姿态数据1,0,0,0(rot)、轴配置数据1,0,1,0(robconf)、外部轴数据(extax);我们可以分别对该数据的各项数值进行操作,如:p10.trans.x:=p20.trans.x+50;p10.trans.y:=p20.trans.y-50;p10.trans.z:=p20.trans.z+100;p10.rot:=p20.rot;p10.robconf:=p20.robconf;赋值后则p10为:PERS robtarget p10 :=150,-50,100,0,0,1,0,1,0,1,0,9E9,9E9,9E9,9E9,9E9,9E9;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号