人的柔性自动化的制造行业( 例如 3C 行业) 而设 计。该机器人为开放式结构,特别适合于柔性应用, 并且可以与外部系统进行广泛通信。机器人规格参 数如表1 所示,运动性能及范围如表2 所示,手腕中 心点工作范围如图1 所示。
ABB IRB120 型工业机器人的编程 ABB 机器人应用程序是用 RAPID 编程语言的 特定词汇和语法编写而成的。RAPID 是一种英文 编程语言,所包含的指令可以移动机器人、设置输 出、读取输入,还能实现决策、重复其它指令、构造程 序与系统操作员交流等功能。
2.1 程序基本架构 RAPID 程序的基本架构如表3 所示。RAPID 程序的架构说明: RAPID 程序由程序模块与系统模 块组成;可以根据不同的用途创建多个程序模块;每 一个程序模块包含了程序数据、例行程序、中断程序 和功能四种对象,但不一定在一个模块中都有这四 种对象,程序模块之间的数据、例行程序、中断程序 和功能是可以互相调用的; 在 RAPID 程序中,只有 一个主程序 main,存在于任意一个程序模块中,并 且是作为整个 RAPID 程序执行的起点
2.2 程序指令 ABB IRB120 型工业机器人常用的编程指令有: 运动指令,赋值、循环及逻辑判断指令,程序调用指 令和 I/O 控制指令等。
(1) 运动指令 常用的格式为:
动作方式主要有关节运动( MoveJ) 、线性运动 ( MoveL) 、圆弧运动( MoveC) 和**位置运动 ( MoveAbsJ) 四种方式。目标位置数据:定义机器人 TCP 的运动目标,可以在示教器中单击“修改位置” 进行修改。运动速度数据:定义速度( mm/s) 。在手 动限速状态下,所有运动速度被限速在250 mm/s。 转弯区数据:定义转弯区的大小 mm,如果转弯区数 据 fine,表示机器人 TCP 达到目标点,在目标点速度 降为零。工具坐标数据:定义当前指令使用的工具。 工件坐标数据:定义当前指令使用的工件坐标。
(2) 赋值、循环及逻辑判断指令
“ : = ”赋值指令用于对程序数据进行赋值。赋 值可以是一个常量或数学表达式。例如, reg1: = 1, reg2: = reg1 +3。
条件逻辑判断指令用于对条件进行判断后,执 行相应的操作。主要有 Compact IF 紧凑型条件判 断指令,IF 条件判断指令, FOR 重复执行判断指 令, WHILE 条件判断指令。
(3) 程序调用指令 实现主程序调用子程序的功能,主要是使用例 行程序调用指令———ProcCall。通过调用对应的例 行程序,当机器人执行到对应程序时,就会执行对应 例行程序里的程序。一般在程序中指令比较多的情 况,通过建立对应的例行程序,再使用 ProcCall 指令 实现调用,有利于方便管理。
(4) I/O 控制指令
I/O 控制指令用于控制 I/O 信号,以达到与机 器人周边设备进行通信的目的。置位指令 Set 用于 将数字输出信号置位为“1”。复位指令 Reset 用于 将数字输出信号置位为“0”。等待输入指令 WaitDI 用于判断数字输入信号的值是否与目标一致。等待 输出指令 WaitDO 用于判断数字输出信号的值是否 与目标一致。时间等待指令 WaitTime 用于程序在 等待一个指定的时间以后,再继续向下执行。
(2) 赋值、循环及逻辑判断指令
“ : = ”赋值指令用于对程序数据进行赋值。赋 值可以是一个常量或数学表达式。例如, reg1: = 1, reg2: = reg1 +3。
条件逻辑判断指令用于对条件进行判断后,执 行相应的操作。主要有 Compact IF 紧凑型条件判 断指令,IF 条件判断指令, FOR 重复执行判断指 令, WHILE 条件判断指令。
(3) 程序调用指令 实现主程序调用子程序的功能,主要是使用例 行程序调用指令———ProcCall。通过调用对应的例 行程序,当机器人执行到对应程序时,就会执行对应 例行程序里的程序。一般在程序中指令比较多的情 况,通过建立对应的例行程序,再使用 ProcCall 指令 实现调用,有利于方便管理。
(4) I/O 控制指令
I/O 控制指令用于控制 I/O 信号,以达到与机 器人周边设备进行通信的目的。置位指令 Set 用于 将数字输出信号置位为“1”。复位指令 Reset 用于 将数字输出信号置位为“0”。等待输入指令 WaitDI 用于判断数字输入信号的值是否与目标一致。等待 输出指令 WaitDO 用于判断数字输出信号的值是否 与目标一致。时间等待指令 WaitTime 用于程序在 等待一个指定的时间以后,再继续向下执行。
3 ABB IRB120 型工业机器人的搬运实例分析
如图 2 所示,机器人从 E 处搬运物块分别放置ABCD 位置,物块是一个长方体( 60 mm × 30 mm × 30 mm) 。在工业机器人基坐标系下进行编程,坐标 系如图 2 所示。要从 E 处搬运 4 个工件分别放置 ABCD 处,需要分别搬运 4 次。每一次搬运的步骤 为,机器人移动至安全位置→E 位置正上方→下降 到 E 位置→等待1s→气爪夹紧等待1s→直线上升到 E 位置正上方→机器人移动到安全位置→移动 至放置位置正上方→直线下降到放置位置→等待 1s→气爪松开等待1s→直线上升到放置位置正上方 →机器人移动至安全位置。
如图 2 所示,机器人从 E 处搬运物块分别放置ABCD 位置,物块是一个长方体( 60 mm × 30 mm × 30 mm) 。在工业机器人基坐标系下进行编程,坐标 系如图 2 所示。要从 E 处搬运 4 个工件分别放置 ABCD 处,需要分别搬运 4 次。每一次搬运的步骤 为,机器人移动至安全位置→E 位置正上方→下降 到 E 位置→等待1s→气爪夹紧等待1s→直线上升到 E 位置正上方→机器人移动到安全位置→移动 至放置位置正上方→直线下降到放置位置→等待 1s→气爪松开等待1s→直线上升到放置位置正上方 →机器人移动至安全位置。
程序采用子程序调用的形式,把以上流程写成 子程序,主程序主要完成各坐标点的指定和子程序 的调用,即调用子程序4 次。
了解更多ABB机器人