发布时间:2024-11-22
如果我们想在Fanuc机器人编程中对一定的内容进行多次重复执行,可以用什么指令来满足?
一般来讲,介于FOR和ENDFOR指令中间的程序内容可以实现多次重复执行,FOR和ENDFOR是一组成对出现的指令,缺一不可,在专业上称之为循环指令。
图1-1 FOR/ENDFOR指令菜单
• FOR 代表循环指令的开始;通过 FOR指定的值来确定循环的次数。• ENDFOR 代表循环指令的结束。
FOR 指令的格式如下:图1-2 FOR指令(选择 TO时)
计数器使用的是暂存器(R[i]),用于记录循环的次数。初始值可以使用常数(Constant)、暂存器(R[i])、自变量(AR[i]),常数可以给定的范围:-32767 到 32766 的整数。目标值可以使用常数(Constant)、暂存器(R[i])、自变量(AR[i]),常数可以给定的范围:-32767 到 32766 的整数。
当指定 TO 时,初始值 < 目标值,其意思是每循环一次使得计数器的值增加 1,直到条件不再满足的时候才结束该循环指令,也就时说初始值与目标值决定了循环的次数;
Eg:初始值为1,目标值为3,则循环执行三次该内容。执行 FOR 指令时,在计数器的值中代入的是初始值。
图1-3 FOR指令(选择 DOWNTO时)
计数器使用的是暂存器(R[i]),用于记录循环的次数。初始值可以使用常数(Constant)、暂存器(R[i])、自变量(AR[i])。常数可以给定的范围:-32767 到 32766 的整数。目标值可以使用常数(Constant)、暂存器(R[i])、自变量(AR[i])。常数可以给定的范围:-32767 到 32766 的整数。
当指定 DOWNTO 时,初始值 > 目标值,其意思是每循环一次使得计数器的值减1,直到条件不再满足的时候才结束该循环指令,也就时说初始值与目标值决定了循环的次数;
Eg:初始值为3,目标值为1,则循环执行三次该内容。执行 FOR 指令时,在计数器的值中代入的是初始值。
ENDFOR指令的格式如下:图1-4 ENDFOR 指令
执行 ENDFOR 指令时,只要满足如下条件,就可以反复执行 FOR与ENDFOR 之间的内容。•指定 TO 时,初始值 < 目标值。•指定 DOWNTO 时,初始值 > 目标值。当条件不满足时,指针移到对应ENDFOR 指令的后续行,此时就不再执行 FOR/ENDFOR 区间。
如图1-5所示,对介于FOR和ENDFOR指令中间的程序内容反复执行3次后再执行第八行的指令。
图1-5
报警说明
FOR和ENDFOR 指令在如下状况下会发生错误报警:• 在 FOR/ENDFOR 区间中进行嵌套循环,最多可以嵌套 10 个层级。超出 10 个层 级,程序执行时会发生错误报警。• FOR和 ENDFOR 指令必须存在相同程序内且FOR和 ENDFOR数量相同。任一个不足时,执行程序会发生报警。• 在执行 FOR 指令时,初始值或者目标值中使用整数以外的数值,程序会发生错误报警。• 在执行 ENDFOR 指令时,计数器的值或者目标值中使用整数以外的数值,程序会发生错误报警。