Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Equipment >> CNC machine

CNC-programmeertalen - G-code en M-code


Het acroniem CNC in de term CNC-machine betekent Computer Numerical Control. Als we aan CNC-bewerking denken, denken we meestal aan de CNC-bewerkingsmachine, maar eigenlijk vertegenwoordigen moderne CNC-machines een bredere term. Industriële robots en sommige computergestuurde meetmachines zijn ook CNC-machines.

Het was het jaar 1952 - vanwege de behoefte aan nauwkeurige bewerking van onderdelen in de luchtvaartindustrie - toen John T. Parsons, in samenwerking met IMB (International Business Machines Corporation) en MIT (Massachusetts Institute of Technology), de eerste CNC-frees ontwikkelde machine. Vanaf dat moment is slimmere industriële productie wijdverbreid en is CNC-bewerking beschikbaar geworden voor alle industrieën, samen met de opkomst en het gebruik van CNC-programmeertalen - G-code en M-code.

 



Wat zijn G-code en M-code?



Gedurende de 70-jarige geschiedenis van de ontwikkeling van CNC-machines, zijn verschillende programmeertalen, niet alleen G-code en M-code, gebruikt voor hun programmering. Zo werd in het begin de pioniersmachine van Parsons geprogrammeerd met behulp van geboorde banden, en later, in het jaar 1956, werd een speciale programmeertaal (APT-programmeertaal) ontwikkeld voor CNC-bewerking.

RS-274 of beter bekend als G-code, waar dit artikel ook over spreekt, werd in hetzelfde decennium gemaakt. G-code is ontwikkeld vanuit de APT-programmeertaal die gegevens bevatte over de locatie of geometrie van de snijplotter (gereedschap), en andere niet-geometrische machinefuncties zoals spilsnelheid, koeling, enz. RS-274-functies (G- en M-codes) nemen de basis over van de programmeertaal APT met kleine aanpassingen die programma's korter en handiger hebben gemaakt voor de machinebesturing.

APT G- en M-codes
GA NAAR {X, Y, Z} G1, G2, G3 {X, Y, Z}
FEDRAT F
SPINDEL CW / CCW S M3 / M4
COOLNT AAN / UIT M8 M9
FINI M30

De programmeertaal RS-274 wordt vaak "G-code" genoemd omdat deze voornamelijk uit G-functies (G-codes) bestaat. Maar het bevat op zichzelf ook even belangrijke M-functies (M-codes). Om die reden is het noodzakelijk om deze termen te definiëren, d.w.z. om de volgende vragen duidelijk en direct te beantwoorden:

  1. Wat zijn G-codes?
  2. Wat zijn M-codes?
  3. Wat zijn de verschillen tussen G-code en M-code?



Wat zijn G-codes?



G-code, d.w.z. G-functies, verschillend van M-code, heeft voornamelijk betrekking op het definiëren van geometrie. Het is duidelijk dat "G" in de naam "G-code" het woord "Geometrie" betekent. G-codes zouden dus functies omvatten voor het selecteren van het coördinatensysteem, het werkvlak, programmeereenheden, het instellen van de programmeermodus (absoluut of incrementeel), gereedschapsbeweging in snelle en werkmodus, enz.



Wat zijn M-codes?



M-codes of M-functies verwijzen naar functies die verband houden met de bediening van de machine. Het kan worden gezegd dat "M" in de term "M-code" het woord "Machine" betekent. Meestal kunnen bij CNC-machineprogrammering de volgende functies in deze functies worden opgenomen:hoofdspil in- of uitschakelen, koeling in- of uitschakelen, automatische gereedschapswisseling, enz.



Wat zijn de verschillen tussen G-code en M-code?



Zoals we hebben gepresenteerd, verwijzen G-codes strikt naar de geometrie van het proces van het verwerken van een onderdeel, en M-codes naar individuele functies op de machine. Je zou kunnen zeggen dat de G-codes aangeven "Hoe het gereedschap beweegt ten opzichte van het werkstuk" en de M-codes "Wat de machine doet in het bewerkingsproces".

