ABB机器人基础编程(5)
声明:本媒体部分图片、文章来源于网络,
版权归原作者所有,如有侵权,请与我联系删除
声明:本媒体部分图片、文章来源于网络,
版权归原作者所有,如有侵权,请与我联系删除
普通程序的调用
由于RAPID普通程序只需要在程序行编写程序名称,便可实现程序的调用功能,因此,可直接通过无条件执行、重复执行、条件执行指令来实现子程序的无条件调用、重复调用、条件调用功能。
无条件、重复、条件调用普通子程序的编程方法如下。
1.无条件调用
无条件调用的普通子程序可省略调用指令ProcCall,直接在程序行编写子程序名称,当系统执行至该程序行时,便可跳转至指定的子程序继续执行。例如:
rCheckHomepos; //无条件调用子程序 rCheckHomepos
~~~~~~
rWelding; //无条件调用子程序 rWelding
2.重复调用
普通子程序的重复调用,可通过重复执行指令FOR来实现,子程序调用指令(子程序名称)可编写在程序行FOR至ENDFOR间。FOR指令的编程格式如下,其中的计数增量选项STEP可根据需要省略或添加。
省略STEP选项时,如计数结束值TO大于起始值FROM,系统默认STEP值为1,即每执行一次FOR至ENDFOR之间的重复指令,计数值将自动加1;如计数结束值TO小于计数起始值,系统默认STEP值为-1,即每执行一次重复指令,计数值将自动减一;如计数器初始值不在起始值FORM和结束知TO的范围内,将跳过FOR至ENDFOR之间的重复指令。
例如,对于以下程序,如计数器i的初始值为1,子程序rWelding可连续调用10次。完成后执行指令Reset do1;如计数器i的初始值为5,则子程序rWelding可连续调用5次,完成后执行指令Reset do1;如计数器i的初始值小于1或大于10,则跳过子程序rWelding,直接执行指令Reset do1。
FOR i FROM 1 TO 10 DO
rWelding; //子程序rWelding重复调用
ENDFOR
Reset do1;
~~~~~~
当指令使用STEP选项(整数,可为负)时,如计数器初始值处于FROM至TO之间,则每执行一次重复执行指令,计数值自动增加1个增量值;同样,如计数器初始值不在起始值FROM和结束值TO范围内,则直接跳过重复执行指令。
例如,对于以下程序,因计数增量STEP值为-2,子程序调用指令rWelding每执行一次。计数器i将减2。因此,当计数器i初始值FOR为10、结束值TO为0时,子程序rWelding可重复执行5次,完成后执行指令Reset do1;如计数器i的初始值小于0或大于10,将跳过子程序rWelding,直接执行指令Reset do1。程序中的指令‘a{i}:=a{i-1}’
用于计数器初始值调整,当初始值为奇数1、3、5、7、9时,系统可自动将其设定为2、4、6、8、10。
FOR i FROM 10 STEP -2 DO
a{i}:=a{i-1}
rWelding;
ENDFOR
Reset do1;
更多ABB机器人咨询请点击:http://www.abb-lndustrialrobots.gongboshi.com/