最新消息:首页公告!

ABB机器人的搬运码垛指令解析大全

浏览 共有条评论 关键词:ABB,机器人,工业机器人
新搜索营销
以下是对 ABB 机器人一些常见搬运码垛指令的解析:

轴配置监控指令(confl/confj)
confl指令指定 ABB 机器人在线性运动过程中是否严格遵循程序中已设定的轴配置参数。默认情况下轴配置监控是打开的,关闭轴配置监控后(confl\off),机器人在运动过程中会自动匹配一组最接近当前各关节轴姿态的轴配置数据到达指定目标点。例如,目标点p10中,数据(1,0,1,0)就是此目标点的轴配置数据:constrobtarget p10:=((*,*,*),(*,*,*,*),(1,0,1,0),(9e9,9e9,9e9,9e9,9e9,9e9)); confl\off; movelp10,v1000,fine,tool0; 机器人会自动匹配一组最接近当前各关节轴姿态的轴配置数据移动至目标点p10,到达p10点时,轴配置数据不一定为程序中指定的(1,0,1,0)
注:confj用法与confl相同,只不过前者为关节线性运动过程中的轴监控开关,影响的是movej指令;而后者为线性运动过程中的轴监控开关,影响的是movel指令。

ABB机器人的搬运码垛指令解析大全

计时指令

在机器人运动过程中,经常需要利用计时功能来计算当前机器人运行节拍,并通过写屏指令显示相关信息。例如:
 
