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

合集下载

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

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

ABB常用指令详解-中文ABB常用指令详解-中文一、简介及背景ABB是一种先进的自动化设备,具有广泛的应用领域。

本文档将详细介绍ABB常用指令,帮助用户快速了解和掌握的操作技巧和功能。

二、基础指令1.MOVE指令:用于控制的移动,包括直线和旋转方向的移动。

2.SPEED指令:设置的运动速度。

3.HOME指令:将恢复到初始位置。

4.STOP指令:停止的运动。

5.PAUSE指令:暂停的运动,可以手动恢复。

6.WT指令:等待指定条件满足后再继续执行下一步指令。

三、高级指令1.ROBOT指令:控制的工作模式,包括自动模式和示教模式。

2.PROGRAM指令:创建、编辑和运行的程序。

3.CALL指令:调用其他程序或子程序。

4.IF指令:根据条件执行不同的操作。

5.FOR指令:循环执行一系列指令。

6.WHILE指令:在条件满足的情况下重复执行一系列指令。

四、IO指令1.SET指令:设置的输入输出状态。

2.READ指令:读取的输入输出状态。

3.WTIO指令:等待的输入输出状态满足指定条件后再继续执行。

五、系统指令1.DATE指令:获取或设置的日期。

2.TIME指令:获取或设置的时间。

3.ERROR指令:获取或清除的错误信息。

4.POSITION指令:获取当前的位置信息。

5.TOOL指令:设置或校准的工具。

6.SPEEDLIMIT指令:设置的速度限制。

六、附件本文档涉及附件如下:1.附件1:ABB常用指令示例程序2.附件2:ABB常用指令使用手册七、法律名词及注释1.:指能够自动执行任务的可编程设备。

2.指令:语句或命令,用于控制的操作。

3.输入输出(IO):用于与外部设备之间的数据传输和通信。

4.程序:包含一系列指令的有序集合。

5.条件:一种逻辑判断,用于根据不同的情况执行不同的操作。

6.工具:所用的工作设备。

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

ABB机器人常用指令详解-中文
机器人将携带工具 grip3 沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储 (用*标示)。整个运动需要 5 秒钟。 项目:
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机器人常用指令详解-中文

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机器人常用指令详解

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机器人标准指令详解

运动控制指令-VelSet
实例:
VelSet 50,800; MoveL p1,v1000,z10,tool1; MoveL p2,v1000\V:=2000,z10,tool1; MoveL p3,v1000\T:=5,z10,tool1; VelSet 80,1000; MoveL p1,v1000,z10,tool1; MoveL p2,v5000,z10,tool1; MoveL p3,v1000\V:=2000,z10,tool1; MoveL p4,v1000\T:=5,z10,tool1; 500 mm/s 800 mm/s 10 s 800 mm/s 1000 mm/s 1000 mm/s 6.25 s
计数指令-Clear Clear Name;
Name: 数据名称。
( num )
应用: 将一个数字数据的值归零,可以用赋值指令 替代。
实例:
Clear reg1;
等同于
reg1:=0;
2019/2/5
计数指令-Incr
Incr Name;
Name: 数据名称。
( num )
应用: 在一个数字数据值上增加 1,可以用赋值指 令替代,一般用于产量计数。
运动控制指令 计数指令 程序运行停止指令 计时指令 通信指令 中断运动指令 故障处理指令 运动触发指令
2019/2/5
运动控制指令
AccSet
VelSet
ConfJ SingArea
SoftAct
2019/2/5
ConfL PathResol
SoftDeact
运动控制指令-AccSet AccSet Acc, Ramp;
2019/2/5
运动控制指令-SoftAct

ABB机器人实际应用总结归纳中的指令说明

ABB机器人实际应用总结归纳中的指令说明

ABB机器人实际应用总结归纳中的指令说明(一)ABB机器人指令
1、JOINT指令:Joint指令是ABB机器人操作中最基本的指令,它用
来控制ABB机器人的运动。

