在用宏程序编程时,可用三种转移和循环操作改变控制的流向。
1.无条件转移(GOTO语句)
语句格式为:
GOTO n;
GOTO 1;
GOTO#10;
例如:
O0001;
GOTO2;执行此程序后,程序就直接跳转到N2程序行执行。N1和N2之间的程序就不再执行。
N1…
G01 X100 Y20;
N2 G00 Y100 Z200;
M05;
M30;
2.条件转移(IF语句)
语句格式为:
IF[条件表达式]GOTO n
如果指定的条件表达式满足时,转移到标有顺序号n的程序段。条件式不成立时,则执行下一个程序段。
条件式有以下几类:
#jEQ#K 等于(=)
#jNE#K 不等于(≠)
#jGT#K 大于(>)
#jLT#K 小于(<)
#jGE#K 大于或等于(≥)
#jLE#K 小于或等于(≤)
条件式中变量#J或#K可以是常量也可以是表达式,但条件式必须用括号括起来。下面的程序让机床以G01方式分别移动10次,并得到1~10的和。
O7100;
#1=0;存储和数变量的初值
#2=1;被加数变量的初值(www.xing528.com)
N IF[#2 GT 10]GOTO 2;当被加数大于10时转移到N2程序行
#1=#1+#2;计算和数
#2=#2+1;下一个被加数
GOTO 1;转到N1程序行
N2 M30;程序结束
3.循环语句(WHILE语句)
在WHILE后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序,否则转到END后的程序段。
(1)语句格式
WHILE[条件表达式]DO m;(m=1,2,3)
END m;
(2)说明
1)DO和END后的数字是用于表明循环执行范围的识别号。可以使用数字1、2和3,如果是其他数字,系统会产生报警。
2)DO~END循环能够按需执行多次。但是,当程序由交叉重复循环(DO范围的重叠)时,系统会产生报警。如下所示:
①标号(1~3)可以根据要求多次使用。
②DO的范围内不能交叉。
③DO循环可以嵌套三级。
④控制可以转到循环外。
⑤转移不能进入到循环区内。
注意:指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。
“条件转移(IF语句)”中的O7100程序也可以用WHILE语句编制如下:
O7200;
#1=0;
#2=1;
WHILE[#2 LE 10]DO 1;
#1=#1+#2;
#2=#2+1;
END 1;
M30;
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。