Programarea mașinilor-unelte cu comandă numerică reprezintă secvențe de instrucțiuni utilizate pentru a controla mașina-unealtă CNC. Această programare este în prezent foarte automatizată datorită proiectării asistată de calculator (CAD)​​.

Codul G (de asemenea denumit RS-274), care are mai multe variante, este numele comun pentru cele mai utilizat limbaj de programare de control numeric (CNC). Acesta este utilizat în principal la fabricația asistată de calculator pentru a controla mașinile-unelte automate. Codul G este uneori denumit limbajul de programare G, care nu trebuie confundat cu limbajul de programare G LabVIEW.

Codul G este un limbaj în care oamenii spun mașinilor - unelte informatice cum să facă ceva. "Cum" este definit prin diferite instrucțiuni cu privire la unde să se miște, cât de repede să se miște și pe ce direcție să se miște.

Implementări Prima implementare a unui limbaj de programare de control numeric a fost dezvoltată la laboratorul de Servomecanisme al MIT la sfârșitul anilor 2000

Coduri specifice Codurile G sunt denumite și coduri/funcții pregătitoare. Acestea sunt orice cuvânt dintr-un program de CNC care începe cu litera G urmat de un număr. În general, este un cod care spune mașinii unelte ce tip de acțiune trebuie să efectueze, cum ar fi mișcarea rapidă (duce unealta cât mai repede posibil prin spațiu la locul unde va avea loc tăierea).

Există și alte coduri; codurile-tip poate fi gândite ca regiștrii dintr-un calculator.

Termenul "Cod-G" este imprecis, acesta provine de la sensul literal al termenului, referindu-se la o singură adresă literă și codurile specifice care pot fi formate cu ea (de exemplu, G00, G01, G28). Dar, fiecare literă a alfabetului este folosită undeva în limbaj. Adrese litere Unele adrese-litere sunt folosite doar la frezare sau doar la strunjire; cele mai multe sunt folosite în ambele cazuri. Cele cu text aldin sunt cele mai folosite în programe.

Surse: Smid 2008;. Smid 2010;. Green et al. 1996..

Variabilă Descriere Note Poziția absolută sau incrementală a axei A (axa de rotație în jurul axei X) Poziția absolută sau incrementală a axei B (axa de rotație în jurul axei Y) Poziția absolută sau incrementală a axei C (axa de rotație în jurul axei Z) Definește numărul de compensare a razei D care este folosit pentru adâncimea de tăiere pe strunguri. Coordonată auxiliară de precizie pentru filetarea pe strunguri Definește viteza de avans. Se măsoară în inci pe minut sau inci pe rotație Adresa funcțiilor pregătitoare De obicei comenzile G precizează ce fel de mișcare este dorită Definește numărul celulei de compensare a lungimii; axa incrementală corespunzătoare axei X (ex: la o freză) Definește coordonatele centrului cercului pe axa X pentru funcțiile pregătitoare de interpolare circulară elicoidală G02 sau G03. De asemenea, utilizat ca un parametru în cadrul unor cicluri fixe. Definește coordonatele centrului cercului pe axa Y pentru funcțiile pregătitoare de interpolare circulară elicoidală G02 sau G03. De asemenea, utilizat ca un parametru în cadrul unor cicluri fixe. Definește coordonatele centrului cercului pe axa Z pentru funcțiile pregătitoare de interpolare circulară elicoidală G02 sau G03. De asemenea, utilizat ca un parametru în cadrul unor cicluri fixe. Stabilește numărul de repetări Funcții diverse Numărul blocului (liniei) din program Numărul programului Servește ca parametru adrese pentru diferite coduri G și M dată auxiliară, timp de întârziere, etc dată auxiliară Definește raza de filetare Definește viteza a de rotire a arborelui Numărul sculei Axa incrementală corespunzătoare axei X Axa incrementală corespunzătoare axei Y Axa incrementală corespunzătoare axei Z Poziția absolută sau incrementală a axei X. Poziția absolută sau incrementală a axei Y Poziția absolută sau incrementală a axei Z

Lista de coduri G Surse: Smid 2008; Smid 2010; Green et al. 1996. Într-un bloc, tipul de comandă este determinat de adresa G și de numărul care urmează după aceasta. Tabelul de mai jos conține codurile G interpretate de comanda numerică, grupele și funcțiile pe care le conțin. Notă: Modal înseamnă că un cod rămâne în vigoare până la înlocuirea sau anularea sa de către un alt cod permis. Non-Modal înseamnă că se execută doar o singură dată. Vedeți, de exemplu, codurile G09, G61 și G64 de mai jos.