Joint指令不仅要求用户指定机器人的力矩,
还要求用户指定机器人的关节转动角度以及机器人到达目标位置的时间。

2、POS指令:Pos指令用来控制ABB机器人在空间位置上的运动,以
及机器人的末端位置。

Pos指令要求用户指定机器人到达目标位置的速度,机器人的最大运动速度,机器人的到达目标位置的最短时间。

3、LINE指令:Line指令用来控制ABB机器人沿一条直线路径的运动。

Line指令要求用户指定机器人运动的起点和终点,以及机器人的最大运
动速度和到达目标位置的最短时间。

4、CYCLE指令:Cycle指令用来控制ABB机器人同一条轨迹多次运动
的指令,可以设置循环次数,指定循环运动的参数,如运动速度,运动的
起始点和终点,以及机器人的到达目标位置的最短时间。

5、WAIT指令:Wait指令用来控制ABB机器人暂停一段时间,在
Wait指令中,用户可以指定暂停时间的长短,也可以指定机器人在暂停
时间内运动的参数,如运动速度等。

6、IF指令:If指令用来控制ABB机器人在满足特定条件时执行特定
操作。

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机器人常用指令详解-中文
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机器人常用指令详解

ABB机器人常用指令详解关键信息项:1、指令名称:____________________2、指令功能:____________________3、适用场景:____________________4、参数设置:____________________5、示例代码:____________________11 移动指令111 MoveL 指令MoveL 指令用于线性移动机器人的工具中心点(TCP)到指定的目标位置。

它以直线方式移动,确保路径是一条直线。

指令格式:MoveL ToPoint, Speed, Zone参数说明:ToPoint:目标位置的坐标。

Speed:移动速度。

Zone:逼近和离开目标位置的过渡区域大小。

112 MoveJ 指令MoveJ 指令用于关节运动,机器人以最快的速度将工具中心点移动到目标位置。

指令格式:MoveJ ToPoint, Speed, Zone参数说明:ToPoint:目标位置的关节角度。

Speed:移动速度。

Zone:逼近和离开目标位置的过渡区域大小。

12 输入输出指令121 SetDO 指令SetDO 指令用于设置数字输出信号的值。

指令格式:SetDO Signal, Value参数说明:Signal:要设置的数字输出信号的名称。

Value:设置的值,通常为 0 或 1。

122 WaitDI 指令WaitDI 指令用于等待数字输入信号达到指定的值。

指令格式:WaitDI Signal, Value, Timeout参数说明:Signal:要等待的数字输入信号的名称。

Value:期望的信号值。

Timeout:等待的超时时间,如果在超时时间内未达到指定值,则程序继续执行。

13 逻辑指令131 IF 指令IF 指令用于根据条件执行不同的操作。

指令格式:IF Condition THEN Statements ELSE Statements ENDIF 参数说明:Condition:判断条件。

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

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

ABB机器人常用指令详解-中文一资料ABB机器人是一种广泛应用于工业自动化生产线的机器人,具有高效、精准、稳定的特点。

在ABB机器人的编程中,有许多常用的指令,这些指令的灵活运用可以有效提高机器人的工作效率,增强其生产力。

本篇文章将对ABB机器人最常用的指令进行详细解析,帮助读者更深入地了解ABB机器人的工作原理和应用。

1. 机器人移动指令:MoveJ和MoveLMoveJ和MoveL是ABB机器人最基本的两个指令,也是最常用的指令之一。

它们用于控制机器人轨迹的移动和路径规划。

MoveJ指令是用于控制机器人进行关节移动的指令,它可以精确地控制机器人各个关节的角度,实现精细调整,适用于要求高精度的任务。

例如,如果你需要让机器人从起点移动到终点,可以使用MoveL指令控制其直线移动;如果你需要对物体进行拾取、放置操作,可以使用MoveJ指令精准地控制机器人的关节角度。

2. 机器人姿态指令:Orient和KeepOrientOrient指令用于控制机器人达到特定的姿态,例如翻转、旋转等,确保机器人可以准确抓取、放置物体。