!定义时钟数据 clock1 
var num cycletime; 
!定义数字型数据 cycletime,用于存储时间数值 
clkreset clock1; 
!时钟复位 
clkstart clock1; 
!开始计时 
… 
机器人运动指令等 
clkstop clock1; 
!停止计时 
cycletime := clkread(clock1); 
!读取时钟当前数值,并赋值给 cycletime 
tperase; 
!清屏 
tpwrite “the last cycle time is ”\num := cycletime; 
!写屏,在示教器屏幕上显示节拍信息,假设当前数值 cycletime 为 10,则示教器屏幕上最终显示信息为:“the last cycle time is 10”```

**动作触发指令(triggl)** 

在线性运动过程中,可在指定位置准确触发事件(如置位输出信号、激活中断等)。可以定义多种类型的触发事件,如`triggio`(触发信号)、`triggequip`(触发装置动作)、`triggint`(触发中断)等。

以触发装置动作类型为例(常用于在准确的位置触发机器人夹具的动作):
```vartriggdata gripopen; 
!定义触发数据 gripopen 
triggequip 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。```

注:如果在触发距离后面添加可选参数变量`\start`,则触发距离的参考点不再是终点,而是起点。例如:`triggequip gripopen,10\start,0.1\dop := dogripon,1; triggl p1,v500,gripopen,z50,tgripper;` 则当机器人 tcp 朝向 p1 点运动过程中,离开起点后 10mm 处,并且提前 0.1s 触发`gripopen`事件。

**数组的应用** 

在定义程序数据时,可以将同种类型、同种用途的数值存放在同一个数据中,调用该数据时需要写明索引号来指定调用的是该数据中的哪个数值,这就是数组。RAPID 中可以定义一维数组、二维数组以及三维数组。例如,一维数组:`varnum num1{3}:=(5,7,9); num2:=num1{2};` ,这里`num2`被赋值为 7。二维数组示例:`varnum num1{3,4}:=((1,2,3,4) (5,6,7,8) (9,10,11,12)); num2:=num1{3,2};` ,此时`num2`被赋值为 10。

在程序编写过程中,当需要调用大量同种类型、同种用处的数据时,可以利用数组来存放这些数据,便于在编程过程中进行灵活调用。甚至在大量 I/O 信号调用过程中,也可以先将 I/O 进行别名操作(即将 I/O 信号与信号数据关联起来),之后将这些信号数据定义为数组类型,以便在程序编写中对同类型、同用处的信号进行调用。

**中断程序** 

在程序执行过程中,如果发生需要紧急处理的情况,就需要中断当前程序的执行,马上跳转到专门的程序中对紧急情况进行相应处理,处理结束后返回至中断的地方继续往下执行程序。专门用来处理紧急情况的专门程序称作中断程序(trap)。例如:
```var intnum intno1; 
!定义中断数据 intno1 
idelet intno1; 
!取消当前中断符 intno1 的连接,预防误触发。 
connect intno1 with ttrap; 
!将中断符与中断程序 ttrap 连接。 
isignal di di1,1,intno1; ② 
!定义触发条件,即当数字输入信号 di1 为 1 时,触发该中断程序。 
trap ttrap 
reg1 := reg1+1; 
endtrap```

不需要在程序中对该中断程序进行调用,定义触发条件的语句一般放在初始化程序中,当程序启动运行完该定义触发条件的指令一次后,则进入中断监控,当数字输入信号`di1`变为 1 时,机器人立即执行`ttrap`中的程序,运行完成之后,指针返回至触发该中断的程序位置继续往下执行。

此外,还有一些其他指令在搬运码垛中可能会用到,例如:

**写入示教器指令(tpwrite)** 

为方便操作人员掌握机器人执行任务情况,可调用示教器通信指令`tpwrite`,在示教器人机交互界面上显示相关信息。除了显示字符串类型外,在字符串后也可以添加变量名用以显示特定数据的值。例如:
```const pos pos1:=(15,43,24); 
proc main() 
tpwrite "hello world";!在示教器上写入"hello world" 
reg1 := 12 * 20; 
tpwrite "the result is:"\num := reg1;!在示教器上写入字符串并显示运算结果 num 型变量 reg1 的值 
tpwrite "the position is:"\pos := pos1;!在示教器上写入字符串并显示运算结果 pos 型变量 pos1 的坐标值 
endproc```

**读取示教器指令(tpread)** 

与`tpwrite`指令功能相反,用于将数据写入示教器显示器。其操作基于示教器实现,在“添加指令”中选择“communicate”即可找到相关指令,其中`tpreadnum`与`tpreaddnum`功能完全相同,只是最终储存输入编号变量数据类型有差异,`tpreadnum`指令最终储存输入编号的变量的类型为`num`型,而`tpreadnum`为`dnum`型。例如:
```var num nnum1 := 0; 
proc main() 
tpreadnum nnum1,"please enter a number...";!在示教器上写入"please enter a number...",并将输入存储在变量 nnum1 中 
waittime 1; 
tpwrite "the input value is "\num := nnum1;!为了能直观观察到 nnum 值的变化,用 tpwrite 指令 1 秒后将值写入到示教器上。 
endproc```

**速度设定指令(speeddata)** 

用于规定机械臂和外轴开始移动时的速率。其中,`v_tcp`指工具中心点的速率;`v_oritcp`是 tcp 的重新定位速率;`v_leax`为线性外轴的速率;`v_reax`是旋转外轴的速率。

**有效载荷设定指令(loaddata)** 

用于描述安装到机器人法兰盘上的负载的数据,通常作为`tooldata`的一部分。对于搬运应用的机器人,必须在`tooldata`中正确设定工具的质量、重心。不正确的负载数据可能导致机器人不使用最大载重量、路径精度受影响或机械单元过载等问题。

**相对工具坐标系指令(reltool)** 

在机器人码垛过程中,根据物料码垛要求经常需要对物料沿着竖直方向进行旋转。在工具坐标与法兰盘坐标 z 方向一致时,可以使用单转第 6 轴的方式实现。而在工具坐标方向与法兰盘坐标方向不一致时,`reltool`功能可实现相对工具坐标系的位移和/或旋转。与`offs`功能相比,`reltool`功能除了能沿着任意工具坐标方向进行偏移外,还可以实现绕工具坐标一个或多个方向进行旋转,而`offs`指令只能实现以`wobj`工件坐标方向上的偏移。



 

转载请注明:可思数据 » ABB机器人的搬运码垛指令解析大全

人工智能数据标注服务
留言与评论(共有 条评论)
昵称:
匿名发表 登录账号
                 
   
验证码:
后台-系统设置-扩展变量-手机广告位-手机广告位-内容广告位三