ABB机器人常用指令详解-中文(二)

合集下载

ABB机器人常用指令详解-中文

ABB机器人常用指令详解-中文

ABB机器人RAPID常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:● 终点是一个单一点● 对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ 指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。

基本范例:该指令的基本范例说明如下。

也可参看第207 页更多范例。

例1 MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2 沿着一个非线性路径到绝对轴位置p50,以速度数据v1000和zone数据z50。

例2 MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3 沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath的程序段中不允许包含项目\Conc的运动指令。

如果该项目忽略并且ToJointPos不是一个停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。

ABB机器人标准指令详解-文档资料

ABB机器人标准指令详解-文档资料
[\Off]: 关闭位置方位调整。 ( switch ) 机器人运动时,不允许位置点方位改变, 是机器人的默认状态。
2021/4/21
13
运动控制指令-SingArea
应用: 当前指令通过对机器人位置点姿态进行些许 改变,可以绝对避免机器人运行时死机,但 是,机器人运行路径会受影响,姿态得不到 控制,通常使用于通过复杂姿态点,绝对不 能作为工作点使用。
都起作用,例如:TCP、方位及外轴。但对 焊接参数 welddata 与 seamdata 内机器人运 动速度不起作用。 Max 只对速度数据 (speeddata) 内 TCP 这项 起作用。
2021/4/21
8
运动控制指令-ConfJ
ConfJ [\On]|[\Off];
[\On]: 启用轴配置数据。
[\Off]: 默认轴配置数据。
( switch )
直线运动时,机器人移动至 ModPos 点,
轴配置数据默认为当前最接近值。
2021/4/21
11
运动控制指令-ConfL
应用: 对机器人运行姿态进行限制与调整,程序运 行时,使机器人运行姿态得到控制。系统默 认值为 ConfL\On; 。
实例:
ConfL\On; … ConfL\Off;
( switch )
关节运动时,机器人移动至绝对 ModPos
点,如果无法到达,程序将停止运行。
[\Off]: 默认轴配置数据。
( switch )
关节运动时,机器人移动至 ModPos 点,
轴配置数据默认为当前最接近值。
2021/4/21
9
运动控制指令-ConfJ
应用: 对机器人运行姿态进行限制与调整,程序运 行时,使机器人运行姿态得到控制。系统默 认值为 ConfJ\On; 。

ABB机器人常用指令详解-中文

ABB机器人常用指令详解-中文

ABB机器人常用指令详解-中文ABB机器人RAPID常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:l 终点是一个单一点l 对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。

基本范例:例1 该指令的基本范例说明如下。

也可参看更多范例。

MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2沿着一个非线性路径到绝对轴位置p50,以速度数据v1000和zone数据z50。

例2 MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch 当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath的程序段中不允许包含项目\Conc的运动指令。

如果该项目忽略并且ToJointPos不是一个停止点,在机器人到达程序zone之前一段时间后续指令就开始执by 张建辉,韩鹏排版行了。

ABB机器人部分常用简单指令【免费下载】

ABB机器人部分常用简单指令【免费下载】

一、ABB机器人指令:1、基本运动指令:MoveL:线性运动(Linear)MoveJ:关节轴运动 (Joint)MoveC :圆周运动(Circular)p1:目标位置。

(robtarget)v100:运行速度mm/s。

(speeddata)z10:转弯区尺寸mm。

(zonedata)tool1:工具中心点TCP。

(tooldata)(1)速度选择:mm/s·将光标移至速度数据处,按回车键,进入选择窗口,选择所需速度。

·机器人运行速度属于数据类型speeddata。

·常用运行速度在base模块中已经定义。

·特殊速度可自行定义。

·max速度为v5000,base模块中定义*大速度为v7000,*大速度机器人未必能达到。

(2)转弯区尺寸选择:mm·将光标移至转弯区尺寸数据处,按回车键,进入选择窗口,选择所需转弯区尺寸。

·机器人转弯区尺寸属于数据类型zonedata。

·常用转弯区尺寸在base模块中已经定义。

·特殊转弯区尺寸可自行定义。

·fine指机器人TCP达到目标点,并在目标点速度降为零,连续运行时,机器人动作有停顿。

·zone指机器人TCP不达到目标点,连续运行时,机器人动作圆滑、流畅。

·base模块中已经定义的转弯区尺寸*小为z1,*大为z200。

·尽量使用较大的转弯区尺寸。

(3)参变量:光标指在当前指令时,按功能键OptArg,可选择参变量。

·[Conc](switch)协作运动。

机器人未移动至目标点,已经开始执行下一个指令。

·[ToPoint](robtarget)在采用新指令时,目标点自动生成*。

·[V](num)定义速度mm/s。

·[T](num)定义时间s。

通过时间决定速度。

·[Z](num)定义转弯区尺寸mm。

06_ABB机器人常用指令详解-中文(二)

06_ABB机器人常用指令详解-中文(二)

RAPID参考手册指令1.指令1.1.AccSet—降低加速度用途:当处理较大负载时使用AccSet指令。

它允许减慢加速度和减速度,使机器人有一个更平滑的运动。

该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。

基本范例:AccSet的基本范例说明如下。

例1AccSet 50,100;加速度备限制到正常值的50%。

例2AccSet 100,50;加速度斜线限制到正常值的50%。

项目:AccSet Acc RampAcc:数据类型:num(数值)加速度和减速度作为正常值的百分比。

100%对应最大加速度。

最大值:100%。

输入值<20%则给出最大加速度的20%。

Ramp数据类型:num(数值)加速度和减速度的增加作为正常值的百分比的比例(如图)。

通过减小这个数值可以限制震动。

100%对应最大比例。

最大值:100%,输入值<10%则给出最大比例的10%。

下图说明减小加速度可以平滑运动。

加速度加速度加速度时间时间时间AccSet 100,100 正常加速度AccSet 30,100 AccSet 100,30程序执行:该加速度值应用到机器人和外部轴,直到一个新的AccSet指令执行。

缺省值(100%)在以下情况是自动设置:●冷启动●加载了新的程序●从头开始执行程序时语法:AccSet [AccSet “:=”]<数值表达式(IN)>“,”[Ramp “:=”]<数值表达式(IN)>“;”相关信息:1.2.ActUnit—激活一个机械单元用途:ActUnit用来激活一个机械单元。

例如当使用普通驱动单元的时候,它可以用来决定哪一个单元被激活。

该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。

基本范例:ActUnit的基本范例说明如下:例1 ActUnit orbit_a;orbit_a机械单元的激活。

项目:AccUnit MechUnitMechUnit:机械单元数据类型:mecunit(机械单元)要激活的机械单元的名称。

ABB机器人标准指令详解

ABB机器人标准指令详解

ABB机器人标准指令详解一、 RAPID程序控制指令1、1程序开始/结束控制指令1) PROGRAM START/END1、指令格式: PROGRAM <程序名> <属性> ;2、描述:此指令标识一个机器人程序的开始或结束。

