RAPID程序指台与功能ABB机器人提供了丰富的RAPID程序指令,方便了大家对程序的编制,同时也为复杂应用的实现提供了可能。以下就按照RAPID程序指令、功能的用途进行了一个分类,并对每个指令的功能作一个说明,如需对指令的使用与参数进行详细的了解,可以查看ABB机器人随机光盘说明书中的详细说明。一、程序执行的控制1、程序的调用指令说明ProcCall调用例行程序CallByVar通过带变量的例行程序名称调用例行程序RETURN返回原例行程序2、例行程序内的逻辑控制CompactIF如果条件满足,就执行一条指令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从运行内存中卸载一个程序模块StartLoad在程序执行的过程中,加载一个程序模块到运行内存中WaitLoad当StartLoad使用后,使用此指令将程序模块连接到任务中使用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关闭一个临时的监控空间注:这些功能需要选项“worldzones”配合。四、运动控制1、机器人运动控制MoveCTCP圆弧运动MoveJ关节运动MoveLTCP线性运动MoveAbsJ轴绝对角度位置运动MoveExtJ外部直线轴和旋转轴运动MoveCDOTCP圆弧运动的同时触发一个输出信号MoveJDO关节运动的同时触发一个输出信号MoveLDOTCP线性运动的同时触发一个输出信号MoveCSyncTCP圆弧运动的同时执行一个例行程序MoveJSync关节运动的同时执行一个例行程序MoveLSyncTCP线性运动的同时执行一个例行程序2、搜索功能SearchCTCP圆弧搜索运动SCarchLTCP线性搜索运动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获取当前停止运动标志符①这些功能需要选项“Pathrecovery”配合。5、外轴的控制DeactUnit关闭一个外轴单元ActUnit激活一个外轴单元MechUnitLoad定义外轴单元的有效载荷GetNextMechUnit检索外轴单元在机器人系统中的名字IsMechUnitActive检查外轴单元状态是激活/关闭6、独立轴控制IndAMove将一个轴设定为独立轴模式并进行绝对位置方式运动IndCMove将一个轴设定为独立轴模式并进行连续方式运动IndDMove将一个轴设定为独立轴模式并进行角度方式运动IndRMove将一个轴设定为独立轴模式并进行相对位置方式运动IndReset取消独立轴模式Indlnpos检查独立轴是否己到达指定位置Indspeed检查独立轴是否己到达指定的速度注:这些功能需要选项“Independentmovement”配合。7、路径修正功能CorrCon连接一个路径修正生成器Corrwrite将路径坐标系统中的修正值写到修正生成器CorrDiscon断开一个已连接的路径修正生成器CorrClear取消所有已连接的路径修正生成器CorfRead读取所有已连接的路径修正生成器的总修正值注:这些功能需要选项“PathoffsetorRobotWare-Arcsensor配合8、路径记录功能PathRecStart开始记录机器人的路径PathRecstop停止记录机器人的路径PathRecMoveBwd机器人根据记录的路径作后退运动PathRecMoveFwd机器人运动到执行PathRecMoveFwd这个指令的位置上PathRecValidBwd检查是否已激活路径记录和是否有可后退的路径PathRecValidFwd检查是否有可向前的记录路径注:这些功能需要选项“Pathrecovery”配合。9、输送链跟踪功能WaitW0bj等待输送链上的工件坐标DropW0bj放弃输送链上的工件坐标注:这些功能需要选项“Conveyortracking”配合。10、传感器同步功能WaitSensor将一个在开始窗口的对象与传感器设备关联起来SyncToSensor开始/停止机器人与传感器设备的运动同步DropSensor断开当前对象的连接注:这些功能要选项“Sensorsynchronization”配合。11、有效载荷与碰撞检测MotlonSup激活/关闭运动监控LoadId工具或有效载荷的识别ManLoadId外轴有效载荷的识别①此功能需要选项“collisiondetection”配合12、关于位置的功能Offs对机器人位置进行偏移RelTool对工具的位程和姿态进行偏移Ca1cRobT从jointtarget计算出robtargetCpos读取机器人当前的X、Y、ZCRobT读取机器人当前的robtargetCJointT读取机器人当前的关节轴角度ReadMotor读取轴电动机当前的角度CTool读取工具坐标当前的数据CW0bj读取工件坐标当前的数据MirPos镜像一个位置CalcJointT从robtarget计算出jointtargetDistance计算两个位置的距离PFRestart检查当路径因电源关闭而中断的时候CSpeedOverride读取当前使用的速度倍率五、输入/输出信号的处理机器人可以在程序中对输入/输出信号进行读取与赋值,以实现程序控制的需要1、对输入/输出信号的值进行设定InvertDO对一个数字输出信号的值置反PulseDO数字输出信号进行脉冲输出Reset将数字输出信号置为OSet将数字输出信号置为lSetAO设定模拟输出信号的值SetDO设定数字输出信号的值SetGO设定组输出信号的值2、读取输入/输出信号值AOutput读取模拟输出信号的当前值DOutput读取数字输出信号的当前值Goutput读取组输出信号的当前值TestDI检查一个数字输入信号已置1ValidIO检查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从二进制串