RAPID ABB机器人程序指台与功能 |
|
ABB ABB机器人提供了丰富的RAPID 程序指令,方便了大家对程序的编制,同时也为复杂应用的实现提供了可能。以下就按照 RAPID 程序指令、功能的用途进行了一个分类,并对每个指令的功能作一个说明,如需对指令的使用与参数进行详细的了解,可以查看 ABB 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 |
从ABB机器人硬盘加载一个程序模块到运行内存 |
UnLoad |
从运行内存中卸载一个程序模块 |
Start Load |
在程序执行的过程中,加载一个程序模块到运行内存中 |
Wait Load |
当 Start Load 使用后,使用此指令将程序模块连接到任务中使用 |
CancelLoad |
取消加载程序模块 |
CheckProgRef |
检查程序引用 |
Save |
保存程序模块 |
EraseModule |
从运行内存删除程序模块 |
|
|
5、变量功能 |
|
TryInt |
判断数据是否是有效的整数 |
OpMode |
读取当前ABB机器人的操作模式 |
RunMode |
读取当前ABB机器人程序的运行模式 |
NonMotionMode |
读取程序任务当前是否无运动的执行模式 |
Dim |
获取一个数组的维数 |
Present |
读取带参数例行程序的可选参数值 |
IsPers |
判断一个参数是不是可变量 |
IsVar |
判断一个参数是不是变量 |
|
|
6、转换功能 |
|
StrToByte |
将字符串转换为指定格式的字节数据 |
ByteTostr |
将字节数据转换成字符串 |
|
|
三、运动设定 |
|
1、速度设定 |
|
MaxRobspeed |
获取当前型号ABB机器人可实现的*大 TCP 速度 |
VelSet |
设定*大的速度与倍率 |
SpeedRefresh |
更新当前运动的速度倍率 |
Accset |
定义ABB机器人的加速度 |
WorldAccLim |
设定大地坐标中工具与载荷的加速度 |
PathAccLim |
设定运动路径中 TCP 的加速度 |
|
|
2、轴配置管理 |
|
ConfJ |
关节运动的轴配置控制 |
ConfL |
线性运动的轴配置控制 |
|
|
3、奇异点的管理 |
|
SingArea |
设定ABB机器人运动时,在奇异点的插补方式 |
|
|
4、位置偏置功能 |
|
PDispOn |
激活位置偏置 |
PDispSet |
激活指定数值的位置偏置 |
PDispOff |
关闭位置偏置 |
EOffsOn |
激活外轴偏置 |
EOffsSet |
激活指定数值的外轴偏置 |
EOffsOff |
关闭外轴位置偏置 |
DefD |
通过三个位置数据计算出位置的偏置 |
Def |
通过六个位置数据计算出位置的偏置 |
ORobT |
从一个位置数据删除位置偏置 |
DefAcc |
从原始位代和替换位代定义一个框架 |
|
|
5、软伺服功能 |
|
SoftAct |
激活一个或多个轴的软伺服功能关闭软伺服功能 |
SoftDeact |
关闭软伺服功能 |
|
|
6、ABB机器人参数调整功能 |
|
TuneServo |
伺服调整 |
TuneReset |
伺服调整复位 |
PathResol |
几何路径精度调整 |
CirPathMode |
在圆弧插补运动时,工具姿态的变换方式 |
|
|
7、空间监控管理 |
|
WZBoxDef |
定义一个方形的监控空间 |
WZCylDef |
定义一个圆柱形的监控空间 |
WZSphDef |
定义一个球形的监控空间 |
WZHomejointDef |
定义一个关节轴坐标的监控空间 |
WZLimjointDef |
定义一个限定为不可进入的关节轴坐标监控空间 |
WZLimsup |
激活一个监控空间并限定为不可进入 |
WZDOSet |
激活一个监控空间并与一个输出信号关联 |
WZEnable |
激活一个临时的监控空间 |
WZFree |
关闭一个临时的监控空间 |
注:这些功能需要选项“world zones”配合。 |
|
|
|
四、运动控制 |
|
1、ABB机器人运动控制 |
|
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 |
停止ABB机器人运动 |
StartMove |
重新启动ABB机器人运动 |
StartMoveRetry |
重新启动ABB机器人运动及相关的参数设定 |
StopMoveReset |
对停止运动状态复位,但不重新启动ABB机器人运动 |
StorePath ① |
储存已生成的*近路径 |
RestoPath① |
重新生成之前储存的路径 |
C1earPath |
在当前的运动路径级别中,清空整个运动路径 |
PathLevel |
获取当前路径级别 |
SyncMoveSuspend ① |
在 StorePath 的路径级别中暂停同步坐标的运动 |
SyncMoveResume ① |
在 StorePath 的路径级别中重返同步坐标的运动 |
IsStopMoveAct |
获取当前停止运动标志符 |
① 这些功能需要选项“Path recovery”配合。 |
|
|
|
5、外轴的控制 |
|
DeactUnit |
关闭一个外轴单元 |
ActUnit |
激活一个外轴单元 |
MechUnitLoad |
定义外轴单元的有效载荷 |
GetNextMechUnit |
检索外轴单元在ABB机器人系统中的名字 |
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 |
开始记录ABB机器人的路径 |
PathRecstop |
停止记录ABB机器人的路径 |
PathRecMoveBwd |
ABB机器人根据记录的路径作后退运动 |
PathRecMoveFwd |
ABB机器人运动到执行PathRecMoveFwd这个指令的位置上 |
PathRecValidBwd |
检查是否已激活路径记录和是否有可后退的路径 |
PathRecValidFwd |
检查是否有可向前的记录路径 |
注:这些功能需要选项“Path recovery”配合。 |
|
|
|
9、输送链跟踪功能 |
|
WaitW0bj |
等待输送链上的工件坐标 |
DropW0bj |
放弃输送链上的工件坐标 |
注:这些功能需要选项“Conveyor tracking”配合。 |
|
|
|
10、传感器同步功能 |
|
WaitSensor |
将一个在开始窗口的对象与传感器设备关联起来 |
SyncToSensor |
开始/停止ABB机器人与传感器设备的运动同步 |
DropSensor |
断开当前对象的连接 |
注:这些功能要选项“Sensor synchronization”配合。 |
|
|
|
11、有效载荷与碰撞检测 |
|
MotlonSup |
激活/关闭运动监控 |
LoadId |
工具或有效载荷的识别 |
ManLoadId |
外轴有效载荷的识别 |
① 此功能需要选项“collision detection”配合 |
|
|
|
12、关于位置的功能 |
|
Offs |
对ABB机器人位置进行偏移 |
RelTool |
对工具的位程和姿态进行偏移 |
Ca1cRobT |
从 jointtarget 计算出 robtarget |
Cpos |
读取ABB机器人当前的 X 、 Y 、 Z |
CRobT |
读取ABB机器人当前的 robtarget |
CJointT |
读取ABB机器人当前的关节轴角度 |
ReadMotor |
读取轴电动机当前的角度 |
CTool |
读取工具坐标当前的数据 |
CW0bj |
读取工件坐标当前的数据 |
MirPos |
镜像一个位置 |
CalcJointT |
从 robtarget 计算出 jointtarget |
Distance |
计算两个位置的距离 |
PFRestart |
检查当路径因电源关闭而中断的时候 |
CSpeedOverride |
读取当前使用的速度倍率 |
|
|
五、输入/输出信号的处理 |
|
ABB机器人可以在程序中对输入/输出信号进行读取与赋值,以实现程序控制的需要 |
|
|
|
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 |
从欧拉角计算姿态 |
新闻中心