在这里,<程序名>是你给程序取的名字,<属性>是可选的,表示程序的属性(如:INTERLOCK, NO_INTERLOCK, NOPROGRAM等)。

2) JOB START/END1、指令格式: JOB <作业名> <属性> ;2、描述:此指令标识一个作业的开始或结束。

在这里,<作业名>是你给作业取的名字,<属性>是可选的,表示作业的属性(如:INTERLOCK, NO_INTERLOCK, NOPROGRAM等)。

1、2程序转移指令1) GOTO1、指令格式: GOTO <行号>;2、描述:此指令将程序执行转移到指定的行号。

2) GOSUB1、指令格式: GOSUB <行号>;2、描述:此指令将程序执行转移到指定的行号,并在返回时继续执行当前行。

3) RETURN1、指令格式: RETURN;2、描述:此指令将程序执行从 GOSUB转移到父程序,并从 GOTO转移到原程序行。

1、3条件判断指令1) IF/THEN/ELSE/ENDIF;1、指令格式: IF <条件> THEN <表达式> ELSE <表达式> ENDIF;2、描述:如果满足条件<条件>,则执行 THEN后面的表达式;否则执行 ELSE后面的表达式。

2) CASE/ESAC/ENDCASE;1、指令格式: CASE <变量> IN <表达式1> / <表达式2> /... / ENDCASE;2、描述:此指令根据变量<变量>的值选择要执行的表达式。

ABB机器人标准指令详解

ABB机器人标准指令详解
SoftDeact [\Ramp];
[\Ramp]: 软化坡度,>=100%。 ( num )
应用: 当前指令用于使软化机器人主机或外轴伺服 系统指令 SoftAct 失效。
实例:
SoftAct 3,20; SoftDeact; SoftAct 1,90; SoftDeact\Ramp:=150;
2019/11/24
运动控制指令-SingArea
SingArea [\Wrist]|[\Off];
[\Wrist]: 启用位置方位调整。 ( switch ) 机器人运动时,为了避免死机, 位置点允许其方位值有些许改变,例如: 在五轴零度时,机器人四六轴平行。 [\Off]: 关闭位置方位调整。 ( switch ) 机器人运动时,不允许位置点方位改变, 是机器人的默认状态。
2019/11/24
运动控制指令-SingArea
限制: 以下情况机器人将自动恢复默认值
SingArea\Off。 机器人冷启动。 系统载入新的程序。 程序重置 ( Start From Beginning )

2019/11/24
运动控制指令-PathResol
PathResol PathSampleTime;
外轴激活指令
ActUnit
DeactUnit
2019/11/24
外轴激活指令-ActUnit
ActUnit MecUnit;
MecUnit:
外轴名。
( mecunit )
应用:
将机器人一个外轴激活,例如:当多个外轴 公用一个驱动板时,通过外轴激活指令 ActUnit 选择当前所使用的外轴。
2019/11/24
应用:
在一个数字数据值上增加 1,可以用赋值指 令替代,一般用于产量计数。

ABB机器人常用指令详解

ABB机器人常用指令详解

ABB机器人RAPID常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:l终点是一个单一点l对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。

基本范例:该指令的基本范例说明如下。

也可参看第207页更多范例。

例1MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2沿着一个非线性路径到绝对轴位置p50,以速度数据v1000和zone数据z50。

例2MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath的程序段中不允许包含项目\Conc的运动指令。

如果该项目忽略并且ToJointPos不是一个停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。

abb机器人基本指令

abb机器人基本指令

02
机器人工具姿态指令
SetAbsToolAngle
总结词
设置机器人工具的绝对姿态
详细描述
该指令用于设置机器人的工具姿态, 包括工具的姿态角度和姿态速度。通 过该指令,可以精确控制机器人的工 具姿态,实现精确的位置和姿态控制 。
SetRelToolAngle
总结词
设置机器人工具的相对姿态
详细描述
While...EndWhile
总结词
此指令用于重复执行一系列指令,直到满足某个条件 为止。
详细描述
使用While...EndWhile指令,可以让机器人重复执行 一系列动作或命令,直到满足设定的条件。例如,可 以让机器人连续移动到多个位置,直到达到目标位置 或检测到障碍物。
For...EndFor
总结词
设置数字输出信号状态
详细描述
SetDO指令用于设置指定的数字输出信号状 态。它需要指定一个数字输出信号的名称作 为参数,并设置该信号的状态为激活或非激 活。通过使用SetDO指令,可以控制机器人
外部设备的动作或状态。
WaitDO
要点一
总结词
等待数字输出信号状态变化
要点二
详细描述
WaitDO指令用于等待指定的数字输出信号状态发生变化 。它需要指定一个数字输出信号的名称作为参数,并等待 该信号的状态从非激活变为激活或从激活变为非激活。当 信号状态发生变化时,该指令将停止等待并继续执行后续 指令。
MoveJ
总结词
关节移动指令
详细描述
MoveJ指令使机器人以关节姿态移动到目标位置。它通过指定各个关节的角度值来控制机器人的运动 ,而无需关心机器人末端执行器的实际位置。该指令常用于需要高精度控制的场合,如装配作业等。

最全的ABB机器人程序指令解读

最全的ABB机器人程序指令解读

最全的ABB机器人程序指令解读一、程序储存器(Programmemory)的组成:应用程序(Program)系统模块(Systemmodules)机器人程序储存器中,只允许存在一个主程序;所有例行程序与数据无论存在于哪个模块,全部被系统共享;所有例行程序与数据除特殊定义外,名称必须是唯一的。

1、应用程序(Program)的组成:主模块(Mainmodule)主程序(Mainroutine)程序数据(Programdata)例行程序(Routines)程序模块(Programmodules)程序数据(Programdata)例行程序(Routines)2、系统模块(Systemmodules)的组成:系统数据(Systemdata)例行程序(Routines)所有ABB机器人都自带两个系统模块,USER模块与BASE模块,根据机器人应用不同,有些机器人会配备相应应用的系统模块。

建议不要对任何自动生成的系统模块进行修改。

二、编程窗口:1、菜单键File:1、 Open:打开一个现有文件。

(程序.prg或模块.mod)2、 New:新建一个程序。

3 、Saveprogram :存储更改后的现有程序。

4 、Saveprogramas:存储一个新程序。

5 、Print: 打印程序,现已经不使用。

6、 Preferences:定义用户化指令集。

7、 Checkprogram :检验程序,光标会提示错误。

8 、Close:在程序储存器中关闭程序。

9、 Savemodule :存储更改后的现有模块。

(只在Module窗口中存在)0、Savemoduleas : 存储一个新模块。

(只在Module窗口中存在)2、菜单键Edit:1、 Cut:剪切,可能会丢失指令或数据。

2 、Copy :复制。