Cod Descriere Frezare ( M ) Strunjire ( T ) Note Poziționare rapidă M T G00 v - deplasare la coordonata v. La mișcările pe 2 sau 3 axe, în mod tradițional, G00 (spre deosebire de G01) nu se mișcă pe o singură linie dreaptă între punctul inițial și punctul final. Se mișcă cu valori diferite pe fiecare axă la viteza maximă până când se obține vectorul. Programatorul trebuie să ia în considerare ce obstacole pot fi în apropiere, pentru a evita un accident. Unele mașini de oferta vârtejuri interpolate ca o caracteristică pentru ușurința de programare (în condiții de siguranță să-și asume o linie dreaptă). Interpolare liniară M T G00 v F - deplasare la coordonata v cu viteza de deplasare (avansul) F. Cel mai comun cod pentru avans în timpul unei tăieri. Programul specifică punctele de început și de sfârșit, iar controlul calculează automat ( interpolează) punctele intermediare prin care trebuie să treacă pentru a se produce o linie dreaptă (de aici denumirea de "liniară"). Controlul apoi calculează vitezele unghiulare la care să se transforme axa șuruburilor conducătoare prin intermediul servomotoarelor sau a motoarelor cu mișcare sacadată. Computerul efectuează mii de calcule pe secundă, iar motoarele trebuie să reacționeze rapid la fiecare intrare. Astfel, traiectoria efectivă a prelucrării are loc cu viteza de avans dată pe o traiectorie cu o acuratețe liniară având o precizie în limite foarte mici. Interpolare circulară, spirală, elicoidală în sensul acelor de ceas M T Interpolare circulară, elicoidală în sens invers acelor de ceas M T Întârziere M T P10000 Controlul conturului de înaltă precizie - High-precision contour control (HPCC) M   Modul multi bufer activ. AI Advanced Preview Control M   Prelucrare NURBS M   Desemnarea axei imaginare M     Interpolare cilindrică M     Oprire precisă (în blocul dat), non-modal M T Versiunea sa modală este G61. Impunere dată programabilă M T Anulare impunere dată programabilă M T   Interpolarea în coordonate polare activată M   Interpolarea în coordonate polare dezactivată M   Comandă de coordonate polare. Selectare plan XY M     Selectare plan ZX M T Selectare plan YZ M     Programare în inchi M T Programare în milimetri (mm) M T Întoarcere programată în punctul de referință M T Întoarcere programată la al doilea punct de referință M T Funcția de salt M     Un singur punct de filetat, stilul longhand (dacă nu se utilizează un ciclu, ex, G76)   T Filetare cu pas constant M     Filetare   T Filetare cu pas variabil M     Compensarea sculei la arcele de colț M     Anulare compensare a razei sculei M T Anulează G41 ori G42. --> Compensare a razei sculei la stânga M T Compensare a razei sculei la dreapta M T Compensare negativă a lungimii sculei M   Compensare pozitivă a lungimii sculei M   Creștere a ofsetului sculei M     Descreștere a ofsetului sculei M     Creștere dublă a ofsetului sculei M     Descreștere dublă a ofsetului sculei M     Anulare compensare a lungimii sculei M   Anulează G43 ori G44. G50 Anulare modificare la scară   T Sistem de coordonate local - local coordinate system (LCS) M   Sistemul de coordonate al mașinii M T Selectare sisteme de coordonate de lucru 1-6 M T sisteme extinse de coordonate de lucru M T Tăiere precisă, modal M T Poate fi anulat cu G64. Versiunea sa non-modală este G09. Corecție automată la colț M T   Tăiere continuă prestabilită (anulează modul Tăiere precisă) M T Anulează G61. Ciclu fix, multiplu ciclu repetitiv, pentru finisare (inclusiv contururi)   T   ciclu fix, multiple ciclu repetitiv, pentru rugozitate (axa Z)   T   ciclu fix, multiple ciclu repetitiv, pentru rugozitate (axa X)   T   G73 ciclu fix, multiplu ciclu repetitiv, pentru rugozitate, cu model de repetiție   T   G73 Ciclu de găurire cu viteză mare și retrageri pentru ruperea șpanului M   G74 Ciclu de filetare în sens invers al acelor de ceasornic   T   G74 Ciclu de filetare în sensul acelor de ceasornic M   Ciclu de strunjire caneluri   T   G76 Ciclu de alezare fină M   G76 Ciclu filetare, ciclu repetitiv multiplu   T   Anulare ciclu memorat M T Găurire, ciclu de alezare parțială M   Găurire, ciclu de alezare la retragere M   Ciclu de găurire cu retrageri (pentru ruperea șpanului) M   Ciclu de filetare cu tarod, direcția axului M03 M   Ciclu de filetare rigidă cu tarod, direcția axului M03, suport rigid de unelte M   Ciclu de filetare rigidă cu tarod în sens invers acelor de ceasornic, direcția axului M04, suport rigid de unelte M   Ciclu de alezare M   Ciclu de alezare cu retragerea sculei cu avans rapid M   Ciclu de alezare, ciclu de alezare la retragere M   boring cycle, feed in/spindle stop/manual operation M     boring cycle, feed in/dwell/feed out M   G90 Programare absolută M T (B) Programare incrementală M T (B) G92 registru de poziție (programarea vectorului de la zero la tool tip). Schimbare coordonate de lucru, impunere turație maximă arbore M T (B) G92 Ciclu filetare, ciclu simplu   T (A)   G94 Avansul pe minut M T (B) G95 Avansul pe rotație M T (B) Viteza de suprafață constantă - Constant surface speed (CSS)   T Viteza arborelui constantă M T G98 Revenirea sculei la nivelul Z inițial după execuția ciclului memorat M     G98 Avansul pe minut (grup tip A)   T (A) G99 Revenirea sculei la nivelul punctului R după execuția ciclului memorat M     G99 Avansul pe rotație (grup tip A)   T (A)