Naast de belangrijkste G-code- en M-codefuncties in de programmeertaal RS-274, zijn er tal van hulpfuncties:

  • X,Y, Z – positioneringspuntcoördinaten
  • I,J, K – coördinaten van de afstand tussen het startpunt en het middelpunt van de cirkel (“CC” in de volgende voorbeelden)
  • F- interpolatiesnelheid
  • S- spilsnelheid
  • T-gereedschapsnummer
  • H- gereedschapshoogte-offsetnummer
  • D-gereedschap radius offset nummer


Lijst met basis-G-codes



Hoofdfuncties

Beschrijving

Hulpfuncties

G0

Snelle positionering (lineair)

X, Y, Z

G1

Lineaire interpolatie

X, Y, Z, F

G2

Met de klok mee circulaire interpolatie

X, Y, Z, I, J, K, F

G3

Tegen de klok in circulaire interpolatie

X, Y, Z, I, J, K, F

VOORBEELD 1:

De zin in G-code:G1 X10 Y50 F100

Uitleg:Gereedschap gaat lineair naar het gewenste punt (Coördinaten:X=10 mm, Y=50 mm) met een snelheid van 100 millimeter per seconde.

De zin in G-code:G2 X10 Y50 I10 J40 F100

Uitleg:Gereedschap gaat cirkelvormig (met de klok mee) naar het gewenste punt (Coördinaten:X=10 mm, Y=50 mm) met de snelheid van 100 millimeter per seconde; Cirkelcentrumpositie ten opzichte van het startpunt:+10 mm op X-as en +40 mm op Y-as

De zin in G-code:G02 X50 Y10 I40 J-10 F75

Uitleg:Gereedschap gaat cirkelvormig (met de klok mee) naar het gewenste punt (Coördinaten:X=50 mm, Y=10 mm) met de snelheid van 75 millimeter per seconde; Cirkelcentrumpositie ten opzichte van het startpunt:+40 mm op de X-as en -10 mm op de Y-as.

Hoofdfunctie

Beschrijving

Hulpfuncties

G17

Selecteer XY voor werkvlak

/

G18

Selecteer ZX voor werkvlak

/

G19

Selecteer YZ voor werkvlak

/

G20

Eenheden:inches (inch)

/

G21

Eenheden:millimeter (mm)

/

G41

Gereedschapsradiuscompensatie – links

D, X, Y, Z

G42

Gereedschapsradiuscompensatie – rechts

D, X, Y, Z

G40

Gereedschapsradiuscompensatie – uit

/

G43

Compensatie voor compensatie van gereedschapshoogte

H, Z

G49

Compensatie gereedschapshoogte-offset – uit

/

G54

Machine coördinatensysteem

/

G55

Werkcoördinatenstelsels

/

G56

Werkcoördinatenstelsels

/

G57

Werkcoördinatenstelsels

/

G58

Werkcoördinatenstelsels

/

G59

Werkcoördinatenstelsels

/

VOORBEELD 2:

  Zin in G-code: G21 G17 G55

Toelichting:Programmeereenheden instellen op millimeters; XY-werkvlak selecteren; G55-coördinatensysteem selecteren

Zin in G-code: G43 H1 Z100

Uitleg:De compensatie van de gereedschapshoogte-offset instellen op H1 ("H1" is een positie waar de waarde van de gereedschapshoogte wordt opgeslagen in het geheugen van de CNC-machine) en een nieuwe positie innemen (Coördinaat:Z=100 mm)

Zin in G-code: G41 D1 X15

Uitleg:Instellen van de linker gereedschapsradiuscompensatie op D1 (“D1” is een positie waar de waarde van de gereedschapsradius wordt opgeslagen in het geheugen van de CNC-machine) en een nieuwe positie innemen (Coördinaat:X=15 mm); Terwijl het gereedschap naar de gewenste positie gaat, beweegt het langzaam naar links, dus wanneer het gereedschap de gewenste positie bereikt, is de radiuscorrectie van het gereedschap voltooid.

Zin in G-code: G40 G49

