RAPID 程序指台与功能 | |
ABB 机器人提供了丰富的RAPID 程序指令,方便了大家对程序的编制,同时也为复杂应用的实现提供了可能。以下就按照 RAPID 程序指令、功能的用途进行了一个分类,并对每个指令的功能作一个说明,如需对指令的使用与参数进行详细的了解,可以查看 ABB 机器人随机光盘说明书中的详细说明。 | |
一、程序执行的控制 | |
1、程序的调用 | |
指令 | 说明 |
ProcCall | 调用例行程序 |
CallByVar | 通过带变量的例行程序名称调用例行程序 |
RETURN | 返回原例行程序 |
2、例行程序内的逻辑控制 | |
Compact IF | 如果条件满足,就执行一条指令 |
IF | 当满足不同的条件时,执行对应的程序 |
FOR | 根据指定的次数,重复执行对应的程序 |
WHILE | 如果条件满足,重复执行对应的程序 |
TEST | 对一个变量进行判断,从而执行不同的程序 |
GOTO | 跳转到例行程序内标签的位置 |
Label | 跳转标签 |
3、停止程序执行 | |
Stop | 停止程序执行 |
EXIT | 停止程序执行并禁止在停止处再开始 |
Break | 临时停止程序的执行,用于手动调试 |
ExitCycle | 中止当前程序的运行并将程序指针PP复位到主程序的第一条指令,如果选择了程序连续运行模式,程序将从主程序的第一句重新执行。 |
二、变量指令 | |
变量指令主要用于以下的方面: | |
l) 对数据进行赋值。 | |
2) 等待指令。 | |
3) 注释指令。 | |
4) 程序模块控制指令 | |
1、赋值指令 | |
:= | 对程序数据进行赋值 |
2、等待指令 | |
WaitTime | 等待一个指定的时间程序再往下执行 |
WaitUntil | 等待一个条件满足后程序继续往下执行 |
WaitDI | 等待一个输入信号状态为设定值 |
WaitDO | 等待一个输出信号状态为设定值 |
3、程序注释 | |
comment | 对程序进行注释 |
4、程序模块加载 | |
Load | 从机器人硬盘加载一个程序模块到运行内存 |
UnLoad | 从运行内存中卸载一个程序模块 |
Start Load | 在程序执行的过程中,加载一个程序模块到运行内存中 |
Wait Load | 当 Start Load 使用后,使用此指令将程序模块连接到任务中使用 |
CancelLoad | 取消加载程序模块 |
CheckProgRef | 检查程序引用 |
Save | 保存程序模块 |
EraseModule | 从运行内存删除程序模块 |
5、变量功能 | |
TryInt | 判断数据是否是有效的整数 |
OpMode | 读取当前机器人的操作模式 |
RunMode | 读取当前机器人程序的运行模式 |
NonMotionMode | 读取程序任务当前是否无运动的执行模式 |
Dim | 获取一个数组的维数 |
Present | 读取带参数例行程序的可选参数值 |
IsPers | 判断一个参数是不是可变量 |
IsVar | 判断一个参数是不是变量 |
6、转换功能 | |
StrToByte | 将字符串转换为指定格式的字节数据 |
ByteTostr | 将字节数据转换成字符串 |
三、运动设定 | |
1、速度设定 | |
MaxRobspeed | 获取当前型号机器人可实现的最大 TCP 速度 |
VelSet | 设定最大的速度与倍率 |
SpeedRefresh | 更新当前运动的速度倍率 |
Accset | 定义机器人的加速度 |
WorldAccLim | 设定大地坐标中工具与载荷的加速度 |
PathAccLim | 设定运动路径中 TCP 的加速度 |
2、轴配置管理 | |
ConfJ | 关节运动的轴配置控制 |
ConfL | 线性运动的轴配置控制 |
3、奇异点的管理 | |
SingArea | 设定机器人运动时,在奇异点的插补方式 |
4、位置偏置功能 | |
PDispOn | 激活位置偏置 |
PDispSet | 激活指定数值的位置偏置 |
PDispOff | 关闭位置偏置 |
EOffsOn | 激活外轴偏置 |
EOffsSet | 激活指定数值的外轴偏置 |
EOffsOff | 关闭外轴位置偏置 |
DefDframe | 通过三个位置数据计算出位置的偏置 |
Defframe | 通过六个位置数据计算出位置的偏置 |
ORobT | 从一个位置数据删除位置偏置 |
DefAccframe | 从原始位代和替换位代定义一个框架 |
5、软伺服功能 | |
SoftAct | 激活一个或多个轴的软伺服功能关闭软伺服功能 |
SoftDeact | 关闭软伺服功能 |
6、机器人参数调整功能 | |
TuneServo | 伺服调整 |
TuneReset | 伺服调整复位 |
PathResol | 几何路径精度调整 |
CirPathMode | 在圆弧插补运动时,工具姿态的变换方式 |
7、空间监控管理 | |
WZBoxDef | 定义一个方形的监控空间 |
WZCylDef | 定义一个圆柱形的监控空间 |
WZSphDef | 定义一个球形的监控空间 |
WZHomejointDef | 定义一个关节轴坐标的监控空间 |
WZLimjointDef | 定义一个限定为不可进入的关节轴坐标监控空间 |
WZLimsup | 激活一个监控空间并限定为不可进入 |
WZDOSet | 激活一个监控空间并与一个输出信号关联 |
WZEnable | 激活一个临时的监控空间 |
WZFree | 关闭一个临时的监控空间 |
注:这些功能需要选项“world zones”配合。 | |
四、运动控制 | |
1、机器人运动控制 | |
MoveC | TCP圆弧运动 |
MoveJ | 关节运动 |
MoveL | TCP线性运动 |
MoveAbsJ | 轴绝对角度位置运动 |
MoveExtJ | 外部直线轴和旋转轴运动 |
MoveCDO | TCP 圆弧运动的同时触发一个输出信号 |
MoveJDO | 关节运动的同时触发一个输出信号 |
MoveLDO | TCP线性运动的同时触发一个输出信号 |
MoveCSync | TCP 圆弧运动的同时执行一个例行程序 |
MoveJSync | 关节运动的同时执行一个例行程序 |
MoveLSync | TCP 线性运动的同时执行一个例行程序 |
2、搜索功能 | |
SearchC | TCP 圆弧搜索运动 |
SCarchL | TCP 线性搜索运动 |
SearchExtJ | 外轴搜索运动 |
3、指定位置触发信号与中断功能 | |
TriggIO | 定义触发条件在一个指定的位置触发输出信号 |
TriggInt | 定义触发条件在一个指定的位置触发中断程序 |
TriggCheckIO | 定义一个指定的位仪进行I/O状态的检查 |
TrjggEquip | 定义触发条件在一个指定的位置触发输出信号,并对信号响应的延迟进行补偿设定 |
TriggRampAO | 定义触发条件在一个指定的位置触发模拟输出信号,并对信号响应的延迟进行补偿设定 |
TriggC | 带触发事件的的圆弧运动 |
TriggJ | 带触发事件的关节运动 |
TriggL | 带触发事件的的线性运动 |
TriggLI0s | 在一个指定的位置触发输出信号的线性运动 |
StepBwdPath | 在RESTART的事件程序中进行路径的返回 |
TriggStopProc | 在系统中创建一个监控处理,用于在 STOP 和 QSTOP 中需要信号复位和程序数据复位的操作 |
TriggSpeed | 定义模拟输出信号与实际 TCP 速度之间的配合 |
4、出错或中断时的运动控制 | |
StopMove | 停止机器人运动 |
StartMove | 重新启动机器人运动 |
StartMoveRetry | 重新启动机器人运动及相关的参数设定 |
StopMoveReset | 对停止运动状态复位,但不重新启动机器人运动 |
StorePath ① | 储存已生成的最近路径 |
RestoPath① | 重新生成之前储存的路径 |
C1earPath | 在当前的运动路径级别中,清空整个运动路径 |
PathLevel | 获取当前路径级别 |
SyncMoveSuspend ① | 在 StorePath 的路径级别中暂停同步坐标的运动 |
SyncMoveResume ① | 在 StorePath 的路径级别中重返同步坐标的运动 |
IsStopMoveAct | 获取当前停止运动标志符 |
① 这些功能需要选项“Path recovery”配合。 | |
5、外轴的控制 | |
DeactUnit | 关闭一个外轴单元 |
ActUnit | 激活一个外轴单元 |
MechUnitLoad | 定义外轴单元的有效载荷 |
GetNextMechUnit | 检索外轴单元在机器人系统中的名字 |
IsMechUnitActive | 检查外轴单元状态是激活/关闭 |
6、独立轴控制 | |
IndAMove | 将一个轴设定为独立轴模式并进行绝对位置方式运动 |
IndCMove | 将一个轴设定为独立轴模式并进行连续方式运动 |
IndDMove | 将一个轴设定为独立轴模式并进行角度方式运动 |
IndRMove | 将一个轴设定为独立轴模式并进行相对位置方式运动 |
IndReset | 取消独立轴模式 |
Indlnpos | 检查独立轴是否己到达指定位置 |
Indspeed | 检查独立轴是否己到达指定的速度 |
注:这些功能需要选项“Independent movement”配合。 | |
7、路径修正功能 | |
CorrCon | 连接一个路径修正生成器 |
Corrwrite | 将路径坐标系统中的修正值写到修正生成器 |
CorrDiscon | 断开一个已连接的路径修正生成器 |
CorrClear | 取消所有已连接的路径修正生成器 |
CorfRead | 读取所有已连接的路径修正生成器的总修正值 |
注:这些功能需要选项“Path offset or RobotWare-Arc sensor"配合 | |
8、路径记录功能 | |
PathRecStart | 开始记录机器人的路径 |
PathRecstop | 停止记录机器人的路径 |
PathRecMoveBwd | 机器人根据记录的路径作后退运动 |
PathRecMoveFwd | 机器人运动到执行PathRecMoveFwd这个指令的位置上 |
PathRecValidBwd | 检查是否已激活路径记录和是否有可后退的路径 |
PathRecValidFwd | 检查是否有可向前的记录路径 |
注:这些功能需要选项“Path recovery”配合。 | |
9、输送链跟踪功能 | |
WaitW0bj | 等待输送链上的工件坐标 |
DropW0bj | 放弃输送链上的工件坐标 |
注:这些功能需要选项“Conveyor tracking”配合。 | |
10、传感器同步功能 | |
WaitSensor | 将一个在开始窗口的对象与传感器设备关联起来 |
SyncToSensor | 开始/停止机器人与传感器设备的运动同步 |
DropSensor | 断开当前对象的连接 |
注:这些功能要选项“Sensor synchronization”配合。 | |
11、有效载荷与碰撞检测 | |
MotlonSup | 激活/关闭运动监控 |
LoadId | 工具或有效载荷的识别 |
ManLoadId | 外轴有效载荷的识别 |
① 此功能需要选项“collision detection”配合 | |
12、关于位置的功能 | |
Offs | 对机器人位置进行偏移 |
RelTool | 对工具的位程和姿态进行偏移 |
Ca1cRobT | 从 jointtarget 计算出 robtarget |
Cpos | 读取机器人当前的 X 、 Y 、 Z |
CRobT | 读取机器人当前的 robtarget |
CJointT | 读取机器人当前的关节轴角度 |
ReadMotor | 读取轴电动机当前的角度 |
CTool | 读取工具坐标当前的数据 |
CW0bj | 读取工件坐标当前的数据 |
MirPos | 镜像一个位置 |
CalcJointT | 从 robtarget 计算出 jointtarget |
Distance | 计算两个位置的距离 |
PFRestart | 检查当路径因电源关闭而中断的时候 |
CSpeedOverride | 读取当前使用的速度倍率 |
五、输入/输出信号的处理 | |
机器人可以在程序中对输入/输出信号进行读取与赋值,以实现程序控制的需要 | |
1、对输入/输出信号的值进行设定 | |
InvertDO | 对一个数字输出信号的值置反 |
PulseDO | 数字输出信号进行脉冲输出 |
Reset | 将数字输出信号置为 O |
Set | 将数字输出信号置为 l |
SetAO | 设定模拟输出信号的值 |
SetDO | 设定数字输出信号的值 |
SetGO | 设定组输出信号的值 |
2、读取输入/输出信号值 | |
AOutput | 读取模拟输出信号的当前值 |
DOutput | 读取数字输出信号的当前值 |
Goutput | 读取组输出信号的当前值 |
TestDI | 检查一个数字输入信号已置1 |
ValidIO | 检查 1 / 0 信号是否有效 |
WaitDI | 等待一个数字输入信号的指定状态 |
WaitDO | 等待一个数字输出信号的指定状态 |
WaitGI | 等待一个组输入信号的指定值 |
WaitGO | 等待一个组输出信号的指定值 |
WaitAI | 等待一个模拟输入信号的指定值 |
WaitAO | 等待一个模拟输出信号的指定值 |
3、10 模块的控制 | |
IODisable | 关闭一个I/O模块 |
I0Enable | 开启一个I/O模块 |
六、通信功能 | |
1、示教器上人机界面的功能 | |
IPErase | 清屏 |
TPWrite | 在示教器操作界面写信息 |
ErrWrite | 在示教器事件日记中写报警信息并储存 |
TPReadFK | 互动的功能键操作 |
TPReadNum | 互动的数字键盘操作 |
TPShow | 通过 RAPID 程序打开指定的窗日 |
2、通过串口进行读写 | |
Open | 打开串口 |
Write | 对串口进行写文本操作 |
Close | 关闭串口 |
WriteBin | 写一个二进制数的操作 |
WriteAnyBin | 写任意二进制数的操作 |
WriteStrBin | 写字符的操作 |
Rewind | 设定文件开始的位置 |
ClearIOBuff | 清空串口的输入缓冲 |
ReadAnyBin | 从串口读取任意的二进制数 |
ReadNum | 读取数字量 |
Readstr | 读取字符串 |
ReadBin | 从二进制串口读取数据 |
ReadStrBin | 从二进制串口读取字符串 |
3、Sockets 通信 | |
SocketCreate | 创建新的 socket |
SocketConnect | 连接远程计算机 |
Socketsend | 发送数据到远程计算机 |
SocketReceive | 从远程计算机接收数据 |
SocketClose | 关闭 socket |
SocketGetStatus | 获取当前 socket 状态 |
七、中断程序 | |
1、中断设定 | |
CONNECT | 连接一个中断符号到中断叹序 |
ISignalDI | 使用一个数字输入信号触发中断 |
ISignalDO | 使甲一个数字输出信号触发中断 |
ISignalGI | 使用一个组输入信号触发中断 |
ISignalGO | 使用一个组输出信号触发中断 |
ISignalAI | 使用一个模拟输入信号触发中断 |
ISignalAO | 使用一个模拟输出信号触发中断 |
ITimer | 计时中断 |
TriggInt | 在一个指定的位置触发中断 |
IPers | 使用一个可变量触发中断 |
IError | 当一个错误发生时触发中断 |
IDelete | 取消中断 |
2、中断的控制 | |
ISleep | 关闭一个中断 |
IWatch | 激活一个中断 |
IDisable | 关闭所有中断 |
IEnable | 激活所有中断 |
八、系统相关的指令 | |
1、时间控制 | |
ClkReset | 计时器复位 |
C1kStrart | 计时器开始计时 |
ClkStop | 计时器停止计时 |
ClkRead | 读取计时器数值 |
CDate | 读取当前日期 |
CTime | 读取当前时间 |
GetTime | 读取当前时间为数字型数据 |
九、数学运算 | |
1、简单运算 | |
Clear | 清空数值 |
Add | 加或减操作 |
Incr | 加 1 操作 |
Decr | 减 1 操作 |
2、算术功能 | |
AbS | 取绝对值 |
Round | 四舍五入 |
Trunc | 舍位操作 |
Sqrt | 计算二次根 |
Exp | 计算指数值ex |
Pow | 计算指数值 |
ACos | 计算圆弧余弦值 |
ASin | 计算圆弧正弦值 |
ATan | 计算圆弧正切值[-90 , 90] |
ATan2 | 计算圆弧正切值[-180 ,180] |
Cos | 计算余弦值 |
Sin | 计算正弦值 |
Tan | 计算正切值 |
EulerZYX | 从姿态计算欧拉角 |
OrientZYX | 从欧拉角计算姿态 |