Gidsen
M-code is de machinebesturingstaal voor CNC-verspaning. Het wordt gebruikt in combinatie met G-code om verschillende machinefuncties uit en aan te schakelen. Net als bij G-code is er een zekere mate van overeenkomst tussen functies op verschillende besturingsplatforms, maar de uiteindelijke definitie van een bepaalde M-code-functie wordt bepaald door de fabrikant van de besturing. Dit artikel gaat over M-code in het algemeen en hoe het van toepassing is op CNC-bewerking. Voor aanvullende informatie verwijzen wij u naar de andere gerelateerde artikelen in deze serie aan het einde van dit artikel.
Commando’s
De M in M-code vertelt de machine dat een diverse commando volgt. Bijvoorbeeld, M03 start de spindel en wordt meestal voorafgegaan door een S-code om het toerental in te stellen. De volgende gedeeltelijke lijst van M-codes, hieronder weergegeven als voorbeelden, is voor Fanuc controllers.
M00 Programmastop
M01 Programmastop–optioneel
M02 Einde programma
M03 Spilstart—vooruit, of rechtsom draaiend
M04 Spilstart–achteruit, of linksom
M05 Spilstop
M06 Gereedschapswissel
Codes gaan door, tot en met M99, waarmee een onderprogramma wordt beëindigd. Niet elk nummer is toegewezen, en sommige M-codes, zoals M06, worden alleen gebruikt voor bewerkingscentra en niet voor draaibanken, en vice versa. Andere leveranciers verstrekken meer codes. Het is belangrijk de codes voor de machine in kwestie te kennen. Veel fabrikanten laten ook een aantal M-codes ongetekend voor definitie door de gebruiker. Tabel 1 hieronder geeft een meer lijst van M-codes voor draaibankbewerkingen. Tabel 2 bevat een soortgelijke lijst van M-codes voor freesbewerkingen. Beide tabellen zijn gebaseerd op de Fanuc codes.
Tabel 1 – Overzicht M-Codes commando’s voor draaibankbewerkingen
M code* |
Beschrijving* |
M00 |
Programmastop |
M01 |
Optionele programmastop |
M02 |
Einde van programma |
M03 |
Spil voorwaartse beweging |
M04 |
Spilstart achteruit links |
M05 |
Spilstop |
M08 |
Koelvloeistof aan |
M09 |
Koelvloeistof uit |
M29 |
Rigide tap mode |
M30 |
End programma-reset |
M40 |
Spiltandwiel op middelste |
M41 |
Low Gear Select |
M42 |
High Gear Select |
M68 |
Hydraulische klauwplaat sluiten |
M69 |
Hydraulische klauwplaat open |
M78 |
Staartvoorraad oprukkend |
M79 |
Takel in achteruit |
M94 |
Spiegelbeeld annuleren |
M95 |
Spiegelbeeld van X-as |
M98 |
Subprogramma-oproep |
M99 |
Einde van subprogramma |
Tabelgegevensbron: http://www.helmancnc.com/fanuc-m-code-list/
Tabel 2 – Overzicht M-Codes-opdrachten voor freesbewerkingen
M code* |
Beschrijving* |
M00 |
Programmastop |
M01 |
Optionele programmastop |
M02 |
Einde van programma |
M03 |
Spil start vooruit rechtsom |
M04 |
Spil start achteruit links |
M05 |
Spil stop |
M06 |
Tool change |
M07 |
Koelvloeistof AAN – Nevel koelvloeistof/koelvloeistof door spindel |
M08 |
Koelvloeistof AAN – Vloed koelvloeistof |
M09 |
Koelvloeistof UIT |
M19 |
Spiloriëntatie |
M28 |
Terugkeer naar oorsprong |
M29 |
Rigide tik |
M30 |
Einde van programma (Reset) |
M41 |
Lage versnelling selecteren |
M42 |
Hoge versnelling select |
M94 |
Cancel spiegelbeeld |
M95 |
Spiegelbeeld van X-as |
M96 |
Spiegelbeeld van Y-as |
M98 |
Subprogramma-oproep |
M99 |
Einde van subprogramma |
Tabelgegevensbron: http://www.helmancnc.com/fanuc-m-code-list/
Subprogramma’s en macro’s
Subprogramma’s worden opgeroepen met het M98-commando. Deze worden voor verschillende bewerkingen gebruikt, zoals het indexeren van de Z-as tussen herhalende snedes. Onderprogramma’s worden aangeduid met de letter “P” en een “L” geeft het aantal keren aan dat het onderprogramma moet worden uitgevoerd. Elk subprogramma eindigt met M99, waarmee de besturing terugkeert naar het hoofdprogramma, of naar de vorige subroutine als deze genest zijn. Een ander veel voorkomend subprogramma is er een die de modale status voor of na een gereedschapswissel reset-een veiligheidsstap.
Geprogrammeerde functies die door de machinefabrikant worden geleverd, worden ook beschouwd als subprogramma’s, maar ze worden opgeroepen in G-code.
Macro’s stellen de CNC-machine in staat om twee belangrijke dingen te doen. Door het creëren van variabelen die kunnen worden gewijzigd, kan functie maten (zoals de breedte van een groef) worden aangepast zonder het programma te wijzigen. Ze maken het ook mogelijk om met hetzelfde programma een familie van werkstukmaten te bewerken zoals die op een tekening kunnen staan. Aan variabelen worden adressen toegekend die gewoonlijk in de programmaregel als volgt worden genoemd: G00 X#123 die de machine vertelt om snel naar de plaats te gaan die is opgeslagen in het variabele adres 123.
Bij het gebruik van macro’s moet zeer voorzichtig te werk worden gegaan, omdat een getal kan worden ingevoerd dat te snel is voor het proces, wat kan leiden tot schade en/of letsel. CNC programmeurs bouwen routinematig controles in programma’s in om deze catastrofes te voorkomen.
Toepassingen
Andere letteraanduidingen (of, “woorden”) worden gebruikt om aanvoersnelheid (F), spiltoerental (S), gereedschapadressen (T), enz. te specificeren. Een volledig CNC programma zal doorspekt zijn met deze letters en de G- en M-codes. Verschillende M-codes worden gebruikt om te verwijzen naar het bedieningspaneel voor invoer door de operator. M01, een optionele programmastop, stopt het programma tijdelijk en wacht op invoer van de operator als de Opt Stop-knop op het bedieningspaneel is ingeschakeld. Anders wordt het M01-commando genegeerd. Deze functie kan worden gebruikt om de operator in staat te stellen spanen te verwijderen. Een andere paneelknop met de naam Blok overslaan laat de programma’s alle codeblokken overslaan die worden voorafgegaan door een schuine streep. Dit is nuttig voor auto-feeding operaties, omdat het kan worden gebruikt om over te slaan het programma stop commando.
Samenvatting
Dit artikel presenteerde een korte bespreking van M-code en de toepassing ervan op CNC bewerking programmeren. Voor meer informatie over verwante producten, raadpleeg onze andere gidsen of bezoek de Thomas Supplier Discovery Platform om potentiële bronnen van levering te lokaliseren of bekijk de details over specifieke producten.
Andere artikelen over CNC-programmering
- Een inleiding tot G-Code en CNC-programmering
- Lijst van veelvoorkomende G-Code commando’s en wat ze betekenen
- Voorbeelden van G-Code voor veelvoorkomende CNC-functies
- G-Code Cheat Sheet van veelvoorkomende commando’s
- Subprogramma’s, macro’s en parametrische programmering voor CNC-verspaning