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

ABB机器人配件品牌服务商

产品:125    
联系我们
联系方式
  • 联系人:庾文科
  • 电话:18616561800
  • 邮件:ywk@gongboshi.com
  • 手机:18616561800
站内搜索
 
新闻分类
友情链接
首页 > 新闻中心 > ABB机器人配件|介绍普通程序的调用
新闻中心
ABB机器人配件|介绍普通程序的调用
发布时间:2021-03-26        浏览次数:773        返回列表
   普通程序的调用
 
  由于 RAPID 普通程序只需要在程序行编写程序名称,便可实现程序的调用功能,因此,可直接通过无条件执行、重复执行、条件执行指令来实现子程序的无条件调用、重复调用、条件调用功能。
 
  无条件、重复、条件调用普通子程序的编程方法如下。


ABB机器人售后技术服务
 
  1.无条件调用
 
  无条件调用的普通子程序可省略调用指令 Proc Call,直接在程序行编写子程序名称,当系统执行至该程序行时,便可跳转至指定的子程序继续执行。例如:
 
  r Check Home Pos ;           // 无条件调用子程序 r Check Home Pos
 
  ……
 
  r Welding;              // 无条件调用子程序 r Welding
 
  2.重复调用
 
  普通子程序的重复调用,可通过重复执行指令 FOR 来实现,子程序调用指令(子程序名称)可编写在程序行 FOR 至 ENDFOR 间。FOR 指令的编程格式如下,其中的计数增量选项 STEP 可根据需要省略或添加。
 
  FOR 计数器FROM 计数起始值TO计数结束值[STEP 计数增量] DO
 
  子程序调用                    // 重复执行指令
 
  ……
 
  ENDFOR                      // 重复执行指令结束
 
  省略 STEP 选项时,如计数结束值 TO 大于计数起始值 FROM,系统默认 STEP 值为 1,即每执行一次 FOR 至 ENDFOR 之间的重复指令,计数值将自动加 1;如计数结束值 TO 小于计数起始值 FROM,系统默认 STEP 值为 ?1,即每执行一次重复指令,计数值将自动减 1;如计数器初始值不在起始值 FROM 和结束值 TO 的范围内,将跳过 FOR 至 ENDFOR 之间的重复指令。
 
  例如,对于以下程序,如计数器i的初始值为 1,子程序 r Welding 可连续调用 10 次,完成后执行指令 Reset do1;如计数器i的初始值为 5,则子程序 r Welding 可连续调用 5 次,完成后执行指令 Reset do1;如计数器i的初始值小于 1 或大于 10,则跳过子程序 r Welding,直接执行指令 Reset do1。
 
  FOR i FROM 1 TO 10 DO
 
  r Welding;                  // 子程序 r Welding 重复调用
 
  ENDFOR
 
  Reset do1 ;
 
  ……
 
  当指令使用 STEP 选项(整数,可为负)时,如计数器初始值处于 FROM 和 TO 之间,则每执行一次重复执行指令,计数值自动增加 1 个增量值;同样,如计数器初始值不在起始值 FROM 和结束值 TO 范围内,则直接跳过重复执行指令。
 
  例如,对于以下程序,因计数增量 STEP 值为 ?2,子程序调用指令 r Welding 每执行一次,计数器i将减 2。因此,当计数器i初始值 FOR 为 10、结束值 TO 为 0 时,子程序 r Welding 可重复执行 5 次,完成后执行指令 Reset do1;如计数器i的初始值小于 0 或大于 10,将跳过子程序 r Welding,直接执行指令 Reset do1。程序中的指令「a{i}:= a{i?1}」用于计数器初始值调整,当初始值为奇数 1、3、5、7、9 时,系统可自动将其设定为 2、4、6、8、10。
 
  FOR i FROM 10 TO 0 STEP -2 DO
 
  a{i}:= a{i?1}
 
  r Welding;
 
  ENDFOR
 
  Reset do1 ;
 
  ……
 
  3.IF 条件调用
 
  普通子程序的 IF 条件调用,可通过 RAPID 条件执行指令 IF 实现。IF 指令可采用「IF-THEN」「IF-THEN-ELSE」「IF-THEN-ELSEIF-THEN-ELSE」等多种形式编程,其作用如下。
 
  (1)IF-THEN 调用
 
  使用「IF-THEN」指令条件调用时,子程序调用指令(子程序名称)可编写在程序行 IF 与 ENDIF 间,如系统满足 IF 条件,子程序将调用;否则,子程序将被跳过。
 
  例如,对于以下程序,如果寄存器 reg1 的值小于 5,系统可调用子程序 work1,work1 执行完成后,执行指令 Reset do1;否则,将跳过子程序 work1,直接执行 Reset do1 指令。
 
  IF reg1<5 THEN
 
  work1 ;
 
  ENDIF
 
  Reset do1 ;
 
  ……
 
  (2)IF-THEN-ELSE 调用
 
  使用「IF-THEN-ELSE」指令条件调用时,可根据需要,将子程序调用指令(子程序名称)编写在程序行 IF 与 ELSE 或 ELSE 与 ENDIF 间。如 IF 条件满足,IF 与 ELSE 间的子程序可被调用,而 ELSE 与 ENDIF 间的子程序将被跳过;否则,IF 与 ELSE 间的子程序被跳过、ELSE 与 ENDIF 间的子程序被调用。
 
  例如,对于以下程序,如寄存器 reg1 的值小于 5,系统将调用子程序 work1,work1 执行完成后,跳转至指令 Reset do1;否则,系统将调用子程序 work2,work2 执行完成后,再执行指令 Reset do1。
 
  IF reg1<5 THEN
 
  work1 ;
 
  ELSE
 
  work2 ;
 
  ENDIF
 
  Reset do1 ;
 
  ……
 
  (3)IF-THEN-ELSEIF-THEN-ELSE 调用
 
  「IF-THEN-ELSEIF-THEN-ELSE」可设定多重执行条件,子程序调用指令(子程序名称)可编写在所需的位置。
 
  例如,对于以下程序,如果寄存器 reg1<4,系统将调用子程序 work1,work1 执行完成后,跳转至指令 Reset do1;如果 reg1=4 或 5,系统将调用子程序 work2,work2 执行完成后,跳转至指令 Reset do1;如果 5
 

 


更多ABB机器人配件资讯欢迎点击咨询
ABB机器人售后技术服务




 

联系热线:18616561800 联系人:庾文科 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人配件品牌服务商

返回
顶部