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

MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj]
相关信息:
by 张建辉, 韩鹏排版
相关信息 其它定位指令 关节目标的定义 速度的定义 Zone 数据的定义 停止点数据的定义 工具的定义 工作对象的定义 运动综述 并发的程序执行
参看 RAPID 参考手册—RAPID 概述,RAPID 摘要—运动部分 第 959 页 Jointtarget—关节位置数据 第 1010 页 speeddata—速度数据 第 1047 页 zonedata—zone 数据 第 1014 页 stoppointdata—停止点数据 第 1031 页 tooldata—工具数据 第 1039 页 wobjdata—工作对象数据 RAPID 参考手册—RAPID 概述,运动和 I/O 原理部分 RAPID 参考手册—RAPID 概述,运动和 I/O 原理—用逻辑指令同步部分
例2 MoveAbsJ p5, v2000, fine \Inpos :=inpos50, grip3; Grip3 沿着一个非线性路径运动到绝对轴位置 p5。当停止点 fine 的 50%的位置条件和 50%的速度条件满足 的时候,机器人认为它已经到达位置。它等待条件满足最多等 2 秒。参看 stoppointdata 类型的预定义数据 inpos50。
下图显示了后台运行 MoveAbsJ 指令的一些限制。
语法: MoveAbsJ [‘\’ 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)> ] ‘;’
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机器人标准指令详解

运动控制指令-SingArea
应用: 当前指令通过对机器人位置点姿态进行些许 改变,可以绝对避免机器人运行时死机,但 是,机器人运行路径会受影响,姿态得不到 控制,通常使用于通过复杂姿态点,绝对不 能作为工作点使用。 实例:
SingArea\Wrist; … SingArea\Off;
实例:
限制: 机器人加速度百分率值最小为 20,小于 20 以 20 计,机器人加速度坡度值最小为 10, 小于 10 以 10 计。 机器人冷启动,新程序载入与程序重置后, 系统自动设置为默认值。
2019/2/5
运动控制指令-VelSet
VelSet Override, Max;
Override:机器人运行速率 %。 Max: 最大运行速度 mm/s。
2019/2/5
运动控制指令-ConfJ
应用: 对机器人运行姿态进行限制与调整,程序运 行时,使机器人运行姿态得到控制。系统默 认值为 ConfJ\On; 。
实例:
ConfJ\On; … ConfJ\Off;
限制: 机器人冷启动,新程序载入与程序重置后, 系统自动设置为默认值。
2019/2/5
p10,外轴不动。 p20,外轴联动 track_motion。 p30,外轴联动 orbit_a。
限制: 不能在指令 StorePath …RestoPath 内使用。 不能在预置程序 RESTART 内使用。 不能在机器人转轴处于独立状态时使用。
2019/2/5
外轴激活指令-DeactUnit DeactUnit MecUnit;
限制: 机器人被强制停止运行后,软伺服设置将自 动失效。 同一转轴软化伺服不允许被连续设置两次。
ABB机器人标准指令详解

运动控制指令-PathResol
限制: 机器人必须在完全停止后才能更改路径控制
值,否则,机器人将默认一个停止点,并且 显示错误信息 50146。 机器人正在更改路径控制值时,机器人被强 制停止运行,机器人将不能立刻恢复正常运 行 ( Restart )。 以下情况机器人将自动恢复默认值 100%。 机器人冷启动。 系统载入新的程序。 程序重置 ( Start From Beginning )。
外轴激活指令
ActUnit
DeactUnit
2024/2/8
外轴激活指令-ActUnit
ActUnit MecUnit;
MecUnit:
外轴名。
( mecunit )
应用:
将机器人一个外轴激活,例如:当多个外轴 公用一个驱动板时,通过外轴激活指令 ActUnit 选择当前所使用的外轴。
2024/2/8
外轴激活指令-ActUnit
实例:
MoveL p10,v100,fine,tool1; ActUnit track_motion; MoveL p20,v100,z10,tool1; DeactUnit track_motion; ActUnit orbit_a; MoveL p30,v100,z10,tool1;
SoftDeact [\Ramp];
[\Ramp]: 软化坡度,>=100%。 ( num )
应用: 当前指令用于使软化机器人主机或外轴伺服 系统指令 SoftAct 失效。
实例:
SoftAct 3,20; SoftDeact; SoftAct 1,90; SoftDeact\Ramp:=150;
2024/2/8
限制:
机器人被强制停止运行后,软伺服设置将自 动失效。
abb机器人常用指令详解