而KeepOrient则是用于维持机器人当前的姿态,保持其在执行任务时的稳定性。

例如,在机器人需要对工件进行研磨时,可以使用Orient指令将机器人的姿态调整为水平翻转状态,以便更好地接触工件表面;而在机器人需要对液体进行搅拌时,可以使用KeepOrient指令,保持机器人的当前姿态不变,确保搅拌的效果稳定。

MoveC用于控制机器人进行圆弧运动,使其沿着一条弧形路径移动。

该指令可以控制机器人沿着任意弧线轨迹运动,实现比较灵活的移动模式。

MoveAbs指令是指使机器人按照指定的绝对坐标移动。

该指令可以快速准确地限制机器人的移动范围,并控制其达到指定位置。

同时,该指令也可以结合其他指令,实现不同的运动模式。

例如,在机器人需要对零件进行平移时,可以使用MoveAbs指令指定零件的位置坐标和运动方向,快速准确地将其移动到指定的位置;而在机器人需要对零件进行旋转时,可以使用MoveC指令指定圆弧路径和旋转角度,实现旋转运动。

ABB机器人常用指令详解

ABB机器人常用指令详解

ABB常用指令详解1、ABB常用指令详解在ABB编程中,常用指令是必须掌握的内容。

本文将详细介绍ABB常用指令,并提供示例代码和相关说明,以帮助读者更好地理解和应用这些指令。

1.1 移动指令1.1.1 PTP(Point-to-Point)指令PTP指令用于使从当前位置直接移动到指定的目标位置。

该指令可在关节坐标系和工具坐标系下使用。

以下是一个示例代码:PTP P1, v100, z50, TCP1解释:- PTP:移动指令的类型。

- P1:目标位置的类型,可以是关节坐标或工具坐标。

- v100:移动速度,100表示100%的速度。

- z50:运动轴向的位置,50表示50mm。

- TCP1:工具坐标系,默认值为TCP1.1.1.2 LIN(Linear)指令LIN指令用于使沿直线轨迹从当前位置移动到指定的目标位置。

以下是一个示例代码:LIN P2, v200, z100, TCP2解释:- LIN:移动指令的类型。

- P2:目标位置的类型,可以是关节坐标或工具坐标。

- v200:移动速度,200表示200%的速度。

- z100:运动轴向的位置,100表示100mm。

- TCP2:工具坐标系。

1.2 程序控制指令1.2.1 IF-ELSE指令IF-ELSE指令用于根据条件执行不同的操作。

以下是一个示例代码:IF cond1 THENPTP P3, v150, z200, TCP3ELSEPTP P4, v100, z150, TCP4ENDIF解释:- IF cond1 THEN:如果条件cond1满足,则执行下一行的操作。

- PTP P3, v150, z200, TCP3:目标位置的移动指令。

- ELSE:如果条件cond1不满足,则执行下一行的操作。

- PTP P4, v100, z150, TCP4:另一个目标位置的移动指令。

- ENDIF:指示IF-ELSE语句块的结束。

