कंट्रोल स्ट्रक्चर

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