10. 自定义宏
控制结构
控制结构
控制结构可用于编写包含决策和循环的程序。
IF...THEN...ELSE
条件执行:
; IF semplice
IF [#1 GT 0] THEN #2 = 1
; IF con GOTO
IF [#1 EQ 0] GOTO 100
; IF...THEN...ELSE (alcuni controller)
IF [#1 GT 0] THEN
#2 = 1
ELSE
#2 = -1
ENDIF
GOTO
无条件跳转到序列编号:
GOTO 100 ; Salta sempre a N100
N100 G0 X0 Y0
WHILE...DO...END
带起始条件的循环:
; Ripeti mentre condizione vera
#1 = 0
WHILE [#1 LT 10] DO1
G1 X#1 F500
#1 = #1 + 1
END1
; Cicli annidati (DO1, DO2, DO3)
WHILE [#1 LT 5] DO1
WHILE [#2 LT 5] DO2
; codice interno
END2
END1
示例:圆形孔阵列
; Parametri
#1 = 50 ; Raggio cerchio
#2 = 8 ; Numero fori
#3 = 0 ; Angolo iniziale
#4 = -15 ; Profondità
; Calcolo passo angolare
#5 = 360 / #2
; Ciclo fori
#6 = 0 ; Contatore
WHILE [#6 LT #2] DO1
#7 = #1 * COS[#3] ; X
#8 = #1 * SIN[#3] ; Y
G0 X#7 Y#8
G1 Z#4 F100 ; Fora
G0 Z5 ; Ritrai
#3 = #3 + #5 ; Prossimo angolo
#6 = #6 + 1 ; Incrementa contatore
END1
带参数的子程序调用
; Chiamata con argomenti
G65 P9100 A10 B20 C-5 F500
; Nel sottoprogramma O9100:
; #1 = A = 10
; #2 = B = 20
; #3 = C = -5
; #9 = F = 500
注意:嵌套循环必须使用不同的DO编号(DO1、DO2、DO3)。切勿嵌套相同的编号。
