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  | 从欧拉角计算姿态  | 



                                            
                                            
                                            
                                            


QQ交流群