3 、Paste :粘贴,将剪切或复制的指令或数据粘贴到相应位置。

4、 GotoTop:将光标移至顶端。

5、 GotoBottom :将光标移至底端。

ABB机器人标准指令详解

ABB机器人标准指令详解
限制: 机器人冷启动,新程序载入与程序重置后,
系统自动设置为默认值。
2019/8/7
运动控制指令-SingArea
SingArea [\Wrist]|[\Off];
[\Wrist]: 启用位置方位调整。 ( switch ) 机器人运动时,为了避免死机,位置点允 许其方位值有些许改变,例如:在五轴零 度时,机器人四六轴平行。 [\Off]: 关闭位置方位调整。 ( switch ) 机器人运动时,不允许位置点方位改变, 是机器人的默认状态。
都起作用,例如:TCP、方位及外轴。但对 焊接参数 welddata 与 seamdata 内机器人运 动速度不起作用。 Max 只对速度数据 (speeddata) 内 TCP 这项 起作用。
2019/8/7
运动控制指令-ConfJ
ConfJ [\On]|[\Off];
[\On]: 启用轴配置数据。
2019/8/7
计数指令-Clear
Clear Name;
Name: 数据名称。
( num )
应用:
将一个数字数据的值归零,可以用赋值指令 替代。
实例:
Clear reg1;
等同于
reg1:=0;
2019/8/7
计数指令-Incr
Incr Name;
Name: 数据名称。
( num )
应用:
在一个数字数据值上增加 1,可以用赋值指 令替代,一般用于产量计数。
[\Off]: 默认轴配置数据。
( switch )
直线运动时,机器人移动至 ModPos 点,
轴配置数据默认为当前最接近值。
2019/8/7
运动控制指令-ConfL
应用: 对机器人运行姿态进行限制与调整,程序运 行时,使机器人运行姿态得到控制。系统默 认值为 ConfL\On; 。

ABB机器人常用指令详解-中文

ABB机器人常用指令详解-中文
by 张建辉, 韩鹏排版
例1 MoveAbsJ *, v2000\V:=2200, z40 \Z:=45, grip3; Grip3 沿着一个非线性路径运动到一个存储在指令中的一个绝对轴位置。执行的运动数据为 v2000 和 z40。 TCP 的速度大小是 2200mm/s,zone 的大小是 45mm。
by 张建辉, 韩鹏排版
该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。 指定的 ID 号在所有协同的程序任务中必须相同。该 ID 号保证在 routine 中运动不会混乱。 如果并列了同步运动,不允许在其他任何情况下使用。 Speed: 数据类型:speeddata 应用到运动中的速度数据。速度数据定义 TCP、工具再定位和外部轴的速度。 [ \V]: 速度 数据类型:num 该项目用来在指令中直接指定 TCP 的速度,单位 mm/s。它代替速度数据中指定的相应的速度。 [\T]: 时间 数据类型:num 该项目用来指定机器人和外部轴运动的总时间,单位秒。它代替相应的速度数据。 Zone: 数据类型:zonedata 运动的 zone 数据。它描述产生的转角路径的大小。 [ \Z]: Zone 数据类型:num 该项目用来在指令中直接指定机器人 TCP 的位置精度。转角路径的长度以毫米为单位给出,它代替 zone 数据中指定的 zone。 [\Inpos ]: 到位 数据类型:stoppointdata(停止点数据) 改项目用来指定机器人 TCP 在停止点位置的收敛性判别标准。该停止点数据代替在 zone 参数中指定的 zone。 Tool: 数据类型:tooldata 运动过程中所使用的工具。TCP 是运动到指定目标的点。 [\Wobj ]:
如果该项目忽略并且 ToJointPos 不是一个停止点,在机器人到达程序 zone 之前一段时间后续指令就开始执

ABB机器人标准指令详解

ABB机器人标准指令详解

500 mm/s 800 mm/s 10 s
800 mm/s 1000 mm/s 1000 mm/s 6.25 s
2023/10/21
运动控制指令-VelSet
限制: 机器人冷启动,新程序载入与程序重置后,
系统自动设置为默认值。 机器人运动使用参变量 [\T] 时,最大运行速
度将不起作用。 Override 对速度数据 (speeddata) 内所有项
在一个数字数据值上增加 1,可以用赋值指 令替代,一般用于产量计数。
实例:
Incr reg1;
等同于
reg1:=reg1+1;
2023/10/21
计数指令-Decr
Decr Name;
Name: 数据名称。
实例:
ConfJ\On; … ConfJ\Off;
限制: 机器人冷启动,新程序载入与程序重置后,
系统自动设置为默认值。
2023/10/21
运动控制指令-ConfL
ConfL [\On]|[\Off];
[\On]: 启用轴配置数据。
( switch )
直线运动时,机器人移动至绝对 ModPos
点,如果无法到达,程序将停止运行。
2023/10/21
运动控制指令-SingArea
限制: 以下情况机器人将自动恢复默认值
SingArea\Off。 机器人冷启动。 系统载入新的程序。 程序重置 ( Start From Beginning )。
2023/10/21
运动控制指令-PathResol
PathResol PathSampleTime;
p10,外轴不动。
p20,外轴联动 track_motion。
p30,外轴联动 orbit_a。

ABB机器人常用指令详解-中文(1234四部分全)

ABB机器人常用指令详解-中文(1234四部分全)

