当一个带有确定值的控制结构被循环重复,计数循环就会被运行。该控制结构语句可以理解为:当FOR的循环条件满足时,循环变量从设定的起始值开始运行,并自动累加1计算作为循环条件,直到与循环结束设定值相等为止。否则,将执行循环结束指令后面的程序段。
使用FOR循环时,用于循环计数的变量必须为整型变量,变量数值为整数,若是实型数值,屏幕上会显示报警“数据类型不兼容”。
(1)编程格式
FOR<变量>=<初值>TO<终值> ;若没有到达计数终值,则引入计数循环
… ;循环程序段(块)
ENDFOR ;标记循环结束处并跳转到循环开头
(2)指令参数说明
<变量>:计数变量从初值开始向上计数,直到终值且在每次运行时自动增加“1”,类型为整形(INT)或实数型(REAL)。
<初值>:计数的初值,条件初值必须小于终值。
<终值>:计数的终值。
提示:如果为计数循环编程使用了R参数或函数表达式,采用实数型变量,则将四舍五入该变量值。
例1 整数变量作为计数变量的程序。
程序代码 注释
DEFINT VARI_A1
…
R10=R12-R20∗R1 R11=6
FOR VARI_A1=R10 TO R11 ;引入计数循环。计数变量=整数变量
R20=R21∗R22+R33
ENDFOR ;计数循环结束
M30
例2 R参数作为计数变量的程序代码。
程序代码 注释
…
R11=6
FOR R10=R12-R20∗R1 TO R11 ;引入计数循环。计数变量=R参数(实数变量)
R20=R21∗R22+R33
ENDFOR
M30
例3 加工一个固定的零件件数的程序代码。
程序代码 注释
DEF INT STUECKZAHL ;用名称“STUECKZAHL”定义的INT型变量
DEF INT JIAN
FOR JIAN=0 TO 80 ;计数循环。变量“JIAN”从初值0向上计数直到终值80
G01…
ENDFOR ;计数循环结束
M30
若椭圆槽的槽深为6mm,槽宽为8mm,每次吃刀量为1mm,需要6次相同的铣槽加工完成。使用两层嵌套循环编程。
TYHCB_50.MPF ;椭圆槽切削程序(5)
N10 T1 D1 ;直径为8mm的立铣刀(www.xing528.com)
N20 G17 G64 G0 G90 G54 X0 Y0 ;系统参数定义
N30 Z100 S900 M3 ;刀具进至初始高度
N40 G0 X50 Y0 ;定位下刀点
N50 Z5 ;下刀至安全高度
N60 FOR R8=1 TO 6 ;循环变量自身增加1后判断循环条件
N110 G1 Z=-R8 F120 ;下刀至计算深度
N140 FOR R1=0 TO 360 ;角度值除以增量得出累加次数
N150 R2=50∗COS(R1) ;计算刀位点(长半轴)在X轴上投影
N160 R3=25∗SIN(R1) ;计算刀位点(短半轴)在Y轴上投影
N170 G1 X=R2 Y=R3 F300 ;直线插补椭圆弧
N180 ENDFOR ;切削几何体循环结束
N210 ENDFOR ;吃刀量循环结束
N220 G0 Z100 ;返回初始高度
N230 M30 ;程序结束
若椭圆槽的槽深为7mm,槽宽为8mm,每次吃刀量为2mm,需要4次铣槽加工完成。使用两层嵌套循环编程,以及判断与锁定最后吃刀量的条件。
程序代码 注释
TYHCB_51.MPF ;椭圆槽切削程序(6)
N10 T1 D1 ;直径为8mm的立铣刀
N20 G17 G64 G0 G90 G54 X0 Y0 ;系统参数定义
N30 Z100 S900 M3 ;刀具进至初始高度
N40 G0 X50 Y0 ;定位下刀点
N50 Z5 ;下刀至安全高度
N60 FOR R8=1 TO7 ;循环变量自身增加1后判断循环条件
N70 R8=R8+1 ;循环变量自身增加1后又增加1mm深度
N80 IF R8>7 ;判断:如计算的加工深度超过最终指定深度
N90 R8=7 ;将最后加工深度锁定在指定深度上
N100 ENDIF ;判断结束
N110 G1 Z=-R8 F200 ;下刀至计算深度
N140 FOR R1=0 TO 360 ;角度值除以增量得出累加次数
N150 R2=50∗COS(R1) ;计算刀位点(长半轴)在X轴上投影
N160 R3=25∗SIN(R1) ;计算刀位点(短半轴)在Y轴上投影
N170 G1 X=R2 Y=R3 F300 ;直线插补椭圆弧
N180 ENDFOR ;切削几何体循环结束
N210 ENDFOR ;吃刀量循环结束
N220 G0 Z100 ;返回初始高度
N230 M30 ;程序结束
本例中,几何体循环条件若不为1mm,如设定为2mm,则要对FOR循环的判断条件进行改变,以适应加工的需要。可以增加N70R8=R8+1程序段,即可将每次的吃刀量改为2mm。在切第四次层时,实际吃刀量不允许为2mm(如果继续采用2mm的吃刀量,总的吃刀量将达到8mm),只能是1mm。因此需要一个将吃刀量锁定在7mm深度位置的语句,即N80~N100语句。请读者体会N60~N100程序段的含义。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。