5.5.4循环结束处带有条件的语句(REPEAT,UNTIL)

5.5.4 循环结束处带有条件的语句(REPEAT,UNTIL)

REPEAT循环是先执行循环体语句后判断条件。循环的结束是有条件的,当循环条件满足时,一直重复执行循环体内的指令;直到当不符合条件出现后,执行循环体判断条件后面的程序段。

语句结构:

REPEAT ;调用REPEAT循环

… ;循环程序段(块)

UNTIL<条件> ;标记循环结束处,若满足条件则跳转到循环开头

注意:如果判断程序段写成UNTIL<条件>GOTOF LAB1格式时,系统将会停止运行,并产生012080#报警“通道1程序段N??句法错误在文本GOTOF LAB1”。

若椭圆槽深为6mm,槽宽为8mm,每次吃刀量为2mm,需要3次相同的铣槽加工完成。使用两层嵌套循环编程,深度参数作为切削几何体(深度)循环变量。

程序代码 注释

TYHCB_4.MPF ;椭圆槽切削程序(4)

N10 T1 D1 ;直径为8mm的立铣刀

N20 G17 G64 G0 G90 G54 X0 Y0 ;系统参数定义

N30 Z100 S900 M3 ;刀具进至初始高度

N40 G0 X50 Y0 ;定位下刀点

N50 Z5 ;下刀至安全高度

N60 R8=0 ;定义椭圆槽体吃刀量初始值(层深变量)

N70 REPEAT ;切削几何体(深度)循环

N80 R8=R8-2 ;计算几何体循环实际加工深度

N90 G1 Z=R8 F150 ;下刀至计算加工深度

N100 R1=0 ;定义椭圆槽角度初始值

N110 REPEAT ;椭圆槽切层循环

N120 R2=50∗COS(R1) ;计算刀位点(长半轴)在X轴上投影

N130 R3=25∗SIN(R1) ;计算刀位点(短半轴)在Y轴上投影

N140 G1 X=R2 Y=R3 F300 ;直线插补椭圆弧

N150 R1=R1+1 ;计算椭圆弧插补角度增量(直线插补精度)

N160 UNTIL R1>360 ;切削椭圆槽切层循环(内循环)条件及结束

;N170 R8=R8-2 ;计算实际加工深度

N180 UNTIL R8<-6 ;切削几何体(深度)循环条件及结束

N190 G0 Z100 ;返回初始高度

N200 M30 ;程序结束

本例中,深度增量为负值,注意N90句中Z的赋值情况变化。

本例编程结构是先执行后判断,因此椭圆槽加工深度分别为-2mm、-4mm、-6mm和-8mm,即多铣削一层。解决方法之一是:将N60句改为“N60 R8=-2”,并将N80句删除,将N170句前面的注释符删除。实现深度计算后即进行判断,当达到指定深度时循环结束。