Verklaring:Gereedschapsradiuscorrectie annuleren; Compensatie voor gereedschapshoogte-offset annuleren

Hoofdfunctie

Beschrijving

Hulpfuncties

G90

Absolute programmering:Coördinaten ten opzichte van het werkcoördinatensysteem

/

G91

Incrementeel programmeren:coördinaten ten opzichte van het coördinatensysteem i in de huidige positie

/



Lijst met basis M-codes



Hoofdfunctie

Beschrijving

Hulpfuncties

M00

Programma stop

/

M03

Spindel aan (met de klok mee)

S

M04

Spindel aan (tegen de klok in)

S

M05

Spindel uit

/

M06

Verandering van automatiseringstool

T

M08

Koelvloeistof aan

/

M09

Koelvloeistof uit

/

M30

Einde programma

/

M98

Subprogramma-oproep

“Subprogrammanaam”

M99

Terug uit subprogramma

/



Hoe een CNC-machine te programmeren



CNC-programmering is alfanumerieke opmaakgegevens (G- en M-codes) over geometrie en technologie van onderdelen, die op zo'n machine moeten worden verwerkt, maar ook een andere programmering, die ze meestal machinefabrikanten uitvoeren.

Het programmeren van CNC-machines met G-code is meestal op zinnen gebaseerd, wat te zien is in eerdere voorbeelden waar de uitleg van G-functies werd gedaan als het interpreteren van de zinnen van een programma dat in G-code is geschreven. Er zijn verschillende methoden voor CNC-programmering, d.w.z. het genereren van G- en M-codes:

  1. Handmatige programmering,
  2. Programmering in werking en
  3. Programmeren met CAD-systemen (Computer-Aided Design)/CAM-systemen (Computer-Aided Manufacturing).

Handmatige programmering

Met handmatige CNC-programmering schrijft een programmeur op basis van zijn eigen kennis en ervaring evenals beschikbare informatie over machines, gereedschappen, machineaccessoires, bewerkingsmodi, het toepassen van programmeerinstructies, handmatig geometrische en technologische informatie die nodig is om het alfanumerieke programma te voltooien. Handmatige programmering kan worden georganiseerd als de volgende basisactiviteiten:

  • Bewerkings-, basis- en toolingplannen definiëren,
  • Geometrische informatie vertalen met werkplaatstekening, voor routeplanningsdoeleinden
  • Hulpmiddelen, en ze in blokken rangschikken volgens de verwerkingsvolgorde,
  • Programma's schrijven en invullen in het formulier programmablad (G-code) en
  • Overdracht van informatie van het programmablad naar het geheugen van de besturingseenheid

Programmering in werking

Om de methode van CNC-programmering voortdurend te verbeteren, evenals de wens om de programmering op de machine zelf te zetten, om nog grotere en gemakkelijkere toepassingen van CNC te kunnen maken, hebben sommige fabrikanten besturingseenheden aangeboden die ze ondersteunen bij het programmeren direct op de machine zelf. Hoewel er vanaf het allereerste begin van de toepassing van CNC de mogelijkheid was om onmiddellijk op de machine te programmeren in de zogenaamde MDI-modus (Manual Data Input), vertegenwoordigt programmeren in bedrijf een volledig nieuwe programmeermethode.

Met deze methode heeft de Control Unit, die het ondersteunt, extra functies geïntegreerd die klassieke programmering met G-code vermijden. Programmeren komt hier neer op een interactieve dialoog tussen de operator en de besturingseenheid, via toetsenbord en grafische gebruikersinterface, die zowel eenvoudige verwerkingscontouren als getypte cycli voor verwerking kan genereren. Besturingseenheid op basis van ingevoerde zoekopdrachten, voert de benodigde gereedschapspadberekeningen uit en genereert automatisch een G-code.

Programmeren met CAD/CAM-systemen