ABB RAPID-1.88.MoveAbsJMoveAbsJll IR6400CMoveAbsJTCPT_ROB12071MoveAbsJ p50, v1000, z50, tool2;tool2p50v1000zone z50 2MoveAbsJ *, v1000\T:=5, fine, grip3;grip3*5MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:switch\Conc5StorePath-RestoPath \ConcToJointPos zoneToJointPosjointtarget*[\ID]IDidentnoID ID routine[\NoEOffs]switch\NoEOffs1MoveAbsJSpeedspeeddataTCP[\V]numTCP mm/s[\T]numZonezonedatazone Zone[\z ]ZonenumTCP zone [\Inpos ]stoppointdataTCP zone zoneTooltooldataTCP TCP[\Wobj ]wobjdataMoveAbsJ\NoEOffs\NoEOffsTCP TCPTCPZone1MoveAbsJ *, v2000\V:=2200, z40 \Z:=45, grip3;Grip3v2000z40 TCP2200mm/s zone45mm2MoveAbsJ p5, v2000, fine \Inpos :=inpos50, grip3;Grip3p5fine50%50%2stoppointdata inpos503MoveAbsJ \Conc, *, v2000, z40, grip3;Grip34MoveAbsJ \Conc, * \NoEOffs, v2000, z40, grip3;5GripLoad obj_mass;MoveAbsJ start, v2000, z40, grip3 \Wobj:=obj;grip3obj startMoveAbsJMoveAbsJMoveAbsJ [ Conc , ] [ ToJointPos := ] <IN>[ ID := <identno(IN)> ] [ NoEOffs ] ,[ Speed := ] <speeddata(IN)>[ V := <num IN> ]| [ T := <num(IN)> ] ,[ Z := ] <num(IN)>[ Inpos := <stoppointdata(IN)>],[Tool:= ]<tooldata(PERS)>[Wobj := wobjdata(PRS)> ] ;RAPID RAPID RAPID959Jointtarget1010speeddataZone1047zonedata zone1014stoppointdata1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/O189MoveCTCPT_ROB12121Move p1, p2, v500, z30, tool2;Tool2TCP p2v500, zone z30.p1p2 2MoveC *, *, v500 \T:=5, fine, grip3;Grip3TCP fine** 53MoveL p1, v500, fine, tool1;MoveC p2, p3, v500, z20, tool1;MoveC p4, p1, v500, fine, tool1;MoveCMoveC [\Conc] CirPoint ToPoint [\ID] Speed [\V] | [\T] Zone [\z] [\Inpos] Tool [\Wobj] [\Corr][ \Conc]switchflyby pointsCPU\Conc 5StorePath RestorePath\ConcToPointzoneCirPointrobtarget*ToPointrobtarget*[ \ID ]IDidentnoP1P2P3P4ID ID routineSpeedspeeddataTCP[ \V]numTCP mm/s[\T]numZonezonedatazone[ \Z]ZonenumTCP zone zone[\Inpos ]stoppointdataTCP zonezoneTooltooldataTCP[\Wobj ]wobjdataTCP [ \Corr ]switchCorrWritel TCPllCirPathModeTCPzone1MoveC *, *, v500 \V:=550, z40 \Z:=45, grip3;Grip3TCP v500z40TCP 550mm/s zone45mm2MoveC p5, p6, v2000, fine \Inpos := inpos50, grip3;Grip3TCP p6fine50%50%stoppointdata inpos50 3MoveC \Conc, *, *, v500, z40, grip3;Grip3TCP4MoveC cir1, p15, v500, z40, grip3 \Wobj :=fixture;Grip3TCP cir1p15fixturecirPoint Topointl ToPoint0.1l CirPoint0.1l CirPoint ToPoint1ToPointCircle PointTCP MoveCMoveC [ Conc , ] [CirPoint := ] <robtarget(IN)>,[ToPoint := ] < robtarget IN>,[ID:= <identno IN>],[ Speed := ] <speeddata IN>[ V := <num IN>][ T := <num IN>],[zone :=]<zonedata IN>[ Z := <num(IN)> ][Inpos := <stoppointdata IN>],[Tool:= ] <tooldata PERS>[Wobj:= <wobjdata PERS> ][ Corr ] ;RAPID RAPID RAPID1010speeddataZone1047zonedata zone1014stoppointdata1031tooldata1039wobjdata67CorrWrite32CirPathModeRAPID RAPID I/ORAPID RAPID I/ORAPID RAPID I/O1.90MoveCDOMoveCDO TCP/T_ROB11MoveCDO p1, p2, v500, z30, tool2, do1, 1;Tool2TCP p2,v500zone z30p1p2 p2do1MoveCDO CirPoint ToPoint [\ID] Speed [\T] Zone Tool [\Wobj] Signal V alueCirPointrobtarget*ToPointrobtarget* [\ID]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazone ZoneTooltooldata[\Wobj]wobjdataTCPSignalsignaldoValuedionum01MoveC/MoveC/MoveC SetDO MoveCDO/I/O/MoveCMoveCDO [ CirPoint := ] <robtarget IN>,[ToPoint :=] <robtarget IN>,[ ID :=<identno IN>],[Speed:= ]<speeddata IN>[ T := < num IN>],[Zone:= ]<zonedata IN>,[Tool:= ]<tooldata PERS>[ Wobj := <wobjdata PERS>],[Signal:= ] <signaldo VAR>],[V alue:= ] <dionum IN>];RAPID RAPID RAPID209MoveC1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/OI/O RAPID RAPID I/O1.91MoveCSync RAPIDMoveCSync TCPRAPIDT_ROB12MoveCSync p1, p2, v500, z30, tool2, proc1;Tool2TCP p2,v500zone z30p1p2 p2proc1MoveCSync CirPoint ToPoint [\ID] Speed [\T] Zone Tool [\Wobj] ProcNameCirPointrobtarget*ToPointrobtarget*[\ID]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazone ZoneTooltooldata[\Wobj]wobjdataTCP ProcNamestringRAPIDMoveCTCP MoveCSync RAPIDRAPIDMoveC RAPIDRAPIDRAPIDMoveCRAPIDMoveCSync TRAP RAPIDMoveCSync [ CirPoint := ] <robtarget IN>,[ToPoint :=] <robtarget IN>,[ ID :=<identno IN>],[Speed:= ]<speeddata IN>[ T := < num IN>],[Zone:= ]<zonedata IN>,[Tool:= ]<tooldata PERS>[ Wobj := <wobjdata PERS>],[ProcName:= ] <sting IN>];RAPID RAPID RAPID209MoveC1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ObyRAPID RAPID I/O I/O RAPID RAPID I/O1.92MoveExtJ TCPMoveExtJ TCPll TCP2251MoveExtJ jpos10, vrot10, z50;jpos1010/zone z502MoveExtJ \Conc, jpos20, vrot10 \T:=5, fine \InPos:=inpos20;5jpos20jpos20inpos20MoveExtJ [\Conc] To JointPos [\ID] Speed [\T] Zone [\Inpos][ \Conc]switchflyby points CPU\Conc5StorePath RestorePath\ConcToPoint zoneToJointPosjointtarget* [ \ID ]IDidentnoID ID routineSpeedspeeddata[\T]numZonezonedatazone[\Inpos ]stoppointdataTCP zone zoneCONST jointtarget j1 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[0,9E9,9E9,9E9,9E9,9E9]];CONST jointtarget j2 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[30,9E9,9E9,9E9,9E9,9E9]];CONST jointtarget j3 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[60,9E9,9E9,9E9,9E9,9E9]];CONST jointtarget j4 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[90,9E9,9E9,9E9,9E9,9E9]];CONST speeddata rot_ax_speed:=[0,0,0,45];MoveeExtJ j1, rot_ax_speed, fine;MoveeExtJ j2, rot_ax_speed, z20;MoveeExtJ j3, rot_ax_speed, z20;MoveeExtJ j4, rot_ax_speed, fine0, 30, 609045/MoveExtJ [ Conc ,][ ToJointPos := ]<jointtarget IN>[ ID := <identno IN>],[Speed:= ]<speeddata IN>[T:= <num IN>],[Zone:= ]<zonedata IN>[ Inpos := <stoppointdata IN>];RAPID RAPID RAPIDjointtarget959jointtarget1010speeddataZone1047zonedata zoneRAPID RAPID I/ORAPID RAPID I/O 1.93MoveJMoveJT_ROB12281MoveJ p1, vmax, z30, tool2;tool2TCP p1vmax zone z30 2MoveJ *, vmax \T:=5, fine, grip3;grip3TCP*5MoveJ [\Conc] ToPoint [\ID] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\WObj][ \Conc ]switchflyby points CPU\Conc5StorePath RestorePath\ConcToPoint zoneToPointrobtarget*[ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\V]numTCP mm/s[\T]numZonezonedatazone[\Z]ZonenumTCP mm zone zone[\Inpos ]stoppointdataTCP zone zoneTooltooldataTCP[\Wobj]wobjdataTCPTCPTCP TCPTCPzone1MoveJ *, v2000\V:=2200, z40 \Z:=45, grip3;grip3TCP v2000z40TCP zone2200mm/s45mm2MoveJ p5, v2000, fine \Inpos := inpos50, grip3;grip3TCP p5fine50%50%2stoppointdata inpos503MoveJ \Conc, *, v2000, z40, grip3;grip3TCP4MoveJ start, v2000, z40, grip3 \WObj:=fixture;grip3TCP start fixtureMoveJ[ Conc , ][ ToPoint := ] <robtarget(IN) > ,_[ ID := < identno(IN) >],_[ Speed := ] < speeddata(IN)>_[ V := < num (IN)> ]_| [ T := < num (IN) > ] ,_[Zone:= ] < zonedata(IN)>_[ Z := < num(IN)> ]_[ Inpos := < stoppointdata(IN)> ] ,_[ Tool := ] < tooldata(PERS) >_[ WObj := <wobjdata (PERS)> ] ;RAPID RAPID RAPID1010speeddataZone1047zonedata zone1014stoppointdata1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/ORAPID RAPID I/O1.94MoveJDOMoveJDO/T_ROB11MoveJDO p1, vmax, z30, tool2, do1, 1;tool2TCP p1vmax zone z30p1 do1MoveJDO ToPoint [\ID] Speed [\T] Zone Tool [\WObj] Signal ValueToPointrobtarget* [ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazoneTooltooldataTCP[\Wobj]wobjdataTCPSignalsignaldoValuedionum01MoveJ/MoveJ/MoveJ SetDO MoveJDO/I/O/MoveJDO_[ ToPoint := ] < robtarget(IN) > ,_[ ID := < identno(IN) >],_[ Speed := ] < speeddata(IN) >_[ T := < num(IN) > ] ,_[ Zone := ] < zonedata(IN)>,_[ Tool := ] < tooldata(PERS) >_[ WObj := < wobjdata(PERS) > ] ,_[ Signal := ] < signaldo(VAR)>],_[ Value:= ] < dionum(IN) > ] ;RAPID RAPID RAPID226MoveJ1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/OI/O RAPID RAPID I/O1.95.MoveJSync RAPIDMoveJSyncRAPIDT_ROB11MoveJSync p1, vmax, z30, tool2, proc1;tool2TCP p1vmax zone z30p1 proc1MoveJSync ToPoint [\ID] Speed [\T] Zone Tool [\WObj] ProcNameToPointrobtarget*[ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazoneTooltooldataTCP[\Wobj]wobjdataTCPProcNamestringRAPIDMoveJTCP MoveJSync RAPIDMoveJ RAPIDRAPIDRAPIDRAPIDMoveJSync TRAP RAPIDMoveJSync[ ToPoint := ] < robtarget(IN) > ,[ ID := < identno(IN)>],[ Speed := ] < speeddata(IN) >[ T := < num(IN) > ] ,[ Zone := ] < zonedata(IN) >[ Z := < num(IN) > ] ,[ Tool := ] < tooldata(PERS) >[ WObj := < wobjdata(PERS)> ] ,[ ProcName:= ] <string(IN) > ] ;RAPID RAPID RAPID226MoveJ1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/O1.96.MoveLMoveL TCP TCPT_ROB12381MoveL p1, v1000, z30, tool2;Tool2TCP p1v1000zone z302MoveL *, v1000\T:=5, fine, grip3;Grip3TCP*5MoveL [\Conc] ToPoint [\ID] Speed [\V] | [ \T] Zone [\Z] [\Inpos] Tool [\WObj] [\Corr][ \Conc ]switchflyby points CPU\Conc5StorePath RestorePath\ConcToPoint zoneToPointrobtarget*[ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\V]numTCP mm/s[\T]numZonezonedatazone[\Z]ZonenumTCP mm zone zone[\Inpos ]stoppointdataTCP zonezoneTooltooldataTCP[\Wobj]wobjdataTCP[ \Corr ]switchCorrWritel TCPllTCPzone1MoveL *, v2000 \V:=2200, z40 \Z:=45, grip3;Grip3TCP v2000z40TCP zone 2200mm/s45mm2MoveL p5, v2000, fine \Inpos := inpos50, grip3;Grip3TCP p5fine50%50%stoppointdata inpos50 3MoveL \Conc, *, v2000, z40, grip3;Grip3TCP4MoveL start, v2000, z40, grip3 \WObj:=fixture;Grip3TCP start fixtureMoveL _[ Conc , ]_[ ToPoint := ] < robtarget(IN)>,[ ID := < identno(IN)>],_[ Speed := ] < speeddata(IN)>_[ V := < num(IN)> ] _| [ T := < num(IN)> ] ,_[Zone:= ] < zonedata(IN)>_[ Z := < num(IN)> ]_[ Inpos := < stoppointdata(IN)> ] ,_[ Tool := ] < tooldata(PERS)> _[ WObj := < wobjdata(PERS)> ] _[ Corr ];RAPID RAPID RAPID1010speeddataZone1047zonedata zone1014stoppointdata1031tooldata1039wobjdata67CorrWriteRAPID RAPID I/ORAPID RAPID I/ORAPID RAPID I/O1.97.MoveLDOMoveLDO TCP/TCPT_ROB11MoveLDO p1, v1000, z30, tool2, do1,1;tool2TCP p1v1000zone z30p1 do1MoveLDO ToPoint [\ID] Speed [\T] Zone Tool [\WObj] Signal Value ToPointrobtarget* [ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazoneTooltooldataTCP[\Wobj]wobjdataTCPSignalsignaldoValuedionum01MoveL/MoveLDO/MoveJ SetDO MoveLDO/I/O/MoveLDO _[ ToPoint := ] < robtarget(IN)>,_[ ID := < identno(IN)>],_[ Speed := ] < speeddata(IN)>_[ T := < num(IN)> ] ,_[ Zone := ] < zonedata(IN)>,_[ Tool := ] < tooldata(PERS)> _[ WObj := < wobjdata(PERS)> ] ,_[ Signal := ] < signaldo(VAR) >] ,_[ Value := ] < dionum(IN)> ] ;RAPID RAPID RAPID236MoveL1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/O I/O RAPID RAPID I/O1.98.MoveLSync RAPIDMoveLSync TCPRAPIDTCPT_ROB11MoveLSync p1, v1000, z30, tool2, proc1;tool2TCP p1v1000zone z30p1 proc1MoveLSync ToPoint [\ID] Speed [\T] Zone Tool [\WObj] ProcName ToPointrobtarget* [ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazoneTooltooldataTCP[\Wobj]wobjdataTCPProcNamestringRAPIDMoveJTCP MoveJSync RAPIDMoveL RAPIDRAPIDRAPIDRAPIDMoveLSync TRAP RAPIDMoveLSync[ ToPoint := ] < robtarget(IN) > ,[ ID := < identno(IN)>],[ Speed := ] < speeddata(IN) >[ T := < num(IN) > ] ,[ Zone := ] < zonedata(IN) >[ Tool := ] < tooldata(PERS) >[ WObj := < wobjdata(PERS)> ] ,[ ProcName:= ] <string(IN) > ] ;RAPID RAPID RAPID236MoveL1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/OWorld Zone10l TCPll1.227WZBoxDef World ZoneWZBoxDef World Zone World Zone World1VAR shapedata volume;CONST pos corner1:=[200, 100, 100];CONST pos corner2 :=[600, 400, 400];WZBoxDef \Inside, volume, corner1, corner2;World corner1corner2WZBoxDef [\Inside] | [\Outside] Shape LowPoint HighPoint[\Inside]:switch[\OutSide]:switch\Inside\OutsideShapeshapedataprivateLowPointposx, y, zHighPoint:posx, y, zshapedata Shape WZLimSup WZDOSetLowPoint HighPoint x y zLowPoint HighPoint wobj0robtarget trans p1.transWZBoxDef[[Inside] | [Outside],[LowPoint:=]<pos IN>,[Shape:=]<shapedata VAR>,[HighPoint:=]<pos IN>;World Zones RAPID RAPID I/O World ZoneWorld Zone1004shapedata World ZoneWorld Zone 636WZSphDef World ZoneWorld Zone 613WZCylDef World Zonehome World Zone 625WZHomeJointDef home World ZoneWorld Zone 629WZLimJointDef World Zone World Zone633WZLimSup World ZoneWorld Zone617WZDOSet World Zone1.228WZCylDef World ZoneWZCylDef World Zone World Zone World z1VAR shapedata volume;CONST pos C2:= [300, 200, 200];CONST num R2:= 100;CONST num H2:=200;WZCylDef \Inside, volume, C2, R2, H2;C2R2H2WZCylDef [\Inside] | [\Outside] Shape CenterPoint Radius Height[\Inside]:switch[\Outside]:switch\Inside\OutsideShape:shapedataprivateCentrePoint:posx y zRadiusnumHeightnum+z CentrePointHeight-z CentrePointshapedata Shape WZLimSup WZDOSetCentrePoint wobj0robtarget trans p1.transWZCylDef[Inside] | [Outside],[Shape:=]<shapedata VAR>,[CentrePoint:=]<pos IN>,[Radius:=]<num IN>,[Height:=]<num IN>;World Zones RAPID RAPID I/O World Zone World Zone1004shapedata World ZoneWorld Zone 636WZSphDef World ZoneWorld Zone 611WZBoxDef World Zonehome World Zone 625WZHomeJointDef home World ZoneWorld Zone 629WZLimJointDef World Zone World Zone633WZLimSup World ZoneWorld Zone617WZDOSet World Zone1.229WZDisable World ZoneWZDisable World Zone World Zone1VAR wztemporary wzone;PROCWZLimSup \Temp, wzone, volume;MoveL p_pick, v500, z40, tool1;WZDisable wzone;MoveL p_place, v200, z30, tool1;ENDPROCp_pick TCP wzonebyp_placeWZDisable WorldZoneWorldZonewztemporaryWztemporary WorldZoneWorldZone TCPWZEnableWorldZone WorldZoneWZDisable[WorldZone:=]<wztemporaty INOUT>;World Zones RAPID RAPID I/O World Zone World Zone 613WZCylDef World Zone World Zone1045wztemporary WorldZoneWorldZone633WZLimSup WorldZoneWorld Zone617WZDOSet World ZoneWorldZone621WZEnableWorldZone623WZFree WorldZone1.230WZDOSet WorldZoneWZDOSet WorldZone WorldZoneTCP/WorldZone WorldZone1VAR wztemporary service;PROC zone_output( )VAR shapedata volume;CONST pos p_service:= [500, 500, 700];WZSphDef \Inside, volume, p_service, 50;WZDOSet \Temp, service \Inside, volume, do_service, 1;ENDPROCWorldZone service TCPdo_serviceWZDOSet [\Temp] | [\Stat] WorldZone [\Inside] | [\Before] Shape Signal SetV alue[\Temp]switchWorldZone WorldZone[\Stat]switchWorldZone WorldZone[\Temp][\Stat]WorldZonewztemporary wzstationaryWorldZone\Temp wztemporary\Stat wzstationary [\Inside]switchTCP[\Before]switchTCP[\Inside][\Before]ShapeshapedataWorldZoneSignalsignaldoWorldZone RAPID FPSetValue:dionumTCP10TCPWorldZone TCP/TCP/\Inside\Before WZDOSet WZHomeJointDef WZLimJointDef1VAR wztemporary home;VAR wztemporary service;PERS wztemporary equip1:=[0];PROC main( )!WorldZoneZone_output;! equip1WZEnable equip1;! equip1WZDisable equip1;!equip1WZFree equip1;ENDPROCPROC zone_output( )VAR shapedata volume;CONST pos p_home:=[800, 0, 800];CONST pos p_service:=[800, 800, 800];CONST pos p_equip1:=[-800,-800, 0];WZSphDef \Inside, volume, p_home, 50;WZDOSet \Temp, home \Inside, volume, do_home, 1;WZSphDef |Inside, volume, p_service, 50;WZDOSet \Temp, service \Inside, volume, do_service, 1;WZCylDef \Inside, volume, p_equip1, 300, 1000;WZLimSup \Temp, equip1, volume;! equip1WZDisable equip1;ENDPROCWorldZone home servicehome service WorldZone do_home do_serviceWorldZone quip1equip1equip1equip1 equip1equip1WorldZone WorldZoneGrip3TCP p5fine50%50%stoppointdata inpos50 3MoveL \Conc, *, v2000, z40, grip3;Grip3TCP4MoveL start, v2000, z40, grip3 \WObj:=fixture;Grip3TCP start fixtureMoveL _[ Conc , ]_[ ToPoint := ] < robtarget(IN)>,[ ID := < identno(IN)>],_[ Speed := ] < speeddata(IN)>_[ V := < num(IN)> ] _| [ T := < num(IN)> ] ,_[Zone:= ] < zonedata(IN)>_[ Z := < num(IN)> ]_[ Inpos := < stoppointdata(IN)> ] ,_[ Tool := ] < tooldata(PERS)> _[ WObj := < wobjdata(PERS)> ] _[ Corr ];RAPID RAPID RAPID1010speeddataZone1047zonedata zone1014stoppointdata1031tooldata1039wobjdata67CorrWriteRAPID RAPID I/ORAPID RAPID I/ORAPID RAPID I/O1.97.MoveLDOMoveLDO TCP/TCPT_ROB11MoveLDO p1, v1000, z30, tool2, do1,1;tool2TCP p1v1000zone z30p1 do1MoveLDO ToPoint [\ID] Speed [\T] Zone Tool [\WObj] Signal Value ToPointrobtarget* [ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazoneTooltooldataTCP[\Wobj]wobjdataTCPSignalsignaldoValuedionum01MoveL/MoveLDO/MoveJ SetDO MoveLDO/I/O/MoveLDO _[ ToPoint := ] < robtarget(IN)>,_[ ID := < identno(IN)>],_[ Speed := ] < speeddata(IN)>_[ T := < num(IN)> ] ,_[ Zone := ] < zonedata(IN)>,_[ Tool := ] < tooldata(PERS)> _[ WObj := < wobjdata(PERS)> ] ,_[ Signal := ] < signaldo(VAR) >] ,_[ Value := ] < dionum(IN)> ] ;RAPID RAPID RAPID236MoveL1010speeddataZone1047zonedata zone1031tooldata1039wobjdataRAPID RAPID I/ORAPID RAPID I/O I/O RAPID RAPID I/O1.98.MoveLSync RAPIDMoveLSync TCPRAPIDTCPT_ROB11MoveLSync p1, v1000, z30, tool2, proc1;tool2TCP p1v1000zone z30p1 proc1MoveLSync ToPoint [\ID] Speed [\T] Zone Tool [\WObj] ProcName ToPointrobtarget* [ \ID ]IDidentnoID ID routineSpeedspeeddataTCP[\T]numZonezonedatazoneTooltooldataTCP[\Wobj]。

