Strutture di Controllo

10. Custom Macro

Strutture di Controllo

Strutture di Controllo

Le strutture di controllo permettono di creare programmi con decisioni e ripetizioni.

IF...THEN...ELSE

Esecuzione condizionale:

; 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

Salto incondizionato a un numero di sequenza:

GOTO 100        ; Salta sempre a N100

N100 G0 X0 Y0

WHILE...DO...END

Ciclo con condizione all'inizio:

; 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

Esempio: Pattern di Fori Circolare

; 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 Sottoprogrammi con Argomenti

; 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

Attenzione: I cicli annidati devono usare numeri DO diversi (DO1, DO2, DO3). Non annidare mai lo stesso numero.