KWALIFIKACJA ELM6 - TEST WIEDZY NR 3

PYTANIE NR 38.
Oto fragment kodu napisany w języku G-code, który jest używany do sterowania maszynami CNC:
G90
G21
G00 X0 Y0 Z0
G01 Z-1 F100
G01 X50
G01 Y50
G01 X0
G01 Y0
G00 Z0
M30
Jaka operacja jest wykonywana w linii z kodem "G01 X50"?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W linii G01 X50 wykonywany jest ruch liniowy (roboczy) w osi X do współrzędnej 50 w aktualnych jednostkach (tu mm, bo aktywne jest G21). Posuw F jest parametrem modalnym, więc obowiązuje dalej po ustawieniu w poprzedniej linii G01 Z-1 F100, dopóki nie zostanie zmieniony.

Pełne wyjaśnienie:

Komenda G01 oznacza interpolację liniową, czyli ruch narzędzia (lub stołu – zależnie od kinematyki maszyny) po linii prostej do zadanych współrzędnych z zadanym posuwem. W pokazanym fragmencie programu najpierw ustawiany jest tryb absolutny G90 (pozycje X/Y/Z podaje się jako wartości docelowe w układzie współrzędnych), a następnie jednostki G21 (milimetry).

Po dojechaniu szybko do punktu bazowego G00 X0 Y0 Z0 następuje wejście w materiał ruchem roboczym: G01 Z-1 F100. Ta linia ma dwa skutki: (1) zadaje ruch w osi Z do wartości -1, (2) ustawia posuw F100. W większości sterowań CNC posuw F jest modalny, czyli pozostaje aktywny w kolejnych blokach programu, aż do następnej zmiany wartości F.

Dlatego w linii G01 X50 sterowanie wykona ruch liniowy tylko w osi X do współrzędnej 50, a prędkość/posuw będzie taki, jaki został ostatnio zadany (tu: 100). Nie jest to ruch w osi Y ani obrót – te operacje wymagałyby innych osi/parametrów lub zupełnie innych poleceń.

Dlaczego pozostałe odpowiedzi są błędne?

  • Stwierdzenie, że posuw jest "podawany w kolejnej linii", jest typową pomyłką związaną z nieuwagą: parametr F obowiązuje od miejsca zadania i nie trzeba go powtarzać w każdej linii.
  • "Przesunięcie wzdłuż osi Y" nie zgadza się z zapisem, bo w tym bloku występuje wyłącznie X50.
  • "Obrót o 50 stopni" nie wynika z G01; do ruchów obrotowych używa się osi obrotowych (np. A/B/C) albo funkcji wrzeciona, a nie parametru X.

Wskazówka egzaminacyjna: najpierw rozpoznaj typ ruchu (G00 szybki, G01 roboczy), potem sprawdź tryb współrzędnych (G90/G91) i na końcu ustal, czy posuw F został już wcześniej ustawiony.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
G01 oznacza ruch liniowy z posuwem roboczym (interpolację liniową). Maszyna jedzie po prostej do zadanych współrzędnych osi, a prędkość ruchu wynika z parametru posuwu F (aktualnie ustawionego w programie).
W wielu sterowaniach CNC parametr F jest modalny: po jednorazowym ustawieniu obowiązuje w kolejnych blokach z G01/G02/G03, aż do zmiany. Nie trzeba go powtarzać w każdej linii, ale trzeba uważać, jaki F jest aktualnie aktywny.
W danym bloku podano wyłącznie współrzędną X50, więc sterowanie planuje ruch tylko tej osi (pozostałe osie utrzymują aktualne wartości). Gdyby miał być ruch także w Y lub Z, w tej samej linii pojawiłyby się np. Y... lub Z....
G90 ustawia programowanie absolutne: wartości X/Y/Z są współrzędnymi docelowymi w układzie odniesienia, a nie przyrostem od bieżącej pozycji. To ważne przy interpretacji, czy zapis X50 oznacza "dojechać do 50", czy "przesunąć o 50".
G21 ustawia jednostki w milimetrach. Dzięki temu X50 oznacza współrzędną 50 mm w osi X (w trybie G90). Gdyby było G20, wartości byłyby w calach, co całkowicie zmienia interpretację skali ruchu.
G00 to ruch szybki (pozycjonowanie) wykonywany możliwie najszybciej, zwykle poza skrawaniem. G01 to ruch roboczy z kontrolowanym posuwem F, używany do skrawania lub kontrolowanego zagłębiania narzędzia.
To zależy od trybu: przy G90 jest to dojazd do współrzędnej 50 (absolutnie), a przy G91 byłby to ruch o 50 (przyrostowo). W pokazanym kodzie aktywne jest G90, więc chodzi o dojazd do X=50.
Najczęściej myli się tryb G90/G91, zapomina o jednostkach G20/G21 oraz błędnie zakłada, że posuw F działa tylko w jednej linii. Częsty jest też błąd nieuwagi: odczytanie złej osi (X zamiast Y).
M30 zwykle oznacza zakończenie programu i przewinięcie do początku (rewind). Stosuje się ją na końcu, aby sterowanie poprawnie zamknęło wykonanie cyklu programu. Dokładne znaczenie może zależeć od producenta sterowania, ale funkcja "koniec programu" jest typowa.
Stosuje się symulację w oprogramowaniu, tryb dry-run, pojedyncze wykonywanie bloków (single block) i obniżenie prędkości posuwu/override. W praktyce najpierw weryfikuje się dojazdy G00 i poziomy Z, a dopiero potem ruchy G01 w obszarze skrawania.
info

Około 62% zdających odpowiada poprawnie na to pytanie. średnie

Specjaliści zwracają uwagę: "W linii G01 X50 wykonywany jest ruch liniowy (roboczy) w osi X do współrzędnej 50 w aktualnych jednostkach (tu mm, bo aktywne jest G21)."

Źródła:

  • NIST, "RS274NGC Interpreter - Version 3" (opis G00/G01, modalność), dostęp: https://www.nist.gov (wyszukaj dokument RS274NGC Interpreter) - accessed 2026-03-01
  • LinuxCNC Documentation, "G-code Reference" (G0, G1, G90, G20/G21, feed rate), https://linuxcnc.org/docs/ - accessed 2026-03-01
  • Haas Automation, "Mill Operator’s Manual" / sekcja programowania (G01, posuw F jako feedrate), https://www.haascnc.com/service/manual.html - accessed 2026-03-01

Materiały:

  • Dokumentacja sterowania CNC używanego w pracowni (lista kodów G/M i ich modalność)
  • Materiały dydaktyczne z podstaw programowania CNC (G00/G01, G90/G91, G20/G21)
  • Ćwiczenia: symulacja programu w oprogramowaniu CAM/symulatorze G-code

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego