Introducere
Ai primit un program G-code de la un client. L-ai transferat pe masina. Masina afiseaza o eroare la prima linie.
Nu e un bug. E un dialect G-code diferit.
Exista zeci de implementari de G-code. Toate pornesc de la acelasi standard ISO 6983. Dar fiecare producator de CNC a adaugat propriile extensii, comenzi proprietare si conventii.
Un program scris pentru Fanuc nu ruleaza nemodificat pe Siemens. Un program pentru GRBL nu ruleaza pe Haas.
Ce este G-code si de ce exista mai multe dialecte
G-code (ISO 6983 / EIA RS-274D) este limbajul standard pentru controlul masinilor CNC. A aparut in anii '60. A fost adoptat de toti producatorii de CNC.
Problema: standardul original era minimal. Fiecare producator de control numeric — Fanuc, Siemens, Heidenhain, Mazak — a adaugat propriile comenzi pentru functii specifice masinilor lor.
Rezultatul: un G-code de baza compatibil in mare parte intre toate sistemele, plus extensii proprietare care nu sunt portabile.
Fanuc — standardul de facto al industriei
Fanuc este cel mai raspandit sistem CNC din lume. Marea majoritate a masinilor CNC de frezare si strunjire din ultimii 30 de ani folosesc un control bazat pe Fanuc sau compatibil cu Fanuc.
Caracteristici distinctive:
- Ciclele fixe standard: G81 (gaurire), G83 (peck drilling), G84 (filetare), G73 (gaurire cu cip)
- Apelul de scula:
T01 M06 - Originea de lucru: G54–G59 (6 origini standard)
- Subprograme:
M98 P1000 L3(apel subprogram numarul 1000, de 3 ori) - Compensare raza scula: G41/G42
Variante Fanuc compatibile: Haas (SL, VF, ST), Mazak Mazatrol (modul EIA/ISO), majoritatea masinilor taiwaneze si chineze low-cost.
Cate masini folosesc Fanuc sau compatibil: estimat 60–70% din parcul mondial de masini CNC.
Haas — Fanuc extins cu specificitati americane
Haas Automation foloseste un control propriu, dar cu sintaxa foarte apropiata de Fanuc standard. Programele Fanuc ruleaza in general pe Haas fara modificari majore.
Diferente importante:
- Subprogramele se apeleaza altfel:
G65 P9010(macrocomenzi) - Haas are extensii proprietare pentru palpare si compensare termica
- Ciclele de filetare rigida au parametri diferiti fata de Fanuc standard
Regula practica: daca ai un program Fanuc si masina e Haas, incearca direct. 90% din programe ruleaza fara modificari.
Siemens SINUMERIK — sintaxa fundamental diferita
Siemens SINUMERIK (840D, 828D, 808D) este dominant in Europa si in industria auto. Sintaxa sa difera semnificativ de Fanuc.
Diferente majore fata de Fanuc:
| Functie | Fanuc | Siemens SINUMERIK |
|---|---|---|
| Apel scula | T01 M06 | T1 D1 |
| Origine de lucru | G54 | G54 (similar, dar cu diferente) |
| Ciclu de gaurire | G81 X.. Y.. Z.. | CYCLE81(RTP, RFP, SDIS, DP, DPR) |
| Subprogram | M98 P.. | L.. (nume subprogram) |
| Compensare raza | G41/G42 | G41/G42 + OFFN |
SINUMERIK ShopMill / ShopTurn: Siemens are si un mod de programare conversationala, complet diferit de G-code clasic.
Un program Fanuc NU ruleaza pe Siemens fara retranslatare. Ciclele fixe Siemens au parametri complet diferiti fata de Fanuc.
Heidenhain — programare conversationala nativa
Heidenhain TNC (530, 640, 7) este sistemul standard pentru masinile de frezare de precizie. Are propriul limbaj de programare conversational, complet diferit de G-code standard.
Heidenhain poate importa si programe G-code (modul DIN/ISO), dar cu limitari. Pentru masini Heidenhain, programarea nativa in limbajul conversational e preferata.
GRBL — pentru masinile CNC DIY si de mici dimensiuni
GRBL este un firmware open-source pentru microcontrolere Arduino/ESP32. E folosit pe routere CNC DIY, plotere, masini de gravat laser, masini de decupat foam.
Subset de G-code implementat: G0, G1, G2, G3, G17–G19, G28, G30, G90, G91.
Ce nu suporta GRBL:
- Ciclele fixe (G81, G83, G84) — nu exista
- Compensare raza scula G41/G42 — nu exista
- Subprograme — nu exista
- Schimbarea automata a sculei M06 — nu exista (sau cu firmware special)
LinuxCNC — control CNC open-source pentru masini industriale
LinuxCNC (fostul EMC2) ruleaza pe Linux si controleaza masini CNC industriale reconvertite.
Implementare RS274NGC — similara cu Fanuc standard, cu diferente in ciclele fixe.
Subprogramele folosesc O + numar (de exemplu O100 call).
Mazak — Mazatrol si modul EIA/ISO
Mazak Mazatrol este un sistem conversational proprietar. Masinile Mazak pot rula si in modul EIA/ISO (G-code Fanuc-like), dar cu specificitati proprii.
Cum afecteaza dialectul alegerea postprocesorului CAM
Postprocesorul este componenta care traduce toolpath-ul din CAM (Fusion 360, Mastercam, SolidCAM etc.) in G-code specific masinii tale.
Regula de aur: postprocesorul trebuie ales exact pentru controlul masinii tale, nu generic pentru „Fanuc" sau „Siemens".
Probleme comune de postprocesor:
- Ciclele fixe generate diferit fata de ce accepta controlerul
- Antetul programului (safety block) incompatibil
- Numerotarea blocurilor (N100, N110...) acceptata sau nu
- Modul de apel al subprogramelor
Cum vizualizezi un program inainte de a sti exact ce dialect e
Daca primesti un program G-code fara informatii despre dialectul de origine, un NC Viewer te ajuta sa identifici rapid comenzile nestandard.
Comenzile necunoscute apar marcate in viewer.
Daca programul contine CYCLE83 sau SPOS, e Siemens.
Daca contine G65, e Fanuc cu macrocomenzi.
Daca nu contine cicluri fixe deloc si e simplu, e probabil GRBL sau LinuxCNC.
NC Viewer-ul din MKWork suporta Fanuc, Haas, Siemens SINUMERIK, LinuxCNC, GRBL, Mazak (EIA/ISO) si Heidenhain (mod DIN/ISO). Fisierul nu se incarca pe server — ramane pe calculatorul tau.
Concluzie
Dialectele G-code nu sunt o problema daca stii cu ce lucrezi. Problema apare cand primesti un program de la un furnizor sau client fara sa stii ce masina l-a generat.
Verifici rapid in NC Viewer ce comenzi contine, identifici dialectul si stii ce trebuie modificat inainte de setup.
Testeaza MKWork Manager cu editor G-code si NC Viewer integrat — trial gratuit 7 zile, fara card.