Pokaż wszystkie artykuły

Wykorzystanie makroprogramowania do tworzenia programów powtarzalnych cykli wiercenia

TRASA3 Blog

G-code Opublikowano: 2026-09-22 Autor: trasa3 9 wyswietlen
Wykorzystanie makroprogramowania do tworzenia programów powtarzalnych cykli wiercenia

Powtarzalne wzory otworów rzadko wymagają długiego programu NC. Jeśli współrzędne tworzą prosty rząd, często wystarczy standardowy cykl G81, przyrostowe pozycjonowanie G91 oraz liczba powtórzeń L. Prostokątna siatka, rodzina rozmiarów detali lub wzór z często zmieniającym się krokiem to inna sprawa: ręczna edycja każdej współrzędnej jest powolna i podatna na błędy. Makroprogramowanie pozwala przechować powtarzalną logikę w podprogramie, przekazując wymiary i liczbę otworów jako argumenty.

Poniższy przykład jest przeznaczony dla sterowania frezarki Haas z opcją makr. Składnia zmiennych, pętli i wywołań podprogramów różni się w zależności od sterowania CNC i konfiguracji oprogramowania. Zawsze należy sprawdzić instrukcję dla konkretnego sterowania, zweryfikować program graficznie i wykonać pierwszy bieg nad półfabrykatem.

Kiedy wystarcza standardowy cykl

G81 usuwa już większość powtarzalnego kodu w operacji wiercenia. Po aktywacji cyklu sterowanie wierci w każdej nowej pozycji X/Y, aż do odwołania cyklu komendą G80. Dokumentacja Haas pokazuje, jak przyrost ruchu w osi X i parametr L tworzą rząd równomiernie rozmieszczonych otworów:

G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90

To dobre rozwiązanie dla pojedynczego prostego rzędu. Pierwszy otwór powstaje w punkcie aktywacji G81, a linia z G91 X25. L4 dodaje cztery kolejne pozycje. Przeoczenie tego pierwszego wykonania cyklu może spowodować dodatkowy otwór lub przesunięcie wzoru.

Inne cykle standardowe obejmują różne operacje wiercenia. G82 dodaje zatrzymanie na dnie otworu, G83 służy do wiercenia z wybijaniem wióra, a G98 lub G99 sterują poziomem powrotu. Dobór cyklu musi odpowiadać narzędziu, głębokości, materiałowi i warunkom usuwania wiórów. Makro zarządza geometrią i powtarzalnością, nie zastępuje poprawnie dobranej technologii wiercenia.

Co daje makro parametryczne

Prostokątną siatkę wystarczy opisać dziewięcioma wartościami: współrzędne pierwszego otworu, kroki w obu osiach, liczba kolumn i wierszy, głębokość wiercenia, płaszczyzna R i posuw. Operator zmienia tylko jedną linię wywołania, a zagnieżdżone pętle obliczają współrzędne każdej pozycji.

W poniższym wywołaniu X i Y definiują początek siatki, I i J — krok, a A i B — liczbę kolumn i wierszy:

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

W sterowaniu Haas argumenty G65 przypisywane są do zmiennych lokalnych makra. W tym przykładzie X odpowiada #24, Y — #25, I — #4, J — #5, A — #1, B — #2, Z — #26, R — #18, F — #9. Przy każdym wywołaniu G65 makro otrzymuje nowy zestaw zmiennych lokalnych, więc ten sam kod można używać z różnymi parametrami.

Makro prostokątnej siatki

O09010 (DRILL RECTANGULAR PATTERN)

#30 = 0 (ROW INDEX)

