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.