1.2.2 WHILE指令WHILE指令用于循环执行一段代码,直到指定条件不满足为止。

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机器人常用指令1、机器人运动控制MoveJ(关节运动指令)MoveL(TCP直线运动指令)MoveC(TCP圆弧运动指令)MoveAbsJ(轴绝对角度位置运动指令)2、例行程序内的逻辑控制Compact IF (如果条件满足,就执行一条指令)IF(当条件不同的条件时,执行对应的程序)For(根据指定的次数,重复执行对应的程序)While(如果条件满足,重复对应的程序)Test(对一个变量进行判断,从而执行不同的程序)GOTO(跳转到例行程序内标签的位置)Label(跳转标签)3、停止程序执行Stop(停止程序执行)Exit(停止程序执行并禁止在停止处开始)Break(临时停止程序的执行,用于手动调试)ExitCycle(中止当前程序的运行并将程序指针 PP 复位到主程序的第一条指令,如果选择了程序连续运行模式,程序将从主程序的第一句)4、赋值指令:= (对程序数据进行赋值)5、等待指令WaitTime(等待一个指定的时间,程序再往下执行)WaitDI(等待一个数字输入信号的指定状态)WaitDO(等待一个数字输出信号指定状态)WaitGI(等待一个组输入信号指定状态)WaitGO(等待一个组输出信号指定状态)WaitAI(等待一个模拟输入信号指定状态)WaitAO(等待一个模拟出信号指定状态)WaitUntil(等待直至满足条件)6、关于位置的功能offs(对机器人位置进行偏移)RelTool(对工具的位置和姿态进行偏移)7、对输入输出信号的值进行设定Reset(将数字输出信号值为0)Set(将数字输出信号值为1)SetDO(设定数字输出信号的值)SetGO(设定组输出信号的值)SetAO(设定模拟输出信号的值)8、程序的调用ProcCall(调用例行程序)CallByVar(通过带变量的例行程序名称调用例行程序) 9、程序注释commet(对程序进行注释)10、示教器上人机界面的功能TPErase(清屏)TPWrite(在示教器操作界面写信息)TPReadFK(互动的功能键操作)TPReadNum(互动的数字键盘操作)11、Sockets 通信SocketClose(关闭socket)SocketCreate(创建新的socket)SocketConnect(连接远程计算机)SocketBind(将套接字与我的IP地址和端口绑定)SocketListen(监听输入连接)SocketAccept(接受输入连接)Socketsend(发送数据到远程计算机)SocketReceive(从远程计算机接收数据)12、文件的读取和写入Open(用于打开文件或串行通道,以进行读取或写入)ReadStr(从一个文件或串行通道读取一个字符串)Write(写入到基于字符的文件或串行通道)13、String字符串操作ReadStr(从一个文件或串行通道读取一个字符串)StrPart(寻找一部分字符串)StrFind(搜索一个字符串中的一个字符)StrLen(获取字符串长度)StrToVal(将一段字符串转换为一个值)。

ABB机器人标准指令详解

ABB机器人标准指令详解

应用: 当前指令用于软化机器人主机或外轴伺服系 统,软化值范围 0%-100%,软化坡度范 围>=100%,此指令必须与指令 SoftDeact 同时使用,通常不使用于工作位置。
2019/2/5
运动控制指令-SoftAct
实例:
SoftAct 3,20; SoftAct 1,90\Ramp:=150; SoftAct \MechUnit:=orbit1,1,40\Ramp:=120;
实例:
Incr reg1;
等同于
reg1:=reg1+1;
2019/2/5
计数指令-Decr
Decr Name;
MecUnit: 外轴名。
( mecunit )
应用: 使机器人一个外轴失效,例如:当多个外轴 公用一个驱动板时,通过外轴激活指令 DeactUnit 使当前所使用的外轴失效。
2019/2/5
外轴激活指令-DeactUnit
实例:
MoveL p10,v100,fine,tool1; ActUnit track_motion; MoveL p20,v100,z10,tool1; DeactUnit track_motion; ActUnit orbit_a; MoveL p30,v100,z10,tool1;
2019/2/5
运动控制指令-PathResol
实例:
MoveJ p1,v1000,fine,tool1; PathResol 150;
机器人在临界运动状态 ( 重载、高速、路 径变化复杂情况下接近最大工作区域 ), 增加路径控制值,可以避免频繁死机。 外轴以很低的速度与机器人联动,增加路 径控制值,可以避免频繁死机。 机器人进行高频率摆动弧焊时,需要很高 的路径采样时间,需要减小路径控制值。 机器人进行小圆周或小范围复杂运动时, 需要很高精度,需要减小路径控制值。

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机器人常用指令总结

ABB机器人常用指令总结
一、概述
ABB机器人的指令是基于操作系统的,也就是说,要掌握ABB机器人
的指令,就要先理解ABB机器人的操作系统。

ABB机器人的操作系统是一
个基于RobotWare的操作系统,用于控制ABB机器人的指令是基于RobotWare指令的。