abb机器人标准指令详解课件

abb机器人标准指令详解课件
abb机器人标准指令详解课件
汇报人: 2024-01-05
contents
目录
• ABB机器人简介 • ABB机器人标准指令概述 • ABB机器人基本指令详解 • ABB机器人高级指令详解 • ABB机器人指令应用实例 • ABB机器人令调试与优化
01
ABB机器人简介
ABB机器人的发展历程
1983年
调试工具与步骤
打开示教器,进入调试模式; 检查机器人关节、末端执行器等运动是否正常; 根据需要调整参数,如速度、加速度等。
优化方法与技巧
方法:提高运动精度、减少空
技巧
转时间、改进轨迹规划等。
01
02
合理设置工具坐标系和工件坐 标系;
03
根据实际需求调整机器人的运
动参数;
04
优化轨迹规划算法,提高运动 效率;
05
ABB机器人指令应用实例
搬运指令的应用
01
02
03
搬运指令概述
用于控制机器人进行物料 搬运,包括拾取、移动和 放置等动作。
搬运指令应用场景
在生产线、物流分拣、仓 储搬运等场景中广泛应用 。
搬运指令参数设置
需要设置拾取点、目标点 和放置点等参数,同时考 虑机器人的姿态和速度控 制。
视觉识别指令的应用
01
数学运算指令:用于在机器人程序中进行各种数学运算,如加法、减法、乘法 、除法、指数、对数等。
02
数学运算指令允许您在ABB机器人程序中进行各种数学运算,以处理数值数据 。
03
这些指令可以用于执行算术运算,例如加法、减法、乘法和除法,以及执行更 复杂的数学函数,如指数和对数运算。这些指令对于处理和转换数据非常重要 ,特别是在需要精确控制的机器人应用中。

