Nauka G-Code Część 2/2:
Zaawansowane programowanie CNC

W pierwszej części serii „Programowanie CNC: poznaj kod G - szybko i łatwo“ poznaliśmy podstawy kodu G. W tym artykule poznasz więcej poleceń, takich jak podprogramy, pętle, instrukcje IF i parametry R.

MotywacjaW produkcji CNC często konieczne jest wytwarzanie podobnych części z niewielkimi różnicami. Tworzenie nowego pliku G-code dla każdej niewielkiej zmiany przy użyciu oprogramowania CAD/CAM może być czasochłonne. Dobrym rozwiązaniem jest użycie konfigurowalnego pliku G-code. Dzięki parametrom zmiany w pliku G-code można wprowadzać szybko i łatwo, co oszczędza czas i zwiększa elastyczność. W tym artykule dowiesz się, w jaki sposób sparametryzowane programowanie G-code zwiększa wydajność procesów CNC.

Do programowania CNC (G-code) używamy naszego oprogramowania sterującego CNC jako darmowego symulatora G-code. Kliknij tutaj tutaj, aby pobrać cncGraF za darmo.

Aby dowiedzieć się więcej o darmowym symulatorze G-Code, kliknij artykuł na blogu
cncGraF: Darmowy symulator kodu G i emulator maszyny CNC„.

G-Code: Podprogramy

Najpierw dodajemy podprogram. Użyjemy przykładu kodu G z pierwszej części tej serii „Programowanie CNC: poznaj kod G - szybko i łatwo„. Rozszerzone linie kodu G są oznaczone kolorami w Jasnoczerwony podświetlony. Kod G wygląda wtedy następująco:


; Plik G-code: Produkcja prostokąta w dniu 22.12.2023 r.
; Aktualizacja z 23.01.2024

; Wybrano narzędzie numer 1

T1
; Podnieść narzędzie z dużą prędkością na wysokość Z = 10 mm powyżej punktu zerowego.
G00 Z10
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X10 Y10

; Włącz wrzeciono robocze z M3 z prędkością 2000 obr.
M3 S20000
; Odczekać 5 sekund do osiągnięcia prędkości wrzeciona.
G04 H5


; Wymiarowanie względne (wymiar łańcucha), Polecenie G91 jest aktywne
G91

P1
; Wywoływany jest podprogram 1

; Koniec programu
M5 M30

; Początek podprogramu 1
M99 P1
; Przesuń do środka prostokąta
G00 X50 Y30
; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-12 F600
; Okrąg (d=20 mm, środek 60×60) zgodnie z ruchem wskazówek zegara
; posuw z prędkością 600 mm na minutę

G02 I0 J20
; Podnoszenie narzędzia z dużą prędkością: Z = 10 mm powyżej punktu zerowego
G00 Z12
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X-50 Y-30
; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-12
; Trawers prostokąta 100×100 mm z prędkością posuwu 600 mm na minutę
G01 X100
G01 Y100
G01 X-100
G01 Y-100
; Podnoszenie narzędzia z dużą prędkością: Z = 10 mm powyżej punktu zerowego
G00 Z12
M99
; Koniec podprogramu 1

Plik G-code: Prostokąt i okrąg

Kod G (patrz wyżej) opisuje przetwarzanie prostokąta i okręgu, przy czym oba kształty są opisane w podprogramie 1 są zdefiniowane. Podprogram jest uruchamiany poleceniem P1 w programie głównym.

Definicja podprogramu rozpoczyna się od polecenia M99 P1 i kończy się na M99. Wszystkie podprogramy znajdują się na końcu programu głównego, tj. po poleceniu M30, który oznacza koniec programu głównego. Numer podprogramu jest oznaczony cyfrą po‚P‚ oznaczone - w tym przypadku 1.

Podprogramy G-code mają następującą strukturę:

G91 ; Wymiarowanie względne (wymiarowanie przyrostowe) jest aktywne
; Program główny
P1 ; Wywoływany jest podprogram 1
; Program główny
M30 ; Koniec programu głównego

M99 P1
; Treść podprogramu 1
M99

Wskazówka: Należy pamiętać, że na początku programu głównego polecenie G91 musi być ustawiona, aby aktywować wymiarowanie względne (wymiar przyrostowy). Wszystkie kolejne specyfikacje współrzędnych są zatem wartościami względnymi. Jest to konieczne, aby podprogramy mogły być umieszczane w dowolnej pozycji.

Zarządzanie podprogramami

Oprogramowanie sterujące CNC cncGraF posiada zintegrowaną funkcję zarządzania podprogramami. Wszystkie podprogramy mogą być tam zapisywane. W takim przypadku podprogram nie musi być zawarty w pliku G-code; zamiast tego podprogram w programie głównym jest wywoływany tylko za pomocą polecenia G-code‚P‚ i numer podprogramu (tutaj P1).

