Zobrazit všechny články

Použití makroprogramování pro tvorbu NC programů opakujících se vrtacích cyklů

TRASA3 Blog

G-code Publikováno: 2026-09-22 Autor: trasa3 7 zobrazení
Použití makroprogramování pro tvorbu NC programů opakujících se vrtacích cyklů

Opakující se vzory děr obvykle nevyžadují rozsáhlý NC program. Pokud souřadnice tvoří jednoduchý řádek, často stačí standardní cyklus G81, přírůstkové polohování G91 a počet opakování L. Při vrtání pravoúhlé sítě, rodiny rozměrů dílů nebo při časté změně kroku je však úprava každé souřadnice ručně pomalá a náchylná k chybám. Makroprogramování umožňuje uchovat opakující se logiku v jedné podprogramu a předávat rozměry a počet děr jako parametry.

Ukázka níže je určena pro frézovací řízení Haas s podporou maker. Syntaxe proměnných, cyklů a volání podprogramů se liší podle CNC systému a konfigurace softwaru. Vždy je třeba zkontrolovat manuál konkrétního řízení, ověřit program graficky a první běh provést nad obrobkem.

Kdy stačí standardní cyklus

G81 již výrazně redukuje opakující se kód při vrtání. Po aktivaci cyklu řídicí systém provádí vrtání na každé nové pozici v osách X a Y, dokud není cyklus zrušen příkazem G80. Dokumentace Haas ukazuje příklad, kdy přírůstek po ose X a parametr L vytvoří řadu stejně vzdálených děr:

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

Tento způsob je vhodný pro jeden přímý řádek děr. První díra je vyvrtána v místě aktivace G81, řádek s G91 X25. L4 přidá čtyři další pozice. Ztráta přehledu o prvním vrtání může způsobit navíc díru nebo posun celého vzoru.

Standardní cykly pokrývají i jiné operace. G82 přidává zdržení na dně díry, G83 slouží pro vrtání s výstupem vrtáku, G98 a G99 určují úroveň návratu. Výběr cyklu musí odpovídat nástroji, hloubce, materiálu a odvodu třísek. Makro řídí geometrii a opakování, nenahrazuje správně zvolenou technologii vrtání.

Co přináší parametrické makro

Pro pravoúhlou síť stačí předat devět hodnot: souřadnice první díry, krok po obou osách, počet sloupců a řádků, hloubku vrtání, rovinu R a posuv. Obsluha změní jen jeden řádek volání, zatímco vnořené cykly vypočítají souřadnice každého bodu.

V následujícím volání X a Y určují začátek sítě, I a J krok, A a B počet sloupců a řádků:

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

Na řízení Haas jsou argumenty G65 mapovány do lokálních proměnných makra. V tomto příkladu odpovídá X proměnné #24, Y #25, I #4, J #5, A #1, B #2, Z #26, R #18 a F #9. Každé volání G65 poskytuje nový soubor lokálních proměnných, takže stejný kód lze použít s různými parametry.

Makro pro pravoúhlou síť

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

Vnější cyklus počítá řádky, vnitřní sloupce. Souřadnice se vypočítají jako počáteční bod plus číslo pozice vynásobené krokem. Při A4 a B3 makro vyvrtá dvanáct děr: čtyři v každém ze tří řádků.

V této výukové verzi se G81 aktivuje a ruší na každé pozici. To mírně prodlužuje čas běhu, ale stav cyklu je jasně omezen na jednu operaci. V produkční verzi lze cyklus udržet aktivní přes více pozic, pokud programátor pečlivě kontroluje první spuštění, modální stav a ukončení G80.

Hlavní program a bezpečné stavy

Makro by nemělo samo odhadovat číslo nástroje, korekci délky, otáčky nebo pracovní posun. Tyto údaje je lepší nechat v hlavním programu, aby bylo snadnější kontrolovat přípravu operace.

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

Tento program nastaví rovinu G17, absolutní programování G90, pracovní souřadnicový systém G54 a korekci délky nástroje G43 H01 před voláním makra. Bezpečné výšky, návrat do nulové pozice stroje a sekvence zapnutí zařízení musí odpovídat požadavkům stroje a schválenému firemnímu vzoru.

Kontroly, které by mělo produkční makro obsahovat

Parametrický kód snižuje ruční úpravy, ale jedna chybná proměnná může změnit celý vzor děr. Produkční makro by mělo validovat vstupy. Počet řádků a sloupců musí být kladné celé číslo, rovina R musí být na bezpečné straně povrchu obrobku a vypočítané souřadnice X a Y musí zůstat v rámci obrobku a rozsahu pohybu stroje.

  • Ověřte přiřazení argumentů k lokálním proměnným pro konkrétní řízení.
  • Zkontrolujte, že čísla DO a END tvoří správné páry ve vnořených cyklech.
  • Předem vypočítejte poslední bod: X + (A − 1) × I a Y + (B − 1) × J.
  • Zkontrolujte znaménko Z, polohu roviny R a režim návratu G98 nebo G99.
  • Nejprve spusťte grafickou simulaci, pak jednotlivé bloky s omezenou rychlostí rychlých přesunů.
  • Pokud jsou přítomny svěráky nebo upínky, zkontrolujte nejen body vrtání, ale i trajektorie přesunů.

Užitečná je také ochrana proti chybějícím argumentům. Na řízeních, kde nezadané lokální proměnné mají nulovou hodnotu, může makro před pohybem vyvolat alarm. Správnou syntaxi kontroly prázdné proměnné a hlášení chyby je třeba čerpat z manuálu daného CNC systému.

Kdy makro skutečně usnadní práci

Pro jednorázový díl s pěti známými otvory je často přehlednější běžný G81 cyklus s výčtem souřadnic. Makro se hodí, když se vzor pravidelně mění podle jasných pravidel: pravoúhlé či kruhové pole, několik velikostí stejného dílu, opakující se otvory pod různými pracovními posuny nebo rodina výrobků se společnou technologií vrtání.

Dobré makro má jasně vymezený úkol a přehledné rozhraní. Účel každého argumentu je popsán v komentářích nebo v přípravné dokumentaci a příklad správného volání je uložen vedle programu. Nastavovač tak může měnit rozměry sítě a parametry obrábění bez úprav vzorců a čítačů.

Oficiální dokumentace Haas samostatně popisuje předávání argumentů přes G65 a lokální proměnné a také práci standardních vrtacích cyklů. Tyto zdroje je vhodné použít jako výchozí bod a ověřit chování podle verze softwaru na konkrétním stroji.

Použití makroprogramování pro tvorbu NC programů opakujících se vrtacích cyklů

Tento článek je k dispozici v následujících jazycích: