Modelele repetitive de găuri rareori necesită un program CNC lung. Dacă coordonatele formează un rând simplu, un ciclu standard G81, poziționarea incrementală G91 și numărul de repetări L pot fi suficiente. Însă pentru o rețea dreptunghiulară, o familie de dimensiuni ale piesei sau un model cu pas frecvent schimbat, editarea manuală a fiecărei coordonate devine lentă și predispusă la erori. Macroprogramarea păstrează logica repetitivă într-o subprogramă, iar dimensiunile și numărul de găuri sunt transmise ca argumente.
Exemplul de mai jos este destinat unui sistem CNC Haas cu opțiunea macro. Alocarea variabilelor, sintaxa ciclurilor și apelurile subprogramelor diferă în funcție de sistemul CNC și configurația software. Este esențial să verificați manualul pentru sistemul dvs. specific, să validați programul grafic și să faceți primul test deasupra semifabricatului.
Când este suficient un ciclu standard
G81 elimină deja majoritatea codului repetitiv dintr-o operație de găurire. Odată activat, sistemul de comandă execută găurirea în fiecare poziție nouă X/Y până când ciclul este anulat cu G80. Documentația Haas arată cum o deplasare incrementală pe axa X și un număr L pot genera un rând de găuri egal distanțate:
G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90Aceasta este o soluție potrivită pentru un singur rând drept. Prima gaură se realizează în punctul unde se activează G81, iar comanda G91 X25. L4 adaugă încă patru poziții. Pierderea evidenței acestei prime execuții poate genera o gaură în plus sau poate deplasa întregul model.
Alte cicluri standard acoperă operații diferite de găurire. G82 adaugă o pauză în fundul găurii, G83 este folosit pentru găurirea în trepte, iar G98 sau G99 controlează nivelul de retragere. Ciclul ales trebuie să corespundă sculei, adâncimii, materialului și condițiilor de evacuare a așchiilor. Macroprograma gestionează coordonatele și repetarea, dar nu înlocuiește procesul corect de găurire.
Ce adaugă o macroprogramă parametrizată
O rețea dreptunghiulară poate fi definită prin nouă valori: coordonatele primei găuri, pasul pe ambele axe, numărul de coloane și rânduri, adâncimea de găurire, planul R și avansul. Operatorul modifică o singură linie de apel, iar ciclurile imbricate calculează pozițiile fiecărei găuri.
În apelul următor, X și Y definesc originea rețelei, I și J definesc pasul, iar A și B numărul de coloane și rânduri:
G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.Pe un sistem Haas, argumentele G65 sunt mapate în variabile locale în macroprogramă. În acest exemplu, X corespunde lui #24, Y lui #25, I lui #4, J lui #5, A lui #1, B lui #2, Z lui #26, R lui #18, iar F lui #9. Fiecare apel G65 oferă un set nou de variabile locale, astfel încât aceeași macroprogramă poate rula cu dimensiuni și parametri diferiți.
Macroprogramă pentru rețea dreptunghiulară
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
M99Ciclul exterior numără rândurile, iar cel interior coloanele. Fiecare coordonată se calculează prin adunarea coordonatei de start cu produsul dintre indicele poziției și pas. Cu A4 și B3, macroprograma găurește douăsprezece găuri: câte patru în fiecare din cele trei rânduri.
În această versiune didactică, G81 este activat și anulat pentru fiecare poziție. Aceasta adaugă un mic overhead de execuție, dar limitează starea ciclului la o singură operație. O macroprogramă de producție poate menține ciclul activ pe mai multe poziții, cu condiția ca programatorul să controleze atent prima execuție, starea modală și anularea finală cu G80.
Program principal și stări sigure
Macroprograma nu trebuie să deducă numărul sculei, compensarea lungimii, turația sau decalajul de lucru. Păstrarea acestor valori în programul principal facilitează verificarea pregătirii operației.
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.
M30Acest program stabilește planul G17, poziționarea absolută G90, sistemul de coordonate de lucru G54 și compensarea lungimii sculei G43 H01 înainte de apelul macro. Înălțimile sigure, retragerea în coordonate mașină și secvența de pornire a echipamentului trebuie să respecte cerințele mașinii și șablonul aprobat în atelier.
Verificări necesare într-o macroprogramă de producție
Codul parametrizat reduce editarea manuală, dar o singură variabilă incorectă poate modifica întregul model de găuri. O macroprogramă de producție trebuie să valideze intrările. Numărul de rânduri și coloane trebuie să fie întregi pozitivi, planul R să fie pe partea sigură a suprafeței piesei, iar pozițiile X/Y calculate să rămână în limitele piesei și cursei mașinii.
- Verificați corespondența literelor argumentelor cu variabilele locale pentru sistemul CNC folosit.
- Asigurați-vă că fiecare DO are perechea corectă END în ciclurile imbricate.
- Calculați în prealabil ultima poziție: X + (A − 1) × I și Y + (B − 1) × J.
- Verificați semnul lui Z, poziția planului R și modul de revenire G98 sau G99.
- Rulați mai întâi simularea grafică, apoi executați pas cu pas cu avans rapid redus.
- În prezența menghinelor sau clemelor, verificați atât pozițiile de găurire, cât și traiectoriile de deplasare.
Este utilă și protecția împotriva argumentelor lipsă. Pe sisteme unde variabilele locale neatribuite au valoare nulă, macroprograma poate genera o alarmă înainte de orice mișcare. Sintaxa corectă pentru testarea variabilelor nule și generarea alarmei trebuie consultată în manualul sistemului CNC.
Când macroprograma economisește timp
Pentru o piesă unică cu cinci găuri cunoscute, un simplu ciclu G81 urmat de o listă de coordonate este adesea mai clar. Macroprograma devine utilă când modelul se schimbă după reguli clare: matrice dreptunghiulare sau circulare, mai multe dimensiuni ale aceleiași piese, găuri repetate sub diferite decalaje de lucru sau o familie de produse cu același proces de găurire.
O macroprogramă ușor de întreținut are o sarcină bine definită și o interfață clară. Fiecare argument este documentat în comentarii sau în fișa de reglaj, iar un exemplu valid de apel este păstrat împreună cu programul. Astfel, operatorul poate modifica dimensiunile rețelei și parametrii de prelucrare fără a edita formulele sau contoarele ciclurilor.
Haas oferă documentație oficială pentru maparea argumentelor G65 și variabilele locale și pentru ciclurile standard de găurire. Folosiți aceste resurse ca punct de plecare și verificați comportamentul în funcție de versiunea software instalată pe mașină.