ABB机器人的操作系统提供了许多指令可供用户操作,下面介绍ABB机器人常用的几个指令。

二、RobotWare指令
1、安全指令:RobotWare的安全指令包括“安全状态”和“安全设置”两大类。

其中,“安全状态”用于控制机器人的安全状态,如开启或
关闭机器人,检测机器人的状态等;“安全设置”用于设置机器人的安全
参数,如设置机器人的安全半径、设置机器人的碰撞告警阈值等。

2、机器人控制指令:RobotWare的机器人控制指令主要涉及机器人
的运动控制、机器人的位置控制、机器人的夹持控制等。

3、文件操作指令:RobotWare的文件操作指令包括文件打开、文件
查询和文件关闭等。

4、调试指令:RobotWare的调试指令主要涉及机器人调试、仿真调
试等。

三、常用指令
1、启动机器人:开启机器人的命令是“RobStart”,用于启动机器人。

2、停止机器人:停止机器人的命令是“RobStop”,用于停止机器人的运行。

3、控制机器人运动:机器人的运动控制指令有“RobMove”、“RobSpeed”等。

第四部分:ABB机器人基本通信指令

第四部分:ABB机器人基本通信指令

第四部分:ABB机器人基本通信指令1.通信指令(人机对话):TPErase指令格式:TPErase;解释:示教器显示屏清屏指令;2.通信指令(人机对话):TPWrite格式:TPWrite string;解释:string:显示屏显示的字符串,( string )在示教器显示屏上显示字符串数据,也可以用“xxxxxx”形式直接定义字符串;注意:每一个写屏指令最多显示80个字符,屏幕每行可以显示40个字节,字符串后面也可显示相应的参变量;使用参变量时,只能单独使用一个参变量,不能同时使用多个参变量;3.通信指令(人机对话):TPReadFK格式:TPReadFK Answer, Text, FK1, FK2, FK3, FK4, FK5;Answer:赋值数字变量,数据类型是( num );Text:显示屏显示的字符串,数据类型是( string );FK1:功能键1显示的字符串,数据类型是( string );FK2:功能键2显示的字符串,数据类型是( string );FK3:功能键3显示的字符串,数据类型是( string );FK4:功能键4显示的字符串,数据类型是( string );FK5:功能键5显示的字符串,数据类型是( string );解读:在示教器显示屏上显示字符串,在功能键上显示相应字符串,选择按相应的功能键,机器人自动给数字变量赋于相应数值1-5,但是必须有人参与,一般用在故障处理,需要人来识别处理;注意:在幕上显示的字符串最多是80字节,屏幕每行最多显示的40个字节;4.通信指令:ErrWrite格式:ErrWrite [\w],Header,Reason[\RL2][\RL3][\RL4];[\w]:事件记录开关,数据类型是(switch );Header:错误信息标题,数据类型是( string );Reason:错误信息原因,数据类型是( string );[\RL2]:附加错误信息原因,数据类型是( string );[\RL3]:附加错误信息原因,数据类型是( string );[\RL4]:附加错误信息原因,数据类型是( string );解读:在示教器屏幕上显示标准出错界面,错误代码为80001,标题最长是24个字符,原因最长是40个字符,如果有多种原因,可以使用参变量[\RL2][\RL3][\RL4],每种原因最长40个字符,使用参变量[\W],错误代码为80002,并且只在事件清单中记录,不在示教器屏幕上显示;当前指令只显示或记录出错误信息,需要按功能键OK确定并清除,,如果需要影响机器人运行,则使用Stop,Exit,TPWrite等指令配合使用;举例:ErrWrite\W,”search error”,”No hit for the first search”;注意:每个ErrWrite指令最多能显示145个字节,也就是说指令的Header+Reason+[\RL2]+[\RL3]+[\RL4]这个整体部分最多是145个字节;。

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 张建辉,韩鹏排版行了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下图说明了线性轴的关节空间的定义。
程序执行: 关节空间的定义存储在 shapedata 类型的变量中(项目 Shape),以后在 WZLimSup 或者 WZDOSet 指令中
使用。 如果和 WZHomeJointDef 指令一起还使用了 WZDOSet,当所有带关节空间监视的、激活的轴即将进入或者
激活 WorldZone 限位监视
第 633 页 WZLimSup—激活 WorldZone 限位监视
激活 World Zone 数字输出设置 第 617 页 WZDOSet—激活 World Zone 来设置数字输出。
解除 WorldZone
第 615 页 WZDisable—解除临时 WorldZone
临时 WorldZone 数据
第 1045 页 wztemporary—临时 WorldZone 数据
激活 WorldZone 限位监视
第 633 页 WZLimSup—激活 WorldZone 限位监视
激活 World Zone 数字输出设置 第 617 页 WZDOSet—激活 World Zone 来设置数字输出。
by 张建辉, 韩鹏排版
相关信息:
相关信息
参看
World Zones
《RAPID 参考手册—RAPID 概述》运动和 I/O 原理—World Zone 部分
World Zone 形状
第 1004 页 shapedata—World Zone 形状数据部分
临时 WorldZone 数据
第 1045 页 wztemporary—临时 WorldZone 数据
信号进入水平
《技术参考手册—系统参数》I/O 主题—信号类型—进入等级部分
1.231.WZEnable—激活临时 WorldZone 监视
用途:
WZEnable(WorldZone 使能)用来重新激活对临时 WorldZone 的监视,该 WorldZone 之前定义用来停止运 动或者设定输出。
基本范例:
该指令的基本范例说明如下:
例 1 VAR wztemporary wzone; … PROC …
by 张建辉, 韩鹏排版
WZLimSup \Temp, wzone, volume; MoveL p_pick, v500, z40, tool1; WZDisable wzone; MoveL p_place, v200, z30, tool1; WZEnable wzone; MoveL p_home, v200, z30, tool1; ENDPROC 当往 p_pick 移动的时候,检测到机器人 TCP 的位置,这样它就不能进入特定的空间 wzone。当进入 p_place 的时候没有进行这个监视,但是在移动到 p_home 的时候重新激活。 项目:
数据类型:switch 定义 MiddleJointVal +/- DeltaJointVal 范围外的关节空间(反关节空间)。 Shape: 数据类型:shapedata 存储定义的关键空间的变量(系统的私有数据 private)。 MiddleJointVal: 数据类型:jointtarget 关节坐标系中即将定义的关节空间的中心位置。为每一个机器人轴和外部轴指定(对于旋转轴来说单位是 度数,对于线形轴来说单位是毫米)。在绝对关节中指定(对于外部轴来说,不是在偏移坐标系 EoffsSet-EoffsOn 中)。对于某些轴来说 9E9 就是说轴不应该去理会。在编程中,不激活的外部轴也会给出 9E9。 DeltaJointVal: 数据类型:jointtarget 在关节坐标系中,从关节空间的中心位置算起的+/-偏移位置。对于每一个要管理的轴来说,该数值必须大 于 0。 下图说明旋转轴的关节空间的定义。
激活 WorldZone
第 621 页 WZEnable—激活临时 WorldZone 监视
1.233.WZHomeJointDef—定义关节 home 位的 WorldZone
用途:
WZHomeJointDef(World Zone home 关节定义)用来为机器人和外部轴在关节坐标中定义一个 world zone,
用来作为一个 Home 或者服务位置。
基本范例:
该指令的基本范例说明如下:
例 1 VAR wzstationary home;