abb机器人常用指令详解本文主要是关于abb机器人的相关介绍,并着重对abb机器人常用指令进行了详尽的阐述。
abb机器人常用指令详解MoveExtJ:移动一个或者多个没有TCP的机械单元MoveExtJ jpos10,vrot10,z50;意思是移动旋转外部轴到关节位置jpos10,速度10°/秒,zone数据z50.MoveExtJ\Conc,jpos20,vrot10\T:=5,fine\InPos:=inpos20;意思是5秒钟外部轴移动到关节位置jpos20.程序立即向前执行,但是外部轴停止在位置jpos20,直到inpos20的收敛性标准满足。
如上图所示:MoveLp1,v200,z10,tool1\Wobj:wobj1;机器人的TCP从当前位置向p1点以线性运动方式前进,速度是200mm/s,转弯区数据是10mm,距离p1点还有10mm 的时候开始转弯,使用的工具数据是tool1,工件坐标数据是wobj1.MoveL p2,v100,fine,tool1\Wobj:=wobj1;机器人的TCP从p1点向p2点以线性运动方式前进,前进速度是100mm/s,转弯区数据是fine,机器人在p2点稍作停顿,使用的工具数据是tool1,工件坐标数据是wobj1.MoveJ p3,v500,fine,tool1\Wobj:=wobj1;机器人的TCP从p2向p3点以关节运动方式前进,速度是500mm/s,转弯区数据是fine,机器人在p3点停止,使用的工具数据是tool1,工件坐标数据是wobj1.关于速度:速度一般最高只有v5000;在手动限速状态下,所有的运动速度被限速在250mm/s。
关于转弯区:fine指机器人TCP到达目标点,在目标点速度降为零,机器人动作有所停顿后再向下一目标点运动,如果是一段路径的最后一个点一定要为fine;转弯区数值越大,机器人的动作路径就越圆滑和流畅。
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机器人常用指令详解-中文(二)

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机器人标准指令详解一、 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、描述:此指令根据变量<变量>的值选择要执行的表达式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RAPID 参考手册-RAPID 概述,运动和 I/O 原理-坐 标系部分 RAPID 参考手册—RAPID 概述,运动和 I/O 原理—用 逻辑指令同步部分
1.92.MoveExtJ-移动一个或者多个没有 TCP 的机械单元
用途: MoveExtJ(移动外部关节)只用来移动线性或者旋转外部轴。该外部轴可以属于一个或者多个没有 TCP 的
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 度/秒。
工具 tool2 的 TCP 沿着一个非线性路径到位置 p1,速度数据是 vmax,zone 数据是 z30。 例 2 MoveJ *, vmax \T:=5, fine, grip3;
工具 grip3 的 TCP 沿着一个非线性路径运动到存储在指令中的停止点(用*标记)。整个运动需要 5 秒钟。 项目:
MoveJ [\Conc] ToPoint [\ID] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\WObj] [ \Conc ]:
并发事件 数据类型:switch 当机器人运动的同时,后续的指令开始执行。该项目通常不使用,但是当使用飞点(flyby points)时,可 以用来避免由 CPU 过载引起的不想要的停止。当使用高速度并且编程点相距较近时这是很有用的。例如,当不 要求与外部设备通讯或外部设备和机器人通讯同步的时候,这个项目也很有用。 使用项目\Conc 的时候,连续的运动指令的数量限制为 5 个。在包括 StorePath—RestorePath 的程序段中不 允许使用带有\Conc 项目的运动指令。 如果不使用该项目,并且 ToPoint 不是停止点,在机器人到达程序 zone 之前一段时间后续指令就开始执行 了。 在多运动系统中的坐标同步运动中不能使用该项目。 ToPoint: 数据类型:robtarget 机器人和外部轴的目标位置。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。 [ \ID ]: 同步 ID 数据类型:identno 该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。 指定的 ID 号在所有协同的程序任务中必须相同。该 ID 号保证在 routine 中运动不会混乱。 如果并列了同步运动,不允许在其他任何情况下使用。
by 张建辉, 韩鹏排版
另一方面,如果使用了静态TCP或者并列了外部轴,该项目必须指定。 程序执行:
机器人TCP用轴角度插补移动到目标点。也就是说每一个轴都使用一个固定的轴速度并且所有轴同时到达 目标点,所走的是一个非线性的路径。
总的来说,TCP按照大约的编程速度运动(无论是否并列了外部轴)。在TCP运动的同时,工具重新定向, 外部轴也在运行。如果不能达到工具重新定向或者外部轴的编程的速度,TCP的速度将降低。
Zone: 数据类型:zonedata 运动的 zone 数据。它描述产生的转角路径的大小。
[\Z]: Zone 数据类型:num 该项目用来在指令中直接指定机器人 TCP 的位置精度。转角路径的长度单位是 mm,它代替 zone 数据中相
应的 zone。 [\Inpos ]:
到位 数据类型:stoppointdata(停止点数据) 该项目用来指定机器人 TCP 在停止点位置的收敛性判别标准。该停止点数据代替在 zone 参数中指定的 zone。 Tool: 数据类型:tooldata 当机器人运动的时候使用的工具。TCP 是移动到指定的目标点的那个点。 [\Wobj]: 工作对象 数据类型:wobjdata 指令中机器人位置相关到的工作对象(坐标系)。该项目可以忽略,如果忽略的话,位置相关到世界坐标系。
语法:
MoveExtJ [‘\’ Conc ‘,’]
[ ToJointPos’ :=’ ]<jointtarget 类型的表达式(IN)> [‘\’ ID ‘:=’ <identno 类型的表达式(IN)>]’,’
[Speed ‘:=’ ]<speeddata 类型的表达式(IN)>
[‘\’T ‘:=’ <num 类型的表达式(IN)>] ‘,’ [Zone ‘:=’ ]<zonedata 类型的表达式(IN)>
外部单元。 该指令只能用来: l 和定义为运动任务的实际程序任务一起使用,并且 l 如果任务控制一个或者多个没有 TCP 的机械单元。
基本范例: 该指令的基本范例说明如下: 也参看第 225 页的更多范例。
例1 MoveExtJ jpos10, vrot10, z50; 移动旋转外部轴到关节位置 jpos10,速度 10°/秒,zone 数据 z50。
例2 MoveExtJ \Conc, jpos20, vrot10 \T:=5, fine \InPos:=inpos20; 5 秒钟把外部轴移动到关节位置 jpos20。程序立即向前执行,但是外部轴停止在位置 jpos20,直到 inpos20
的收敛性标准满足。 项目:
MoveExtJ [\Conc] To JointPos [\ID] Speed [\T] Zone [\Inpos] [ \Conc]:
工具grip3的TCP沿着一个非线性移动到指令中存储的位置。当机器人移动的时候,后续逻辑指令开始执行。
例4 MoveJ start, v2000, z40, grip3 \WObj:=fixture;
工具grip3的TCP沿着一个非线性的路径到位置start。该位置在fixture的对象坐标系统中指定。 语法:
并发事件 数据类型:switch 当外部轴运动的同时,后续的指令开始执行。该项目通常不使用,但是当使用飞点(flyby points)时,可 以用来避免由 CPU 过载引起的不想要的停止。当使用高速度并且编程点相距较近时这是很有用的。例如,当不 要求与外部设备通讯和外部设备和机器人通讯同步的时候,这个项目也很有用。 使用项目\Conc 的时候,连续的运动指令的数量限制为 5 个。在包括 StorePath—RestorePath 的程序段中不 允许使用带有\Conc 项目的运动指令。 如果不使用该项目,并且 ToPoint 不是停止点,在机器人到达程序 zone 之前一段时间后续指令就开始执行
MoveJ [ ’\’ 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)> ] ‘,’_
Zone 数据的定义
第 1047 页 zonedata—zone 数据
运动综述
RAPID 参考手册—RAPID 概述,运动和 I/O 原理部分
当前程序执行
RAPID 参考手册-RAPID 概述,运动和 I/O 原理部分
1.93.MoveJ-通过关节移动移动机器人
用途: 当运动不必是直线的时候,MoveJ 用来快速将机器人从一个点运动到另一个点。
by 张建辉, 韩鹏排版
机器人和外部轴沿着一个非直线的路径移动到目标点,所有轴同时到达目标点。 该指令只能用在主任务 T_ROB1 中,或者在多运动系统中的运动任务中。 基本范例: 该指令的基本范例说明如下: 也可参看第 228 页更多指令。
例1 MoveJ p1, vmax, z30, tool2;
by 张建辉, 韩鹏排版
了。 在多运动系统中的坐标同步运动中不能使用该项目。
ToJointPos: 到达关节位置 数据类型:jointtarget 外部轴的绝对目标轴位置。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[ \ID ]: 同步 ID 数据类型:identno 该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。 指定的 ID 号在所有协同的程序任务中必须相同。该 ID 号保证在 routine 中运动不会混乱。
CONST jointtarget j1 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[0,9E9,9E9,9E9,9E9,9E9]];
by 张建辉, 韩鹏排版
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];
如果并列了同步运动,不允许在其他任何情况下使用。 Speed:
数据类型:speeddata 应用到运动中的速度数据。速度数据定义旋转或者线性外部轴的速度。 [\T]: 时间 数据类型:num 该项目用来指定外部轴运动的总时间,单位秒。它代替相应的速度数据。 Zone: 数据类型:zonedata 运动的 zone 数据。它定义停止点或者飞点。如果是飞点它描述线性或者旋转外部轴的减速度或者加速度。 [\Inpos ]: 到位 数据类型:stoppointdata(停止点数据) 该项目用来指定机器人 TCP 在停止点位置的收敛性判别标准。该停止点数据代替在 zone 参数中指定的 zone。 程序执行: 线性或者旋转外部轴按照编程的速度移动到编程的点。 更多范例: