Programarea mașinilor-unelte cu comandă numerică

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)​​.

G-code
programarea mașinilor-unelte cu comandă numerică
Extensii fișiere.mpt, .mpf .nc și alte câteva
ParadigmăProcedural, Imperativ
Apărut înanii 1950 (prima ediție)
Proiectat deMassachusetts Institute of Technology
Implementări majoremulte, în special de la Siemens Sinumerik, FANUC, Haas, Heidenhain, Mazak. Există și o implementare standard descrisă în ISO 6983.

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. Cu toate acestea, "Codul-G" este numele comun al limbajului.

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;[1] Smid 2010;[2] Green et al. 1996.[3]

VariabilăDescriereNote
APoziția absolută sau incrementală a axei A (axa de rotație în jurul axei X)
BPoziția absolută sau incrementală a axei B (axa de rotație în jurul axei Y)
CPoziția absolută sau incrementală a axei C (axa de rotație în jurul axei Z)
DDefinește numărul de compensare a razei D care este folosit pentru adâncimea de tăiere pe strunguri.
ECoordonată auxiliară de precizie pentru filetarea pe strunguri
FDefinește viteza de avans.Se măsoară în inci pe minut sau inci pe rotație
GAdresa funcțiilor pregătitoareDe obicei comenzile G precizează ce fel de mișcare este dorită
HDefinește numărul celulei de compensare a lungimii;
axa incrementală corespunzătoare axei X (ex: la o freză)
IDefineș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.
JDefineș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.
KDefineș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.
LStabilește numărul de repetări
MFuncții diverse
NNumărul blocului (liniei) din program
ONumărul programului
PServește ca parametru adrese pentru diferite coduri G și Mdată auxiliară, timp de întârziere, etc
Qdată auxiliară
RDefinește raza de filetare
SDefinește viteza a de rotire a arborelui
TNumărul sculei
UAxa incrementală corespunzătoare axei X
VAxa incrementală corespunzătoare axei Y
WAxa incrementală corespunzătoare axei Z
XPoziția absolută sau incrementală a axei X.
YPoziția absolută sau incrementală a axei Y
ZPoziția absolută sau incrementală a axei Z

Lista de coduri G

Surse: Smid 2008;[1] Smid 2010;[2] Green et al. 1996.[3] Î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.
CodDescriereFrezare
( M )
Strunjire
( T )
Note
G00Poziționare rapidăMTG00 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ă).
G01Interpolare liniarăMTG00 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.
G02Interpolare circulară, spirală, elicoidală în sensul acelor de ceasMT
G03Interpolare circulară, elicoidală în sens invers acelor de ceasMT
G04ÎntârziereMT
G05 P10000Controlul conturului de înaltă precizie - High-precision contour control (HPCC)M 
G05.1 Q1.Modul multi bufer activ. AI Advanced Preview ControlM 
G06.1 Prelucrare NURBSM 
G07Desemnarea axei imaginareM  
G07.1Interpolare cilindricăM  
G09Oprire precisă (în blocul dat), non-modalMTVersiunea sa modală este G61.
G10Impunere dată programabilăMT[4]
G11Anulare impunere dată programabilăMT 
G12.1Interpolarea în coordonate polare activatăM 
G13.1Interpolarea în coordonate polare dezactivatăM 
G17Comandă de coordonate polare. Selectare plan XYM  
G18Selectare plan ZXMT
G19Selectare plan YZM  
G20Programare în inchiMT
G21Programare în milimetri (mm)MT
G28Întoarcere programată în punctul de referințăMT
G30Întoarcere programată la al doilea punct de referințăMT
G31Funcția de saltM  
G32Un singur punct de filetat, stilul longhand (dacă nu se utilizează un ciclu, ex, G76) T
G33Filetare cu pas constantM  
G33Filetare T
G34Filetare cu pas variabilM  
G39Compensarea sculei la arcele de colțM  
G40Anulare compensare a razei sculeiMTAnulează G41 ori G42. -->
G41Compensare a razei sculei la stângaMT
G42Compensare a razei sculei la dreaptaMT
G43Compensare negativă a lungimii sculeiM 
G44Compensare pozitivă a lungimii sculeiM 
G45Creștere a ofsetului sculeiM  
G46Descreștere a ofsetului sculeiM  
G47Creștere dublă a ofsetului sculeiM  
G48Descreștere dublă a ofsetului sculeiM  
G49Anulare compensare a lungimii sculeiM Anulează G43 ori G44.
G50Anulare modificare la scară T
G52Sistem de coordonate local - local coordinate system (LCS)M 
G53Sistemul de coordonate al mașiniiMT
G54 - G59Selectare sisteme de coordonate de lucru 1-6MT
G54.1 P1 - P48sisteme extinse de coordonate de lucruMT
G61Tăiere precisă, modalMTPoate fi anulat cu G64. Versiunea sa non-modală este G09.
G62Corecție automată la colțMT 
G64Tăiere continuă prestabilită (anulează modul Tăiere precisă)MTAnulează G61.
G70Ciclu fix, multiplu ciclu repetitiv, pentru finisare (inclusiv contururi) T 
G71ciclu fix, multiple ciclu repetitiv, pentru rugozitate (axa Z) T 
G72ciclu fix, multiple ciclu repetitiv, pentru rugozitate (axa X) T 
G73ciclu fix, multiplu ciclu repetitiv, pentru rugozitate, cu model de repetiție T 
G73Ciclu de găurire cu viteză mare și retrageri pentru ruperea șpanuluiM 
G74Ciclu de filetare în sens invers al acelor de ceasornic T 
G74Ciclu de filetare în sensul acelor de ceasornicM 
G75Ciclu de strunjire caneluri T 
G76Ciclu de alezare finăM 
G76Ciclu filetare, ciclu repetitiv multiplu T 
G80Anulare ciclu memorat MT
G81Găurire, ciclu de alezare parțialăM 
G82Găurire, ciclu de alezare la retragereM 
G83Ciclu de găurire cu retrageri (pentru ruperea șpanului)M 
G84Ciclu de filetare cu tarod, direcția axului M03M 
G84.2Ciclu de filetare rigidă cu tarod, direcția axului M03, suport rigid de unelteM 
G84.3Ciclu de filetare rigidă cu tarod în sens invers acelor de ceasornic, direcția axului M04, suport rigid de unelteM 
G85Ciclu de alezareM 
G86Ciclu de alezare cu retragerea sculei cu avans rapidM 
G87Ciclu de alezare, ciclu de alezare la retragereM 
G88boring cycle, feed in/spindle stop/manual operationM  
G89boring cycle, feed in/dwell/feed outM 
G90Programare absolutăMT (B)
G91Programare incrementalăMT (B)
G92registru de poziție (programarea vectorului de la zero la tool tip). Schimbare coordonate de lucru, impunere turație maximă arboreMT (B)
G92Ciclu filetare, ciclu simplu T (A) 
G94Avansul pe minutMT (B)
G95Avansul pe rotațieMT (B)
G96Viteza de suprafață constantă - Constant surface speed (CSS) T
G97Viteza arborelui constantăMT
G98Revenirea sculei la nivelul Z inițial după execuția ciclului memoratM  
G98Avansul pe minut (grup tip A) T (A)
G99Revenirea sculei la nivelul punctului R după execuția ciclului memoratM  
G99Avansul 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;[1] Smid 2010;[2] Green et al. 1996.[3]

  • 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  DescriereFrezare
( M )
Strunjire
( T )
Note
M00Oprire obligatorie programată.MTMașina-non-opțională se va opri întotdeauna la atingerea M00 în execuția programului.
M01Oprire condiționatăMTMașina se va opri la M01 dacă operatorul apasă butonul opțional de oprire.
M02Sfârșitul programuluiMT
M03Rotire arbore (în sensul acelor de ceas)MT
M04Rotire arbore (în sens invers acelor de ceas)MT
M05oprire axMT 
M06schimbare automatică a sculei (ATC)MT (uneori)
M07utilizare răcire (intern)MT 
M08utilizare răcire (extern)MT 
M09oprire utilizare răcireMT 
M10Clemă paleți ONM 
M11Clemă paleți OFFM 
M13Rotire arbore (în sensul acelor de ceas) cu răcire (aburi)M 
M19orientarea axuluiMT
M21Mirror ON, axa XM  
M21Înaintare păpușa mobilă T 
M22Mirror, axa YM  
M22Retragere păpușa mobilă T 
M23Mirror OFFM  
M23Înlăturare Filetare progresivă ON T 
M24Înlăturare Filetare progresivă OFF T 
M30Sfârșitul programului, cu revenire la începutul programuluiMT
M41Selecție viteză – viteza 1 T 
M42Selecție viteză – viteza 2 T 
M43Selecție viteză – viteza 3 T 
M44Selecție viteză – viteza 4 T 
M48Suprascriere viteză de avans - permisăMT 
M49Suprascriere viteză de avans - NU este permisăMT
M52Descărcare ultimul instrument de pe arboreMT
M60Schimbare automatică a paleților - Automatic pallet change (APC)M 
M98Apelare subprogramMT
M99Sfârșit subprogramMT

Exemplu de program


Vezi și

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

  1. Smid 2008. .
  2. Smid 2010. .
  3. Green 1996, pp. 1162–1226. .
  4. „copie arhivă”. Arhivat din original la . Accesat în .

Bibliografie

  • Format:MachinerysHandbook25e
  • Format:Smid2008
  • Format:Smid2010

Legături externe

Format:Prelucrarea metalelor

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.