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)। एक ही संख्या को कभी एक-दूसरे के भीतर न रखें।