Programowanie CNC: zarządzanie podprogramami G-code zintegrowane z systemem sterowania CNC

Wskazówka: Jeśli podprogram z tym samym numerem podprogramu (numer po‚P‚) jest obecny zarówno w pliku G-code, jak i w zarządzaniu podprogramami, używany jest podprogram z pliku G-code. Oprogramowanie najpierw wyszukuje podprogram w pliku, a dopiero potem w G-code management. Umożliwia to ‚nadpisanie‘ podprogramu w administracji.

G-Code: Pętle

Aby powielić kształty zdefiniowane w podprogramie, podprogram musi zostać wywołany kilka razy. Odbywa się to za pomocą poleceń kodu G G25 Q i G26 zrealizowane dla pętli.
Sekcja G-code w głównym programie wygląda następująco:

G25 Q4
P1 ; Wywoływany jest podprogram 1
G00 X110
G26

Z G25 Q i G26 zaprogramowana jest pętla. G25 definiuje początek pętli, a z G26 pętla zostanie zakończona. Parametr Q określa liczbę przebiegów. W naszym przykładzie 4 są zdefiniowane. Po każdym wywołaniu podprogramu następuje względne przesunięcie pozycji w X dla następnego podprogramu z linią: G00 X110.

Co to jest parametr R?

Parametr R to symbol zastępczy (zmienna) w zakresie od R1 do R999, w którym zapisywana jest wartość. Przykład: R10 = Ten wiersz definiuje parametr R10, która reprezentuje wartość 99.567 zawiera.
Poprzez wywołanie parametru R (tutaj R10), jego wartość jest dostępna w kodzie G. Podczas korzystania z parametrów R należy pamiętać o następujących kwestiach:

  • Podstawowe operacje arytmetyczne Dodawanie, odejmowanie, mnożenie i dzielenie można wykonać w ramach parametru. Podczas obliczania wartości, reguła „Kropka przed myślnikiem“ jest stosowany. Nawiasy nie są obsługiwane.
    Przykład:
    R56 = 10/2 - 2*2
    Wynik jest następujący 1
  • W obliczeniach można wykorzystać parametry R.
    Przykład:
    R55 = 10
    R56 = R55/2 - 2*2
    Wynik jest następujący 1
  • Parametry R można przypisać w następujących miejscach w kodzie G:
    Polecenie G00, przykład G00 X=R10
    Polecenie G01, przykład G01 X=R10 Y=R11 + 6 / 2
    Polecenie G02/G03 X/Y (polecenia łuku), przykład: G02 I20 J20 X=R10 Y=R10
    Polecenie G25 Q (pętla), przykład: G25 Q=R4
    Polecenie G53-G60 X/Y/Z, przykład G54 X=R20
    Polecenie instrukcji IF, przykład: $IF R100==1
  • Parametry R są parametrami globalnymi, tzn. jeśli są zdefiniowane na początku pliku G-code, są dostępne dla całego pliku.
  • Parametry R mogą być również używane w podprogramach.
  • Wartości parametrów R są wyświetlane w dolnej części paska stanu edytora tekstu (patrz zrzut ekranu poniżej).

Poniżej dodajemy parametry do naszej pętli. Następnie fragment kodu G wygląda następująco w głównym programie:

R4=4 ; R4 Parametr (symbol zastępczy) z wartością 4 jako liczbą przebiegów tworzyć
R5=110 ; Parametr R5 (symbol zastępczy) z wartością 110 dla nowej pozycji X podprogramu

; Przypisanie wartości przez parametr R4
G25 Q=R4
P1 ; Wywoływany jest podprogram 1
G00 X=R5 ; Względne przemieszczenie, zdefiniowane w parametrze R5
G26

Co to jest instrukcja IF?

The instrukcja IF służy do sprawdzania warunku. Jeśli warunek jest spełniony, wykonywane są polecenia zawarte w warunku. Dostępne są następujące operacje:
równy ==
nierówny !=
większa lub równa >=
mniejsza lub równa <=

Instrukcja IF składa się z następujących poleceń $IF $ENDIF $ELSE $ELSEIF. Instrukcja IF musi występować samodzielnie w wierszu. Instrukcja IF może być zawarta w programie głównym i w podprogramie.

Przykład 1: $IF $ENDIF

R57=10 ; Utwórz parametr R57 (symbol zastępczy) z wartością 10

$IF R57== 10
; Ta zawartość kodu G jest wykonywana, ponieważ parametr R57 ma wartość 10 (równość jest spełniona)
$ENDIF

Przykład 2: $IF $ELSEIF $ENDIF

