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编程指令详解3
注:这些功能需要选项“Path recovery”配合 9. 输送链跟踪功能 指令 WaitWObj DropWObj 等待输送链上的工件坐标 放弃输送链上的工件坐标 说明
注:这些功能需要选项“Conveyor tracking”配合 10. 传感器同步功能 指令 WaitSensor SyncToSensor DropSensor 说明 将一个在开始窗口的对象与传感器设备关联起来 开始/停止机器人与传感器设备的运动同步 断开当前对象的连接
注பைடு நூலகம்这些功能需要选项“Independent movement”配合 7. 路径修正功能 指令 CorrCon CorrWrite CorrDiscon CorrClear 连接一个路径修正生成器 将路径坐标系统中的修正值写到修正生成器 断开一个已连接的路径修正生成器 取消所有已连接的路径修正生成器 说明
注:这些功能需要选项“Sensor synchronization” 配合 11. 有效载荷与碰撞检测 指令 MotionSup ○ 1 LoadId ManLoadId 激活/关闭运动监控 工具或有效载荷的识别 外轴有效载荷的识别 说明
注:此功能需要选项“Collision detection”配合 12. 关于位置的功能
6. 独立轴控制 指令 IndAMove IndCMove IndDMove IndRMove IndReset IndInpos IndSpeed 说明 将一个轴设定为独立轴模式并进行绝对位置方式运动 将一个轴设定为独立轴模式并进行连续方式运动 将一个轴设定为独立轴模式并进行角度方式运动 将一个轴设定为独立轴模式并进行相对位置方式运动 取消独立轴模式 检查独立轴是否已到达指定位置 检查独立轴是都已到达指定的速度
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机器人指令
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机器人标准指令详解一、 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 机器人 RAPID 常用指令详解-中文(3)
Grip3的TCP沿直线运动到停止点p5。
当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器人认为它到达了目标点。
它等条件满足最多等两秒,参看stoppointdata数据类型的预定义数据inpos50。
例3 MoveL \Conc, *, v2000, z40, grip3;Grip3的TCP直线运动到存储在指令中的位置。
当机器人移动的时候,后续的逻辑指令开始执行。
例4 MoveL start, v2000, z40, grip3 \WObj:=fixture;Grip3的TCP直线运动到位置start,位置在fixture的对象坐标系统中指定。
语法:MoveL _[ ’\’ 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 ]’;’相关信息:1.97.MoveLDO-直线移动机器人并且在转角处设置数字输出用途:MoveLDO(直线运动数字输出)用来直线移动TCP到指定的目标点。
abb机器人基本指令
02
机器人工具姿态指令
SetAbsToolAngle
总结词
设置机器人工具的绝对姿态
详细描述
该指令用于设置机器人的工具姿态, 包括工具的姿态角度和姿态速度。通 过该指令,可以精确控制机器人的工 具姿态,实现精确的位置和姿态控制 。
SetRelToolAngle
总结词
设置机器人工具的相对姿态
详细描述
While...EndWhile
总结词
此指令用于重复执行一系列指令,直到满足某个条件 为止。
详细描述
使用While...EndWhile指令,可以让机器人重复执行 一系列动作或命令,直到满足设定的条件。例如,可 以让机器人连续移动到多个位置,直到达到目标位置 或检测到障碍物。
For...EndFor
总结词
设置数字输出信号状态
详细描述
SetDO指令用于设置指定的数字输出信号状 态。它需要指定一个数字输出信号的名称作 为参数,并设置该信号的状态为激活或非激 活。通过使用SetDO指令,可以控制机器人
外部设备的动作或状态。
WaitDO
要点一
总结词
等待数字输出信号状态变化
要点二
详细描述
WaitDO指令用于等待指定的数字输出信号状态发生变化 。它需要指定一个数字输出信号的名称作为参数,并等待 该信号的状态从非激活变为激活或从激活变为非激活。当 信号状态发生变化时,该指令将停止等待并继续执行后续 指令。
MoveJ
总结词
关节移动指令
详细描述
MoveJ指令使机器人以关节姿态移动到目标位置。它通过指定各个关节的角度值来控制机器人的运动 ,而无需关心机器人末端执行器的实际位置。该指令常用于需要高精度控制的场合,如装配作业等。
最全的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机器人常用指令详解-中文
例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机器人标准指令详解
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机器人常用指令详解
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机器人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常用指令详解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 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机器人常用指令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全部编程指令详解ABB编程指令是ABB机器人控制系统的一部分,它是指示机器人执行特定操作的指令集。
ABB编程指令非常丰富,包括运动指令、逻辑指令、传感器指令等等。
下面我们将对ABB编程指令进行详细的介绍。
1. 运动指令ABB运动指令用于控制机器人的运动,包括直线运动、圆弧运动、旋转运动等等。
其中比较常见的运动指令包括:(1) MOVEJ:用于控制机器人进行关节运动,即指定机器人的每个关节移动到特定的位置。
(2) MOVEL:用于控制机器人进行直线运动,即指定机器人从当前位置移动到目标位置,并沿着一条直线路径到达目标位置。
(3) MOVEC:用于控制机器人进行圆弧运动,即指定机器人从当前位置移动到目标位置,并在目标位置旋转到指定的方向上。
(4) MOVER:用于控制机器人进行旋转运动,即指定机器人绕着某个轴旋转到特定的位置。
2. 逻辑指令ABB逻辑指令用于控制机器人的逻辑操作,包括条件判断、循环结构等等。
其中比较常见的逻辑指令包括:(1) IF-ELSE:用于进行条件判断操作,即如果某个条件成立,则执行特定的操作,否则执行另外的操作。
(2) WHILE-DO:用于进行循环结构操作,即指定某个操作重复执行直到满足某个条件。
(3) SWITCH-CASE:用于进行多分支判断操作,即如果某个条件成立,则执行对应的操作,否则执行默认操作。
3. 传感器指令ABB传感器指令用于控制机器人的感知操作,包括传感器读取、数据处理等等。
其中比较常见的传感器指令包括:(1) READ:用于读取传感器数据,即获取传感器传回的信息。
(2) FILTER:用于对传感器数据进行滤波操作,即去除噪声和干扰。
(3) CALC:用于对传感器数据进行计算操作,即对传感器数据进行处理,得出特定的结果。
4. 其他指令除了上述三类指令外,ABB编程指令还包括其他指令,比如:(1) WAIT:用于控制机器人等待一段时间,直到时间到达才继续执行下一个操作。
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机器人的操作系统是一
个基于RobotWare的操作系统,用于控制ABB机器人的指令是基于RobotWare指令的。
ABB机器人的操作系统提供了许多指令可供用户操作,下面介绍ABB机器人常用的几个指令。
二、RobotWare指令
1、安全指令:RobotWare的安全指令包括“安全状态”和“安全设置”两大类。
其中,“安全状态”用于控制机器人的安全状态,如开启或
关闭机器人,检测机器人的状态等;“安全设置”用于设置机器人的安全
参数,如设置机器人的安全半径、设置机器人的碰撞告警阈值等。
2、机器人控制指令:RobotWare的机器人控制指令主要涉及机器人
的运动控制、机器人的位置控制、机器人的夹持控制等。
3、文件操作指令:RobotWare的文件操作指令包括文件打开、文件
查询和文件关闭等。
4、调试指令:RobotWare的调试指令主要涉及机器人调试、仿真调
试等。
三、常用指令
1、启动机器人:开启机器人的命令是“RobStart”,用于启动机器人。
2、停止机器人:停止机器人的命令是“RobStop”,用于停止机器人的运行。
3、控制机器人运动:机器人的运动控制指令有“RobMove”、“RobSpeed”等。
ABB机器人常用指令详解-中文(三)
该项目用来指定外部轴运动的总时间,单位秒。它代替相应的速度数据。 Zone:
数据类型:zonedata 运动的 zone 数据。它描述产生的转角路径的大小。 Tool: 数据类型:tooldata 机器人运动时所使用的工具。TCP 就是移动到目标点的那个点。 [\Wobj]: 工作对象 数据类型:wobjdata 指令中机器人位置相关到的工作对象(坐标系)。该项目可以忽略,如果忽略的话,位置相关到世界坐标系。 另一方面,如果使用了静态TCP或者并列了外部轴,该项目必须指定。 Signal: 数据类型:signaldo 要改变的数字输出信号的名称。 Value: 数据类型:dionum 期望的信号数值(0或者1)。 程序执行: 参考指令MoveL,可以得到关节运动的更多信息。 在飞点的转角路径的中间位置,数字输出信号置位/复位,如下图所示。 下图说明在转角路径 MoveLDO 指令的数字输出信号的置位/复位。
相关信息:
相关信息
参看
其他位置指令
RAPID 参考手册-RAPID 概述,RAPID 摘要-运动部分
直线移动机器人 速度的定义 Zone 数据的定义
第 236 页 MoveL-直线移动机器人 第 1010 页 speeddata—速度数据 第 1047 页 zonedata—zone 数据
工具的定义 工作对象的定义 运动综述
基本范例: 该指令的基本范例说明如下:
例1 MoveLDO p1, v1000, z30, tool2, do1,1;
工具tool2的TCP直线运动到目标位置p1,速度数据v1000和zone数据z30。在p1的转角路径的中间位置,输 出信号do1被置位。 项目:
MoveLDO ToPoint [\ID] Speed [\T] Zone Tool [\WObj] Signal Value
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人和外部轴的目标位置。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。 [ \ID ]:
同步 ID 数据类型:identno 如果并列了同步运动,该项目必须使用在多运动系统中,并且不允许在其他任何情况下使用。 指定的 ID 号在所有协同的程序任务中必须相同。该 ID 号保证在 routine 中运动不会混乱。 Speed: 数据类型:speeddata 应用到运动中的速度数据。速度数据定义 TCP、工具重新定向或者外部轴的速度。 [\T]: 时间 数据类型:num
坐标系
RAPID 参考手册-RAPID 概述,运动和 I/O 原理-坐标系部分
World Zone:
最多可以在机器人的工作区域内定义 10 个不同的体积空间。他们可以用来: l 指出机器人的 TCP 是工作区域中的一个明确的部分。 l 限制机器人的工作区域,阻止和工具的碰撞。 l 创建一个由两个机器人公用的区域,该区域在同一时间内只能由一个机器人使用。
速度的定义
第 1010 页 speeddata—速度数据
Zone 数据的定义
第 1047 页 zonedata—zone 数据
工具的定义
第 1031 页 tooldata—工具数据
工作对象的定义
第 1039 页 wobjdata—工作对象数据
运动综述
RAPID 参考手册—RAPID 概述,运动和 I/O 原理部分
如果并列了同步运动,不允许在其他任何情况下使用。 Speed:
数据类型:speeddata 应用到运动中的速度数据。速度数据定义 TCP、工具重新定向或者外部轴的速度。 [\T]: 时间 数据类型:num 该项目用来指定外部轴运动的总时间,单位秒。它代替相应的速度数据。 Zone: 数据类型:zonedata 运动的 zone 数据。它描述产生的转角路径的大小。 Tool: 数据类型:tooldata 机器人运动时所使用的工具。TCP 就是移动到目标点的那个点。 [\Wobj]: 工作对象
相关信息:
相关信息
参看
其他位置指令
RAPID 参考手册-RAPID 概述,RAPID 摘要-运动部分
速度的定义
第 1010 页 speeddata—速度数据
Zone 数据的定义
第 1047 页 zonedata—zone 数据
停止点数据的定义
第 1014 页 stoppointdata-停止点数据
工具的定义
[ ’\’ WObj ’:=’ < wobjdata类型的恒量(PERS)> ] ’,’ [ ProcName‘:=’ ] <string类型的表达式(IN) > ] ’;’
相关信息:
相关信息
参看
其他位置指令
RAPID 参考手册-RAPID 概述,RAPID 摘要-运动部分
直线移动机器人
第 236 页 MoveL-直线移动机器人
MoveLSync ToPoint [\ID] Speed [\T] Zone Tool [\WObj] ProcName
ToPoint: 数据类型:robtarget 机器人和外部轴的目标点。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[ \ID ]: 同步 ID 数据类型:identno 该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。 指定的 ID 号在所有协同的程序任务中必须相同。该 ID 号保证在 routine 中运动不会混乱。
对于停止点,我们推荐使用“正常”的编程顺序,即 MoveJ+SetDO。但是当在指令 MoveLDO 中使用停止
by 张建辉, 韩鹏排版
点、当机器人到达停止点的时候,数字输出信号置位/复位。 在执行模式继续逐步向前而不是逐步向后时,指定的 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) > ] ’;’
1.98.MoveLSync-直线移动机器人并且执行一个 RAPID 程序
用途:
MoveLSync(同步直线移动)用来直线移动 TCP 到给定的目标位置。在目标点的转角路径的中间位置,指
定的 RAPID 程序开始运行。
当 TCP 仍旧固定的时候,该指令也可以用来给工具重新定向。
该指令只能用在主任务 T_ROB1,或者多运动系统的运动任务中。
相关信息:
相关信息
参看
其他位置指令
RAPID 参考手册-RAPID 概述,RAPID 摘要-运动部分
直线移动机器人 速度的定义 Zone 数据的定义
第 236 页 MoveL-直线移动机器人 第 1010 页 speeddata—速度数据 第 1047 页 zonedata—zone 数据
工具的定义 工作对象的定义 运动综述
by 张建辉, 韩鹏排版
ห้องสมุดไป่ตู้
该项目用来指定外部轴运动的总时间,单位秒。它代替相应的速度数据。 Zone:
数据类型:zonedata 运动的 zone 数据。它描述产生的转角路径的大小。 Tool: 数据类型:tooldata 机器人运动时所使用的工具。TCP 就是移动到目标点的那个点。 [\Wobj]: 工作对象 数据类型:wobjdata 指令中机器人位置相关到的工作对象(坐标系)。该项目可以忽略,如果忽略的话,位置相关到世界坐标系。 另一方面,如果使用了静态TCP或者并列了外部轴,该项目必须指定。 Signal: 数据类型:signaldo 要改变的数字输出信号的名称。 Value: 数据类型:dionum 期望的信号数值(0或者1)。 程序执行: 参考指令MoveL,可以得到关节运动的更多信息。 在飞点的转角路径的中间位置,数字输出信号置位/复位,如下图所示。 下图说明在转角路径 MoveLDO 指令的数字输出信号的置位/复位。
对于停止点,我们推荐使用“正常”的编程顺序,即 MoveL+其他 RAPID 指令。
下表描述了在不同执行模式下指定的 RAPID 程序的执行:
执行模式
RAPID 程序的执行
继续或者循环
按照该描述
逐步向前
在停止点
逐步向后
一点也不执行
限制:
当程序停止后,从连续执行或循环执行切换到逐步向前或者向后将导致错误。该错误告诉用户模式切换将
第 1031 页 tooldata—工具数据 第 1039 页 wobjdata—工作对象数据 RAPID 参考手册—RAPID 概述,运动和 I/O 原理部分
坐标系
RAPID 参考手册-RAPID 概述,运动和 I/O 原理-坐标系部分
带 I/O 设定的运动
RAPID 参考手册—RAPID 概述,运动和 I/O 原理—用逻辑指令同步部分
第 1031 页 tooldata—工具数据
工作对象的定义
第 1039 页 wobjdata—工作对象数据
写入一个改正入口
第 67 页 CorrWrite 写入一个改正发生器
运动综述
RAPID 参考手册—RAPID 概述,运动和 I/O 原理部分
坐标系
RAPID 参考手册-RAPID 概述,运动和 I/O 原理-坐标系部分
例4 MoveL start, v2000, z40, grip3 \WObj:=fixture;
Grip3的TCP直线运动到位置start,位置在fixture的对象坐标系统中指定。 语法:
MoveL _ [ ’\’ 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 ]’;’
Grip3的TCP沿直线运动到停止点p5。当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器人 认为它到达了目标点。它等条件满足最多等两秒,参看stoppointdata数据类型的预定义数据inpos50。
例3 MoveL \Conc, *, v2000, z40, grip3;