Opakujúce sa otvory zvyčajne nevyžadujú dlhý NC program. Ak sú súradnice v jednoduchom rade, často stačí štandardný cyklus G81, prírastkové riadenie G91 a počet opakovaní L. Pri pravouhlej mriežke otvorov, rôznych veľkostiach dielov alebo často meniacom sa kroku je však ručné upravovanie kódu zdĺhavé a náchylné na chyby. Makroprogramovanie umožňuje uložiť opakujúcu sa logiku do podprogramu a rozmery spolu s počtom otvorov odovzdávať ako parametre.
Nižšie je uvedený príklad pre frézovacie riadenie Haas s podporou makier. Syntax premenných, cyklov a volania podprogramov sa líši podľa riadiaceho systému a aktivovaných možností. Pred spustením je potrebné skontrolovať manuál pre konkrétny riadiaci systém, overiť program graficky a vykonať prvý test nad obrobkom.
Kedy stačí štandardný cyklus
G81 už výrazne zjednodušuje opakujúci sa kód vŕtania. Po aktivácii cyklu riadenie vŕta v každej novej pozícii po osiach X a Y, až kým cyklus nezruší príkaz G80. V dokumentácii Haas je príklad, kde prírastok po osi X a parameter L vytvoria rad rovnomerne vzdialených otvorov:
G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90Tento spôsob je vhodný pre jeden priamy rad otvorov. Prvý otvor sa vykoná tam, kde sa aktivuje G81, a riadok s G91 X25. L4 pridá ďalšie štyri pozície. Nesprávny počet opakovaní ľahko spôsobí nadbytočný otvor alebo posun celého vzoru.
Štandardné cykly ponúkajú aj iné možnosti. G82 pridáva zdržanie na dne otvoru, G83 slúži na vrtnutie s prerušovaním, G98 a G99 určujú úroveň návratu. Výber cyklu musí zodpovedať nástroju, hĺbke, materiálu a podmienkam odvádzania triesok. Makro riadi geometriu a opakovanie, nenahrádza správne zvolenú technológiu vŕtania.
Čo prináša parametrické makro
Pre pravouhlú mriežku stačí zadať deväť hodnôt: súradnice prvého otvoru, krok po oboch osiach, počet stĺpcov a riadkov, hĺbku vŕtania, rovinu R a posuv. Operátor mení len jeden riadok volania, vnorené cykly vypočítajú súradnice každého otvoru.
V nasledujúcom volaní X a Y určujú začiatok mriežky, I a J krok, A a B počet stĺpcov a riadkov:
G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.Na riadení Haas sú argumenty G65 priradené do lokálnych premenných makroprogramu. V tomto príklade X zodpovedá #24, Y #25, I #4, J #5, A #1, B #2, Z #26, R #18 a F #9. Pri každom volaní G65 riadenie poskytuje makru nový súbor lokálnych premenných, takže rovnaký kód možno použiť s rôznymi parametrami.
Makro pre pravouhlú mriežku
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
M99Vonku sa počítajú riadky, vo vnútri stĺpce. Aktuálna súradnica vzniká pripočítaním počiatočnej hodnoty a súčinu indexu pozície s krokom. Pri A4 a B3 makro vyvŕta dvanásť otvorov: štyri v každom z troch riadkov.
V tomto výučbovom príklade sa G81 aktivuje a ruší pre každý otvor zvlášť. Program je síce o niečo pomalší, ale stav cyklu je jasne ohraničený jednou operáciou. V produkčnej verzii možno cyklus udržať aktívny cez všetky pozície, ale programátor musí dôkladne kontrolovať prvé spustenie, modálny stav a zrušenie G80.
Hlavný program a bezpečné stavy
Makro by nemalo samo odhadovať číslo nástroja, korekciu dĺžky, otáčky vretena ani pracovné posunutie. Tieto údaje je lepšie nechať v hlavnom programe, aby ich bolo jednoduchšie skontrolovať pri nastavení operácie.
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.
M30Program nastavuje rovinu G17, absolútne programovanie G90, pracovný súradnicový systém G54 a korekciu dĺžky nástroja G43 H01 pred volaním makra. Bezpečné výšky, návrat do nulovej polohy stroja a zapínanie zariadení musia zodpovedať stroju a zaužívanému firemnému postupu.
Kontroly, ktoré by malo produkčné makro obsahovať
Parametrický kód znižuje ručné úpravy, no jedna nesprávna hodnota môže zmeniť celý vzor otvorov. Produkčné makro by malo kontrolovať vstupy. Počet riadkov a stĺpcov musí byť kladné celé číslo, rovina R musí byť na bezpečnej strane povrchu obrobku a vypočítané súradnice X a Y musia zostať v hraniciach obrobku a rozsahu pohybu stroja.
- Overte priradenie písmen argumentov k lokálnym premenným pre konkrétne riadenie.
- Skontrolujte, či čísla DO a END v cykloch tvoria správne páry.
- Vopred vypočítajte posledný bod: X + (A − 1) × I a Y + (B − 1) × J.
- Skontrolujte znamienko Z, polohu roviny R a režim návratu G98 alebo G99.
- Spustite najskôr grafickú simuláciu, potom krok po kroku s obmedzeným rýchlym posuvom.
- Ak sú prítomné zveráky alebo upínače, skontrolujte nielen body vŕtania, ale aj prechody medzi nimi.
Užitočná je aj ochrana proti vynechaným argumentom. Na riadeniach, kde nezadané lokálne premenné majú nulovú hodnotu, môže makro pred pohybom vyvolať alarm. Správnu syntax kontroly prázdnej premennej a generovania alarmu treba čerpať z manuálu daného CNC riadenia.
Kedy makro naozaj uľahčuje prácu
Pre jednorazový diel s piatimi známymi otvormi je často prehľadnejší obyčajný cyklus G81 s výpisom súradníc. Makro sa oplatí, keď sa vzor pravidelne mení podľa jasných pravidiel: pravouhlé alebo kruhové polia, viac veľkostí jedného dielu, opakujúce sa otvory pod rôznymi pracovnými posunmi alebo rodina výrobkov so spoločnou technológiou vŕtania.
Dobre udržiavateľné makro má úzku špecializáciu a jasné rozhranie. Účel každého argumentu je zdokumentovaný v komentároch alebo v samostatnom nastavení, príklad správneho volania je uložený spolu s programom. Nástrojar tak môže meniť rozmery mriežky a parametre spracovania bez úprav vzorcov a počítadiel.
Oficiálna dokumentácia Haas osobitne popisuje prenos argumentov cez G65 a lokálne premenné a tiež prácu so štandardnými cyklami vŕtania. Tieto zdroje treba použiť ako východiskový bod a overiť ich podľa verzie softvéru konkrétneho stroja.