控制结构

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)。切勿嵌套相同的编号。