R57=9
$IF R57<=9
; Ta treść jest wykonywana, ponieważ parametr R57=9 (mniejszy lub równy jest spełniony)
$ELSEIF R57>=10
; Ta treść NIE jest wykonywana, ponieważ parametr R57 ma wartość 9.
; Zmiana wartości parametru R57 na 10 lub wyższą oznacza, że
; ta zawartość jest wykonywana.
$ENDIF

Wskazówka! Instrukcja IF wewnątrz innej instrukcji IF nie jest obsługiwana (patrz tabela poniżej).

BŁĄDPRAWDA
$IF R200==0
; G-Code: Zawartość
$IF R1==1
; G-Code: Zawartość
$ENDIF

; G-Code: Zawartość
$ENDIF
$IF R200==0
; G-Code: Zawartość
$ENDIF
$IF R1==1
; G-Code: Zawartość
$ENDIF
Instrukcja IF wewnątrz innej instrukcji IF jest niedozwolona!

Kompletny przykład kodu G

Teraz, gdy nauczyliśmy się programowania podprogramów, pętli, parametrów R i instrukcji IF, rozszerzymy nasz przykład o te polecenia.
Nasz kod G wygląda zatem następująco:

; Plik G-code: Produkcja prostokąta w dniu 15/01/2024 r.
; Aktualizacja z 23.01.2024

R3=3 ; Ustaw liczbę przebiegów w Y
R4=4 ; ustawiona liczba przebiegów w X
R5=110 ; X Przesunięcie dla nowego podprogramu zestaw
R6=110; Y Przesunięcie dla nowego podprogramu zestaw
R7=1 ; Określa, czy ma zostać utworzony okrąg, 1 - tak, 0 - nie.

; Wybrano narzędzie numer 1
T1
; Podnieść narzędzie z dużą prędkością na wysokość Z = 10 mm powyżej punktu zerowego.
G00 Z10
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X10 Y10
; Włącz wrzeciono robocze z M3 z prędkością 2000 obr.
M3 S2000
; Odczekać 5 sekund do osiągnięcia prędkości wrzeciona.
G04 H5

; Wymiarowanie względne (wymiarowanie przyrostowe) jest aktywne
G91

; Przypisanie wartości przez parametr R3
G25 Q=R3
; Przypisanie wartości przez parametr R4
G25 Q=R4
P1 ; Wywoływany jest podprogram 1
G00 X=R5 ; Względne przemieszczenie, zdefiniowane w parametrze R5
G26
G00 Y=R6 ; Względne przemieszczenie w X, zdefiniowane w parametrze R6
G00 X=-R5*R4 ; Względne przemieszczenie w X do pozycji początkowej
G26

; Koniec programu
M5 M30

; Początek podprogramu 1
M99 P1

$IF R7==1
; Przesuń do środka prostokąta
G00 X50 Y30
; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-12 F600
; Okrąg (d=20 mm, środek 60×60) zgodnie z ruchem wskazówek zegara
; posuw z prędkością 600 mm na minutę

G02 I0 J20
; Podnoszenie narzędzia z dużą prędkością: Z = 10 mm powyżej punktu zerowego
G00 Z12
; Przejście do pozycji X = 10 i Y = 10 z dużą prędkością
G00 X-50 Y-30
$ENDIF

; zagłębianie 2 mm w obrabiany przedmiot z prędkością posuwu 600 mm na minutę
G01 Z-12
; Trawers prostokąta 100×100 mm z prędkością posuwu 600 mm na minutę
G01 X100
G01 Y100
G01 X-100
G01 Y-100

; Podnoszenie narzędzia z dużą prędkością: Z = 10 mm powyżej punktu zerowego
G00 Z12
M99 ; Koniec podprogramu 1

Symulator G-Code cncGraF: Wykorzystanie podprogramów w G-Code

Kilka parametrów R, pętle i instrukcje IF są używane w kodzie G (patrz wyżej). Plik kodu G można bardzo łatwo zmienić za pomocą parametrów R. Parametry R R3 i R4 określają liczbę części w X i Y. Parametry R R5 i R6 określa odległość między częściami w X i Y, a ostatni parametr, R7, określa, czy okrąg ma być wyprowadzany, czy nie (patrz instrukcja IF w podprogramie).

Podsumowanie

W tym artykule na blogu przyjrzeliśmy się różnym aspektom programowania CNC. Zaczynając od podstaw, które zostały wyjaśnione w artykule
Programowanie CNC: poznaj kod G - szybko i łatwo‚ do zaawansowanych tematów, takich jak parametry R, pętle i instrukcje IF. W ten sposób objęliśmy zakres i głębię programowania CNC.

Mamy nadzieję, że ten artykuł na blogu pomoże ci osiągnąć pożądany sukces.
Z serdecznymi pozdrowieniami, Twój zespół BOENIGK-electronics


Opublikowano

w

,

przez