Pętla warunkowa while i do while w G-code

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3398 razy

Pętle warunkowe umożliwiają wykonywanie pewnych czynności dopóki nie zostanie spełniony jakiś warunek. Takim warunkiem może być konieczność wyfrezowania rowka o określonych wymiarach i określonej głębokości. Grubość skrawanej w jednym przejściu warstwy jest zawsze ograniczona i zależy od twardości materiału obrabianego, mocy wrzeciona frezarki a także od samego narzędzia. Tak jak w przypadku instrukcji warunkowej if, elseif, else tak i w przypadku pętli while i do while konieczne jest użycie o-kodu, który składa się z litery o i numeru identyfikującego blok instrukcji. Oto przykład wykorzystania pętli while:

#<max_deep> = 1 #<height> = 5 #<width> = 100 #<current_height> = #<max_deep> g90 g1 m3 s800 f300 #<way> = 1 o001 while [#<current_height> le #<height>] g90 z-#<current_height> g91 x[#<width> * #<way>] #<current_height> = [#<current_height> + #<max_deep>] #<way> = [#<way> * -1] o001 endwhile M30

Wewnątrz pętli while czy do while można również wykorzystać instrukcję o- break - do przerwania pętli lub o- continue do przerwania wykonywania bloku instrukcji bieżącego przejścia pętli.

Instrukcja do while umożliwia jednokrotne wykonanie bloku instrukcji niezależnie od postawionego warunku. Przykład jej użycia:

#<max_deep> = 1 #<height> = 5 #<width> = 100 #<current_height> = #<max_deep> g90 g1 m3 s800 f300 #<way> = 1 o001 do g90 z-#<current_height> g91 x[#<width> * #<way>] #<current_height> = [#<current_height> + #<max_deep>] #<way> = [#<way> * -1] o001 while [#<current_height> le #<height>] M30
Strony powiązane
strony powiązane
  1. linuxcnc.org/docs/html/gcode/o-code.html#ocode:looping - opis pętli while i do while obsługiwanej przez program LinuxCNC