1.6 程序结构
1.6.1 CASE语句
编程格式:
CASE 表达式 OF 常量1 GOTOF LABEL1 … DEFAULT GOTOF LABELn
CASE指令能够根据INT类型实际值的不同而进行相应跳转。被CASE指令检测的表达式具有什么值,程序就转移到对应常量所属跳转目标确定的位置上。如果表达式的值不在常量类表当中,则使用DEFAULT指令确定跳转目标。而如果DEFAULT指令没有被编程,则紧跟在CASE指令之后的程序段将成为跳转目标。
示例:
DEF INT VAR1, VAR2
CASE (VAR1+VAR2) OF 7 GOTOF MARK1 9 GOTOF MARK2 DEFAULT GOTOF
MARK3
MARK1: G00 X1 Y1
MARK2: G00 X2 Y2
MARK3: G00 X3 Y3
1.6.2 IF语句
编程格式:
IF 表达式
NC程序段
ELSE
NC程序段
ENDIF
IF-ELSE-END模块用于二选一,如果表达式的值为TRUE,则执行IF分支中的程序模块,否则ELSE分支被执行。这个ELSE分支可以取消。
示例:
DEF INT VAR1, VAR2
IF VAR1>VAR2
G00 X1 Y1
ELSE
G00 X2 Y2
ENDIF
IF语句可以嵌套使用,嵌套层数不能超过9层。
1.6.3 WHILE语句
编程格式:
WHILE 表达式
NC程序段
ENDWHILE
只要表达式的值为TRUE,WHILE循环就被执行。要想跳出循环,需要在结构体中不断修改表达式的值,直到其为FALSE。
示例:
DEF REAL HH=9
G01 X0
WHILE HH>0
G91 X=HH
HH=HH-1
ENDWHILE