您好!欢迎光临工博士商城

库卡机器人系统集成服务商

产品:99
联系我们
联系方式
  • 联系人:赵工
  • 电话:15002112015
  • 手机:15002112015
新闻分类
站内搜索
友情链接
首页 > 新闻中心 >库卡机器人的程序跳转与指针复位指令
新闻中心
库卡机器人的程序跳转与指针复位指令
发布时间:2021-03-26 浏览次数:4498 返回列表
程序跳转与指针复位指令

  程序转移指令可用来实现程序的跳转功能,指令包括程序内部跳转和跨程序跳转(子程序调用)两类。本书第 2 章已对子程序调用、返回的基本指令及编程要求予以介绍,在此不再重复。

 1.程序跳转指令与功能

  RAPID 程序内部跳转指令及特殊的子程序变量调用指令的名称、编程格式见表 5.1-3,指令的编程要求和示例如下。

库卡机器人集成

  程序跳转指令 GOTO 可中止后续指令的执行、直接转移至跳转目标(Label)位置继续。跳转目标(Label)以字符的形式表示,它需要单独占一指令行,并以「:」结束;跳转目标既可位于 GOTO 指令之后(向下跳转),也可位于 GOTO 指令之前(向上跳转)。如果需要,GOTO 指令还可结合 IF、TEST、FOR、WHILE 等条件判断指令一起使用,以实现程序的条件跳转及分支等功能。

  利用指令 GOTO 及 IF 实现程序跳转、重复执行、分支转移的编程示例如下。

  GOTO next1 ;               // 跳转至 next1 处继续(向下)

  ……                   // 被跳过的指令

  next1:                 // 跳转目标

  ……

  !***************************************

  reg1 := 1 ;

  next2:                 // 跳转目标

  ……                   // 重复执行 4 次

  reg1 := reg1 + 1 ;

  IF reg1<5 GOTO next2 ;         // 条件跳转,至 next2 处重复

  !***************************************

  IF reg1>100 THEN

  GOTO next3 ;             // 如 reg1>100,跳转至 next3 分支

  ELSE

  GOTO next4 ;             // 如 reg1≤100,跳转至 next4 分支

  ENDIF

  next3:

  ……                  // next3 分支,reg1>100 时执行

  GOTO ready ;             // 分支结束

  next4:

  ……                  // next4 分支,reg1≤100 时执行

  ready:                 // 分支合并

  ……

 2.子程序的变量调用

  变量调用指令 Call By Var 可用于名称为「字符 + 数字」的无参数普通子程序(PROC)调用,它可用变量替代数字,已达到调用不同子程序的目的。例如,对于名称为 proc1、proc2、proc3 的普通子程序,程序名由字符「proc」及数字(1~3)组成,此时,可用数值型数据变量(如 reg1)替代数字 1~3,这样,便可通过改变变量值来有选择地调用 proc1、proc2、proc3。

  指令 Call By Var 的编程格式及程序数据要求如下。

  Call By Var Name, Number ;

  Name:子程序名称的文字部分,数据类型为 string。

  Number:子程序名称的数字部分,数据类型为 num,正整数。

  例如,利用变量调用指令 Call By Var 选择调用无参数普通子程序 proc1、proc2、proc3 的程序示例如下,程序中的 reg1 值可以为 1、2 或 3。

  VAR num reg1 ;                // 变量定义

  ……

  Call By Var 「proc」, reg1 ;          // 子程序变量调用

  ……

  以上程序也可通过 TEST 指令实现,其程序如下。

  TEST reg1

  CASE 1:

  proc1 ;

  CASE 2:

  proc2 ;

  CASE 3:

  proc3 ;

  ENDTEST

3.指针复位与检查函数

  程序指针就是用来选择程序编辑、程序重新启动位置的光标,它可以通过示教器的操作,改变位置;因此,在程序运行前一般需要将程序指针复位到起始位置。

  ABB 机器人控制系统的控制面板上设置有图 5.1-1 所示的操作模式转换开关,利用该开关,可进行自动(程序运行)、手动测试(移动速度不超过 250mm/s)、手动高速(100% 速度)3 种操作模式的切换。系统当前的操作模式可以通过 RAPID 函数命令 OpMode 读取,自动模式的函数命令执行结果为 OP_AUTO、手动低速模式的命令执行结果为 OP_MAN_ TEST、手动高速模式的命令执行结果为 OP_MAN_PROG。

库卡机器人集成

  当系统由自动运行模式切换为手动(低速或高速)模式时,程序指针可以自动复位到应用程序的起始位置。但是,如操作者在手动操作模式下调整了程序指针的位置,再切换到程序自动运行时,需要通过指令 Reset PPMoved 复位程序指针,以保证应用程序能够从起始位置开始执行。

  RAPID 程序指针复位与检查函数命令的功能、编程格式、程序数据与命令参数及添加项的要求见表 5.1-4。

库卡机器人集成

  函数命令 PPMovedInManMode 用来检查手动操作模式的程序指针移动状态,如果在手动操作模式移动了程序指针,则执行结果为 TRUE;IsStopStateEvent 命令用来检查当前任务的程序指针停止位置,如果在程序停止后,指针被移动,则执行结果为 TRUE。

  RAPID 程序指针复位与检查函数命令的编程示例如下。

  IF PPMoved In Man Mode() THEN           // 指针检查

  Reset PPMoved ;                 // 指针复位

  Do Job ;                    // 程序调用

  ELSE

  Do Job ;

  ENDIF


了解更多库卡机器人知识欢迎点击咨询:库卡机器人集成



联系热线:15002112015 联系人:赵工 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00库卡机器人系统集成服务商

返回
顶部
Baidu
map