De geometrie van de onderdelen, die bijvoorbeeld worden gebruikt in de lucht- en ruimtevaart, het leger en andere industrieën, is zeer complex met oppervlakken van de tweede orde, die meerassige bewerking vereisen (3-assige, 4-assige en 5-assige CNC-bewerking) . Complexe programma's voor het verwerken van dergelijke oppervlakken vereisen enkele duizenden blokken (zinnen) waarvan het handschrift erg moeilijk en tijdrovend is. Daarom was het noodzakelijk om computers te gebruiken voor de technologische voorbereiding, d.w.z. het programmeren van CNC-machines voor het bewerken van de bovengenoemde onderdelen op basis van G-code en M-code.

CAD / CAM-programmering kan worden geclassificeerd als computer-CNC-programmering. De integratie van CAD en CAM heeft geleid tot verbeteringen in NC-programmering, vooral op het gebied van programmeervereenvoudiging. Nu hoeft de programmeur niet meer na te denken over het definiëren van geometrie, dat is wat CAD / CAM-software doet. Wat overblijft voor de programmeur is dat hij door actieve interactie met het systeem in het programma andere technische informatie toevoegt, zoals grips, basen, klemmen, snijgereedschappen en bewerkingsmodi. Benadrukt moet worden dat er een integratie is van CAD / CAM en CAPP (Computer Aided Process Planning), die ook voor deze vereisten een oplossing ontwikkelt.

Zo ziet de procedure voor het programmeren van een machine in een CAD / CAM-omgeving eruit:

  1. Modelleren van CAD-modellen,
  2. Verwerkingsplanning met behulp van beschikbare CAM-strategieën voor het verwerken en berekenen van gereedschapspaden en het verkrijgen van een CL-bestand (Cutter Location),
  3. Gereedschapspadsimulatie en materiaalverwijderingssimulatie voor programmaverificatie en detectie van mogelijke fouten en botsingen,
  4. Naverwerking van het CL-bestand en verkrijgen van de G-code met behulp van de postprocessor voor de geselecteerde machine,
  5. Stuur de G-code over naar de besturingseenheid. Voorbereiding van gereedschappen en werkstukken. Baseer het werkstuk op de machine,
  6. Controleer de verwerkingsomstandigheden en -modi, controleer snelheden en versnellingen, die de kwaliteit van de verwerking aanzienlijk kunnen beïnvloeden en
  7. Bewerking van een werkstuk op een machine.



Conclusie



Hoewel er tegenwoordig programmeermethoden zijn die geen kennis van G- en M-functies vereisen (programmeren in werking en CAD / CAM CNC-programmering), zou een programmeur ze moeten kennen, omdat een speciale situatie soms vereist dat de programmering handmatig wordt uitgevoerd. Het positieve is dat de programmeertaal G- en M-codes universeel kan worden genoemd, wat betekent dat het kennen van de G- en M-codes alle CNC-machines kan programmeren, met minimale syntaxisverschillen die zeer snel onder de knie worden als je de basis kent van G- en M-codes. Maakt u zich zorgen over het vinden van een professionele CNC-programmeur voor uw ontwerp? Maakt u zich geen zorgen, WayKen is een fabrikant met meer dan 20 jaar ervaring in de CNC-bewerkingsindustrie, met geavanceerde productietechnologie en ervaren CNC-ingenieurs, klaar om aan uw productontwerpbehoeften te voldoen. Ontvang vandaag nog direct een offerte!

CNC machine

  1. en van CNC-machines
  2. G- en M-codes:de CNC-programmeertalen begrijpen
  3. De verschillen tussen G-code en M-code
  4. G- en M-codes begrijpen als een professional [Volledige gids]
  5. CNC G-code introductie
  6. CNC-programmeercycli of CNC-voorgeprogrammeerde cycli voor- en nadelen
  7. CNC-programmeerprincipes en toepassingen
  8. CNC-programmeertechnieken:een insidersgids voor effectieve methoden en toepassingen
  9. Hurco CNC-handleidingen Programmering en onderhoud Gratis download
  10. Voorbeeldcode G71-draaicyclus voor ruw draaien – CNC-draaibankprogrammering
  11. Basisprincipes van CNC-programmeren – Tutorials met voorbeeldprogrammacode