PROC power_on( ) VAR shapedata joint_space; CONST jointtarget home_pos := [ [ 0, 0, 0, 0, 0, -45], [0, 9E9, 9E9, 9E9, 9E9, 9E9] ]; CONST jointtarget delta_pos := [ [2, 2, 2, 2, 2, 2], [5, 9E9, 9E9, 9E9, 9E9, 9E9] ]; …
WZEnable
[WorldZone’:=’]<wztemporary 类型的变量或者恒量(INOUT)>’;’
相关信息:
相关信息
参看
World Zones
《RAPID 参考手册—RAPID 概述》运动和 I/O 原理—World Zone 部分
World Zone 形状
第 1004 页 shapedata—World Zone 形状数据部分
WZHomeJointDef \Stat, home \Inside, joint_space, do_home, 1; ENDPROC 定义并激活一个静态 world zone home,当所有机器人轴和外部轴 extax.eax_a 在程序执行或者点动过程中处 于关节位置 home_pos(每一个轴在+/-delta_pos 范围内),home 把信号 do_home 设为 1。Shapedata 类型的数据 变量 joint_space 用来从指令 WZHomeJointDef 指令传送到 WZDOSet 指令。 项目:
WZHomeJointDef [\Inside] | [\Outside] Shape MiddleJointVal DeltaJointVal [\Inside]:
数据类型:switch
by 张建辉, 韩鹏排版
定义 MiddleJointVal +/- DeltaJointVal 范围内的关节空间。 [\Outside]:
静态 WorldZone
第 1043 页 wzstationary—静态 WorldZone 数据
定义球形 World Zone
第 636 页 WZSphDef—定义球形 World Zone。
定义箱体形状的 World Zone
第 611 页 WZBoxDef—定义箱体形状的 World Zone。
3.44.shapedata—World Zone 形状数据
用途:
Shapedata 用来描述 World Zone 的几何形状。 描述:
World Zone 可以定义为四个不同的几何形状: l 直立的箱体,所有的边都平行于 world 坐标系,由 WZBoxDef 指令定义。 l 一个球体,由 WZSphDef 指令定义。 l 一个圆柱体,平行于 world 坐标系的 z 轴,由 WZCylDef 指令定义。 l 机器人和/或外部轴的关节的一个空间区域,由指令 WZHomeJointDef 或者 WZLimJointDef 定义。 World Zone 的几何形状由预览指令中的一个定义,World Zone 的动作由指令 WZLimSup 和 WZDOSet 定义。 基本范例:
在 RAPID 程序中,静态的 WorldZone 不能被解除并再次激活,或者进行擦除。 在 RAPID 程序中,临时的 WorldZone 可以被解除(WZDisable),再次激活(WZEnable)或者擦除(WZFree)。 语法:
WZDOSet [[‘\’Temp] | [‘\’Stat]’,’] [WorldZone’:=’]<wztemporary 类型的变量或者恒量(INOUT)> [‘\’Inside] | [‘\’Before] ‘,’ [Shape’:=’]<shapedata 类型的变量(VAR)>’,’ [Signal’:=’]<signaldo 类型的变量(VAR)>’,’ [SetValue’:=’]<dionum 类型的表达式(IN)>’;’
WZEnable WorldZone WorldZone:
数据类型:wztemporary wztemporary 类型的变量或者恒量,包含要激活的 WorldZone 的标识符。 程序执行: 临时 WorldZone 被再次激活。注意,当创建 WorldZone 的时候,它是自动激活的。如果被 WZDisable 指令 解除后,它只是需要重新激活。 限制: 只有临时的 WorldZone 可以被解除或者再激活,静态的 WorldZone 总是激活的。 语法:
解除 WorldZone
第 615 页 WZDisable—解除临时 WorldZone
擦除 WorldZone
第 623 页 WZFree—擦除临时 WorldZone 监视
by 张建辉, 韩鹏排版
1.232.WZFree—擦除临时 WorldZone 监视 用途:
WZFree(WorldZone 释放)用来擦除临时 WorldZone 的定义,之前定义用来停止运动或者设定输出的。 基本范例:
定义圆柱形状 World Zone
第 613 页 WZCylDef—定义圆柱形状的 World Zone。
定义关节 home 位的 World Zone 第 625 页 WZHomeJointDef—定义关节 home 位的 World Zone。
激活 WorldZone 限位监视
第 633 页 WZLimSup—激活 WorldZone 限位监视
相关文档
最新文档