ABB机器人常用指令详解 中文

ABB机器人常用指令详解 中文

ABB机器人RAPID常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:l终点是一个单一点l对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。

基本范例:该指令的基本范例说明如下。

也可参看第207页更多范例。

例1MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2沿着一个非线性路径到绝对轴位置p50,以速度数据v1000和zone数据z50。

例2MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath的程序段中不允许包含项目\Conc的运动指令。

如果该项目忽略并且ToJointPos不是一个停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例2
MoveExtJ \Conc, jpos20, vrot10 \T:=5, fine \InPos:=inpos20;
5 秒钟把 外部轴移动 到关节 位置 jpos20。程序 立即向前执行 , 但是 外部轴 停止在位置 jpos20, 直到 inpos20 的 收敛 性标 准满足 。 项目 :
MoveExtJ [\Conc] To JointPos [\ID] Speed [\T] Zone [\Inpos]
要求与 外部设 备通讯 或外部设 备 和机 器人通讯 同步的 时候 , 这 个项目 也 很有用。
使用 项目 \Conc 的 时候 ,连续 的运动指令的 数量限 制为 5 个。 在包括 StorePath— RestorePath 的程序 段中不
允许 使用带有 \Conc 项目 的运动指令。
如果 不使用该 项目 ,并且 ToPoint 不是停止点 ,在 机 器人到达 程序 zone 之前 一 段时间后续 指令 就开始执行
TCP 的
该指令只能用来:
l 和定义为运动任务的实际程序任务一起使用,并且 l 如果任务控制一个或者多个没有 TCP 的机械单元。 基本范例:
该指令的基本范例说明如下:
也参看第 225 页的 更 多范例。
例1
MoveExtJ jpos10, vrot10, z50;
移动旋转外部轴 到 关节 位置 jpos10 ,速度 10° /秒 ,zone 数据 z50。
基本范例:
该指令的基本范例说明如下:
也可参看第 228 页 更 多指令。
例 1 MoveJ p1, vmax, z30, tool2;
工具 tool2 的 TCP 沿着 一个 非 线性 路径 到位置 p1, 速度数据是 vmax, zone 数据是 z30。
例2
MoveJ *, vmax \T:=5, fine, grip3;
如果并 列了 同步运动, 不允许在 其他 任何情况 下使用。 Speed:
数据类型 : speeddata 应 用 到运动 中 的速度数据 。 速度数据 定义旋转或者线性外部轴的 速度 。 [\T] : 时间 数据类型 : num 该 项目 用来指定外部轴运动的 总 时间 ,单 位秒 。 它代替 相 应 的速度数据 。 Zone: 数据类型 : zonedata 运动的 zone 数据 。 它 定义 停止点 或者 飞点 。如果 是飞点 它描 述线性或者旋转外部轴的 减 速度 或者 加 速度 。 [\Inpos ] : 到位 数据类型 : stoppointdata( 停止点数据 ) 该 项目 用来指定机 器人 TCP 在停止点位置 的 收敛 性 判别 标 准 。该 停止点数据 代替 在 zone 参 数中 指定的 zone。 程序 执行 : 线性或者旋转外部轴 按照 编 程的 速度 移动 到编 程的 点。 更 多范例:
坐标系 带 I/O 设定的运动
RAPID 参考手册- RAPID 概述,运动和 I/O 原理-坐 标系部分 RAPID 参考手册 — RAPID 概述,运动和 I/O 原理 —用 逻辑指令同步部分
1.92 .MoveExtJ -移动一个或者多个没有 TCP 的机械单元
用途:
MoveExtJ (移动外部关节)只用来移动线性或者旋转外部轴。该外部轴可以属于一个或者多个没有 外部单元。
关节 目 标( jointtarget )的定义
分 第 959 页 jointtarget -关节 位置数据
速度 的定义
第 1010 页 speeddata— 速度数据
Zone 数据 的定义 运动 综 述
第 1047 页 zonedata— zone 数据 RAPID 参考手册 — RAPID 概述,运动和 I/O 原理部分
使用 项目 \Conc 的 时候 ,连续 的运动指令的 数量限 制为 5 个。 在包括 StorePath— RestorePath 的程序 段中不 允许 使用带有 \Conc 项目 的运动指令。
如果 不使用该 项目 ,并且 ToPoint 不是停止点 ,在 机 器人到达 程序 zne。 [\Inpos ] :
到位 数据类型 : stoppointdata( 停止点数据 ) 该 项目 用来指定机 器人 TCP 在停止点位置 的 收敛 性 判别 标 准 。该 停止点数据 代替 在 zone 参 数中 指定的 zone。 Tool : 数据类型 : tooldata 当 机 器人 运动的 时候 使用的 工具 。TCP 是 移动 到 指定的 目 标 点 的那 个 点 。 [\Wobj] : 工作 对象 数据类型 : wobjdata 指令 中机 器人位置相 关 到的 工作 对象(坐标系)。该 项目 可以 忽略 ,如果 忽略 的 话 ,位置相 关 到 世界 坐标系。
当前 程序 执行
RAPID 参考手册- RAPID 概述,运动和 I/O 原理部分
1.93 .MoveJ -通过关节移动移动机器人
用途: 当 运动 不必是直 线的 时候 , MoveJ 用来 快 速 将 机器人 从 一个 点 运动 到 另 一个 点 。
by 张建辉, 韩鹏排版
机 器人 和外部轴 沿着 一个 非 直 线的 路径 移动 到目 标 点, 所 有轴同 时到达目 标 点 。 该指令只能用 在主 任务 T_ROB1 中 ,或者 在 多运动系 统中 的运动任务 中 。
[ \Conc ] :
并 发事件
数据类型 : switch 当 机 器人 运动的同 时, 后续 的指令 开始执行 。该 项目通常不 使用, 但是当 使用 飞点 ( flyby points) 时,可
以用来 避免由 CPU 过载引 起的 不想要 的 停止 。当 使用 高速度 并且 编 程 点相距较近时这是很 有用的。例如, 当不
[Zone ‘:= ’]<zonedata 类型 的 表达 式 ( IN ) > [ ‘’Inpos ‘:= ’<stoppointdata 类型 的 表达 式 ( IN ) >] ‘;’
相 关 信息 :
相关信息 其他 位置 指令
参看 RAPID 参考手册- RAPID 概述, RAPID 摘 要 -运动部
MoveeExtJ j1, rot_ax_speed, fine;
MoveeExtJ j2, rot_ax_speed, z20;
MoveeExtJ j3, rot_ax_speed, z20;
MoveeExtJ j4, rot_ax_speed, fine
在 该例 子 中 ,旋转 独 立 轴移动 到 轴位置 0, 30, 60 和 90 度 ,移动 速度 为 45 度 /秒 。 语法 :
[ \Conc] :
并 发事件
数据类型 : switch 当 外部轴运动的同 时, 后续 的指令 开始执行 。该 项目通常不 使用, 但是当 使用 飞点 ( flyby points) 时,可
以用来 避免由 CPU 过载引 起的 不想要 的 停止 。当 使用 高速度 并且 编 程 点相距较近时这是很 有用的。例如, 当不 要求与 外部设 备通讯 和外部设 备 和机 器人通讯 同步的 时候 , 这 个项目 也 很有用。
了。
在 多运动系 统中 的坐标同步运动 中不 能使用该 项目 。
ToPoint :
数据类型 : robtarget
机 器人 和外部轴的 目 标 位置 。定义为一个 命名 的 位置 或者 直接存储在 指令 中 ( 在 指令 中 用* 标 记 )。
[ \ID ] :
同步 ID
数据类型 : identno
[\T] : 时间 数据类型 : num 该 项目 用来指定外部轴运动的 总 时间 ,单 位秒 。 它代替 相 应 的速度数据 。
Zone: 数据类型 : zonedata 运动的 zone 数据 。 它描 述 产生 的转 角路径 的 大小 。
[\Z] : Zone 数据类型 : num 该 项目 用来 在 指令 中直接 指定机 器人 TCP 的 位置 精 度。转 角路径 的 长度 单 位是 mm,它代替 zone 数据中相
by 张建辉, 韩鹏排版
另 一 方面 ,如果使用 了 静态 TCP或者并 列了 外部轴,该 项目必须 指定。
程序 执行 :
机 器人 TCP用轴 角度 插补 移动 到目 标 点 。也 就是 说 每 一个轴 都 使用一个 固定的轴 速度 并且 所有轴同 时到达 目 标 点 , 所走 的 是 一个 非 线性的 路径 。
Speed: 数据类型 : speeddata 应 用 到运动 中 的速度数据 。 速度数据 定义 TCP、工具重新 定 向 或者外部轴的 速度 。
[\V] : 速度 数据类型 : num 该 项目 用来 在 指令 中直接 指定 TCP 的 速度 ,单 位 mm/s。 它用来 代替 速度数据中相 应 的速度 。
by 张建辉, 韩鹏排版
了。 在 多运动系 统中 的坐标同步运动 中不 能使用该 项目 。
ToJointPos: 到达 关节 位置 数据类型 : jointtarget 外部轴的 绝对目 标轴 位置 。定义为一个 命名 的 位置 或者 直接存储在 指令 中 ( 在 指令 中 用 * 标 记 )。
[ \ID ] : 同步 ID 数据类型 : identno 该 项目必须 使用 在 多运动系 统中 ,如果并 列了 同步运动, 则 不允许在 其他 任 何情况 下使用。 指定的 ID 号 在所 有 协 同的程序任务 中必须相 同。该 ID 号保证 在 routine 中 运动 不 会混乱 。
MoveExtJ [ ‘’Conc ‘,’]
[ ToJointPos’:=’]<jointtarget 类型 的 表达 式 ( IN ) > [ ‘’ID ‘:=’<identno 类型 的 表 达 式 ( IN ) >] ’,’
相关文档
最新文档