Lista de coduri M (diverse) și auxiliare Codul M are o valoare numerică de maxim 3 cifre. Surse: Smid 2008; Smid 2010; Green et al. 1996. M00, M01, M02, M30, M96, M97, M98, M99: coduri de control program M03, M04, M05, M19: coduri rotire arbore M06: cod de schimbare sculă M07, M08, M09: coduri utilizare răcire de la M11 - la M18: coduri schimbare treaptă de turație arbore. Cod   Descriere Frezare ( M ) Strunjire ( T ) Note Oprire obligatorie programată. M T Mașina-non-opțională se va opri întotdeauna la atingerea M00 în execuția programului. Oprire condiționată M T Mașina se va opri la M01 dacă operatorul apasă butonul opțional de oprire. Sfârșitul programului M T Rotire arbore (în sensul acelor de ceas) M T Rotire arbore (în sens invers acelor de ceas) M T oprire ax M T   schimbare automatică a sculei (ATC) M T (uneori) utilizare răcire (intern) M T   utilizare răcire (extern) M T   oprire utilizare răcire M T   Clemă paleți ON M   Clemă paleți OFF M   Rotire arbore (în sensul acelor de ceas) cu răcire (aburi) M   orientarea axului M T Mirror ON, axa X M     M21 Înaintare păpușa mobilă   T   Mirror, axa Y M     M22 Retragere păpușa mobilă   T   Mirror OFF M     M23 Înlăturare Filetare progresivă ON   T   Înlăturare Filetare progresivă OFF   T   Sfârșitul programului, cu revenire la începutul programului M T Selecție viteză – viteza 1   T   Selecție viteză – viteza 2   T   Selecție viteză – viteza 3   T   Selecție viteză – viteza 4   T   Suprascriere viteză de avans - permisă M T   Suprascriere viteză de avans - NU este permisă M T Descărcare ultimul instrument de pe arbore M T Schimbare automatică a paleților - Automatic pallet change (APC) M   Apelare subprogram M T Sfârșit subprogram M T

Exemplu de program

Abrevieri utilizate de către programatori și operatori

Vezi și Mașină-unealtă cu comandă numerică Imprimare 3D Canned cycle LinuxCNC -software liber pentru CNC cu multe resurse pentru documentarea codului G

Extended developments Direct Numerical Control (DNC) STEP-NC MTConnect

Concepte similare Fișierul Gerber

Concerns during application Cutter location, cutter compensation, offset parameters Coordinate systems

Referințe și note

Bibliografie

Legături externe CNC G-Code and M-Code Programming Tutorial for G-code