
Cum să crești fiabilitatea programelor de prelucrare cu funcția G28
Functia G28
Unul din elementele de siguranță care se pot introduce în programele de prelucrare este functia G28 (Zero Return Position): întoarcerea la punctul de referință al centrului de prelucrare.
Punctul de referință al mașinii, sau Zero Mașină, este un element geometric foarte important; este, de fapt, singurul element fix din spațiul de lucru al mașinii. În cazul în care se produce o coliziune, se decalibrează mașina sau pur și simplu se oprește mașina la sfârșitul zilei atunci, la pornire, prima operație care trebuie executată este deplasarea manuală a axelor în punctul de referință.
Deasemenea, G28 este punctul de referință la setarea originii de lucru a pieselor, dispozitivelor, compensărilor de scule respectiv, în cazul centrelor de strunjit, a compensărilor de geometrie.
Deși funcția G28, una din cele mai neînțelese funcții din limbajul de programare compatibil FANUC, este deasemenea una din cele mai complicate, în acest articol vom încerca să clarificăm putin confuzia legată de aceasta.
Funcția G28 este o comandă în doi pași, oarecum seamăna cu un ciclu predefinit.
La rularea acestei comenzi se vor executa două instrucțiuni separate, mai întâi mașina va deplasa axa/axele chemate cu avans rapid într-o poziție intermediară, după care va deplasa axa/axele în punctul de referință, lucru care se va indica prin semnal luminos pe panoul de control.
Dacă era activată funcția de rulare Pas cu Pas (Single Block), va trebui apăsat butonul de Rulare (Cycle Start) de două ori, câte o dată pentru fiecare comandă a funcției G28.
Elementul care provoacă confuzia la majoritatea programatorilor este poziția intermediară.
In modul de programare Absolut (preferat de 95% din programatorii NC) poziția intermediară este specificată în raportat la punctul de Zero Piesă, spre deosebire de modul de programare Incremental unde comenzile sunt specificate raportat la poziția curentă a sculei. Poate cea mai bună metoda de a explica acest fenomen este prin exemple clare.
Centre de Frezare CNC
Ex1: G91 G28 Z0
Pas 1: Mașina se va deplasa în poziția intermediară care în mod incremental are valoarea de zero (0) raportat la poziția curentă sculei pe axele X, Y si Z.
Pas 2: Mașina se va deplasa în punctul de referință doar pe axa Z
Notă: axele X și Y nu se mișcă. In acest caz comandăm deplasarea continuă a axei Z în punctul 0.
Ex2: G91 G28 X0 Y0 Z0
Pas 1: Mașina se va deplasa în poziția intermediară care în mod incremental are valoarea de zero (0) raportat la poziția curentă sculei pe axele X, Y și Z.
Pas 2: Mașina se va deplasa în punctul de referință pe axele X, Y și Z (deodata)
Notă: această mișcare nu este interpolată astfel încât axele nu vor ajunge în același timp

Ex3: G91 G28 X0 Y0 Z30.0
Pas 1: Mașina se va deplasa în poziția intermediară care în mod incremental are valoarea de zero (0) raportat la poziția curentă sculei pe axele X, Y dar pe axa Z se va ridica 30 mm pană la punctul intermediar (se pretează mai ales dacă am efectuat o degroșare și trebuie să ridic scula la un plan de siguranță).
Pas 2: Mașina se va deplasa în punctul de referință pe axele X, Y si Z (deodată)
Notă: această mișcare nu este interpolată astfel încât axele nu vor ajunge în același timp
ATENȚIE! Uite ce se poate întâmpla dacă chemăm funcția G28 în mod Absolut de programare.
Ex1: G28 X0 Y0 Z0
Presupunem că este activată funcția G90 pentru programare în sistem Absolut
Pas 1: Mașina se va deplasa în poziția de Zero Program/Piesa care din start înseamnă o coliziune cu piesa la avans rapid.
Pas 2: Mașina se va deplasa în punctul de referință pe axele X, Y si Z (deodată), evident dacă mai poate
Nota 1: După o coliziune în deplasare rapidă probabil s-au activat frânele electromagnetice blocând axele
Nota 2: Probabil s-a rupt freza și s-a mișcat piesa pe dispozitiv sau dispozitivul pe masa mașinii
Centre de Strunjire CNC
In cazul centrelor de Strunjire CNC programarea în mod incremental se efectuează apelând axele X, Y și Z prin adresele U, V si W
Ex1: G28 W0
Pas 1: Mașina se va deplasa în poziția intermediară care în mod incremental are valoarea de zero (0) raportat la poziția curentă sculei pe axele X si Z.
Pas 2: Mașina se va deplasa în punctul de referință doar pe axa Z
Notă: axa X nu se mișcă. In acest caz comandăm deplasarea continuă a axei Z în punctul 0.
Ex2: G28 U0 W0
Pas 1: Mașina se va deplasa în poziția intermediara care în mod incremental are valoarea de zero (0) raportat la poziția curentă sculei pe axele X și Z.
Pas 2: Mașina se va deplasa în punctul de referință pe axele X si Z (deodată)
Notă: această mișcare nu este interpolată astfel încât axele nu vor ajunge în același timp
Ex3: G28 U50. W0
Pas 1: Mașina se va deplasa în poziția intermediara care în mod incremental are valoarea de zero (0) raportat la poziția curentă sculei pe axa Z dar pe axa X se va ridica 30 mm pană la punctul intermediar (se pretează mai ales dacă am efectuat o degroșare și trebuie să ridic scula la un plan de siguranță).
Pas 2: Mașina se va deplasa în punctul de referință pe axele X și Z (deodată)
Nota 1: această mișcare nu este interpolată astfel încât axele nu vor ajunge în același timp
Nota 2: de regulă la strung se calculează 50 mm în diametru, deci o deplasare efectivă de 15 mm a axei.
ATENȚIE! Uite ce se poate întâmpla dacă chemăm funcția G28 în mod Absolut de programare.
Ex1: G28 X0 Z0
Dat fiind faptul că am apelat adresele X și Z în locul a U și W, înseamnă că suntem în mod de programare în sistem Absolut
Pas 1: Mașina se va deplasa în poziția de Zero Program/Piesa care din start înseamnă o coliziune cu piesa la avans rapid.
Pas 2: Mașina se va deplasa în punctul de referință pe axele X, Y si Z (deodată), evident dacă mai poate
Nota 1: După o coliziune în deplasare rapidă probabil s-au activat frânele electromagnetice blocând axele
Nota 2: Probabil s-a rupt cuțitul și s-a mișcat piesa în universal
Limbajul de programare ISO oferă multe unelte pentru creșterea fiabilității programelor de prelucrare. Cunoașterea lor este în avantajul Operatorului și Programatorului CNC mai ales în reducerea costurilor cât și pentru scăderea timpului de prelucrare.
Pentru a avea control deplin asupra procesului de prelucrare trebuie ca atât operatorul cât și programatorul CNC să stăpânească uneltele limbajului de programare.
Dacă vrei să înveți programare CNC (chiar și dacă ești la nivelul 0 ) te invit la Cursul de Programare CNC pentru Operatori unde vom aborda atât acest subiect cât și alte tehnici de creștere a randamentului procesului de prelucrare pe mașini unelte CNC.