WHILE [#30 LT #2] DO1
  #31 = 0 (COLUMN INDEX)

  WHILE [#31 LT #1] DO2
    #32 = [#24 + #31 * #4] (CURRENT X)
    #33 = [#25 + #30 * #5] (CURRENT Y)

    G90 G00 X#32 Y#33
    G81 Z#26 R#18 F#9
    G80

    #31 = #31 + 1
  END2

  #30 = #30 + 1
END1

M99

Zewnętrzna pętla liczy wiersze, wewnętrzna kolumny. Współrzędne obliczane są przez dodanie do punktu startowego iloczynu indeksu pozycji i kroku. Przy A4 i B3 makro wykona dwanaście otworów: cztery w każdym z trzech wierszy.

W tej instruktażowej wersji G81 jest aktywowany i anulowany dla każdej pozycji. To nieznacznie wydłuża czas wykonania, ale ogranicza stan cyklu do pojedynczej operacji. W wersji produkcyjnej cykl można utrzymać aktywny na wielu pozycjach, pod warunkiem starannej kontroli pierwszego wykonania, stanu modalnego i końcowego G80.

Program główny i bezpieczne stany

Makro nie powinno samodzielnie ustalać numeru narzędzia, korekt długości, obrotów czy przesunięcia roboczego. Te dane lepiej pozostawić w programie głównym, co ułatwia kontrolę przygotowania operacji.

O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30

Program ustawia płaszczyznę G17, pozycjonowanie absolutne G90, układ współrzędnych roboczych G54 i korekcję długości narzędzia G43 H01 przed wywołaniem makra. Bezpieczne wysokości, cofnięcie do zera maszyny i sekwencja uruchomienia wyposażenia muszą odpowiadać wymaganiom maszyny i zatwierdzonemu wzorcowi zakładowemu.

Kontrole niezbędne w makrze produkcyjnym

Kod parametryczny redukuje ręczną edycję, ale jeden błędny argument może zmienić cały wzór otworów. Makro produkcyjne powinno weryfikować dane wejściowe. Liczba wierszy i kolumn musi być dodatnia i całkowita, płaszczyzna R powinna znajdować się po bezpiecznej stronie powierzchni półfabrykatu, a obliczone pozycje X/Y muszą mieścić się w granicach detalu i zakresu ruchu maszyny.

  • Sprawdź zgodność liter argumentów z lokalnymi zmiennymi w konkretnym sterowaniu.
  • Upewnij się, że numery DO i END tworzą prawidłowe pary w zagnieżdżonych pętlach.
  • Oblicz z wyprzedzeniem ostatni punkt: X + (A − 1) × I oraz Y + (B − 1) × J.
  • Sprawdź znak Z, pozycję płaszczyzny R oraz tryb powrotu G98 lub G99.
  • Uruchom najpierw symulację graficzną, potem pojedynczy blok z ograniczonym posuwem szybkich przesunięć.
  • Przy obecności imadeł lub przycisków sprawdź nie tylko punkty wiercenia, ale i trajektorie przejazdów.

Przydatna jest też ochrona przed pominiętymi argumentami. W sterowaniach, gdzie nieprzypisana zmienna lokalna ma wartość pustą, makro może zgłosić alarm przed rozpoczęciem ruchu. Poprawna składnia testu pustej zmiennej i generowania alarmu powinna pochodzić z instrukcji sterowania CNC.

Kiedy makro naprawdę ułatwia pracę

Dla pojedynczej detali z pięcioma znanymi otworami zwykły cykl G81 i lista współrzędnych są często czytelniejsze. Makro jest przydatne, gdy wzór zmienia się według jasnej reguły: prostokątne lub okrągłe tablice, kilka rozmiarów tej samej detali, powtarzające się otwory pod różnymi przesunięciami roboczymi lub rodzina produktów z jedną technologią wiercenia.

Dobre makro ma jedno jasno określone zadanie i przejrzysty interfejs. Przeznaczenie każdego argumentu dokumentuje się w komentarzach programu lub na karcie ustawień, a przykład poprawnego wywołania przechowuje obok programu. Wtedy programista może zmieniać wymiary siatki i parametry obróbki bez edycji wzorów i liczników.

Haas udostępnia oficjalne materiały dotyczące mapowania argumentów G65 i zmiennych lokalnych oraz działania standardowych cykli wiercenia. Należy korzystać z tych źródeł jako punktu wyjścia i potwierdzać działanie względem wersji oprogramowania zainstalowanej na maszynie.

Wykorzystanie makroprogramowania do tworzenia programów powtarzalnych cykli wiercenia

Ten artykuł jest dostępny w następujących językach: