Vejledninger
M-kode er maskinstyringssproget til CNC-bearbejdning. Det bruges i kombination med G-kode til at slukke og tænde for forskellige maskinfunktioner. Som med G-kode er der en vis fællestræk i funktionerne på tværs af forskellige styringsplatforme, men den endelige definition af en bestemt M-kode-funktion er fastlagt af producenten af styringen. I denne artikel vil M-kode blive diskuteret generelt, og hvordan den anvendes i forbindelse med CNC-bearbejdning. For yderligere oplysninger henvises til de andre relaterede artikler i denne serie, der er anført i slutningen af denne artikel.
Kommandoer
M’et i M-kode fortæller maskinen, at der følger en diverse kommando. M03 starter f.eks. spindlen og indledes normalt med en S-kode for at indstille hastigheden. Den følgende delvise liste over M-koder, der er vist nedenfor som eksempler, gælder for Fanuc-styringer.
M00 Programstop
M01 Programstop–optionelt
M02 Afslutning af program
M03 Spindelstart–fremad, af rotation med uret
M04 Spindelstart–baglæns, eller rotation mod uret
M05 Spindelstop
M06 Værktøjsskift
Koderne fortsætter frem til M99, som afslutter et underprogram. Ikke alle numre er tildelt, og nogle M-koder, som f.eks. M06, anvendes kun til bearbejdningscentre og ikke til drejebænke og omvendt. Andre leverandører leverer flere koder. Det er vigtigt at kende koderne for den pågældende maskine. Mange fabrikanter lader også en række M-koder være utildelte, som brugeren selv kan definere. Tabel 1 nedenfor viser en mere detaljeret liste over M-koder for drejebænkeoperationer. Tabel 2 indeholder en tilsvarende liste over M-koder for fræseoperationer. Begge disse tabeller er baseret på Fanuc-koderne.
Tabel 1 – Oversigt over M-koder kommandoer for drejebænkoperationer
M-kode* |
Beskrivelse* |
|
M00 |
Programstop |
|
M01 |
Optionelt programstop |
|
M02 |
Slut på program |
|
M03 |
Spindelstart fremadrettet CW |
|
M04 |
Spindelstart baglæns CCW |
|
M05 |
Spindel stop |
|
M08 |
Kølemiddel tændt |
|
M09 |
Kølevæske slukket |
|
M29 |
Rigid tap-tilstand |
|
M30 |
Nulstilling ved afslutning af program |
|
M40 |
Spindelgear ved midten |
|
M41 |
Low Gear Select |
|
M42 |
High Gear Select |
|
M68 |
Hydraulisk chuck close |
|
M69 |
Hydraulisk borepatron åben |
|
M78 |
Halepatron fremadgående |
|
M79 |
Halepinde bakgearet |
|
M94 |
Spejlbillede annullere |
|
M95 |
Spejlbillede annullere |
Spejlbillede af X-akse |
M98 |
Kald til underprogram |
|
M99 |
Slut af underprogram |
Tabel datakilde: http://www.helmancnc.com/fanuc-m-code-list/
Tabel 2 – Oversigt over M-koder kommandoer for fræseoperationer
M-kode* |
Beskrivelse* |
|
M00 |
Programstop |
|
M01 |
Optionelt programstop |
|
M02 |
Slut af program |
|
M03 |
Spindelstart fremad CW |
|
M04 |
Spindelstart baglæns CCW |
|
M05 |
Spindelstop |
|
M06 |
Værktøjsskift |
|
M07 |
Kølevæske ON – Nebelkølevæske/kølevæske gennem spindel |
|
M08 |
Kølevæske ON – Overflodning af kølevæske |
|
M09 |
Kølevæske OFF |
|
M19 |
Spindelorientering |
|
M28 |
Retur til udgangspunktet |
|
M29 |
Rigid tap |
|
M30 |
Slut af program (nulstilling) |
|
M41 |
Valg af lavt gear |
|
M42 |
Højt gear vælg |
|
M94 |
Afbryd spejlbillede |
|
M95 |
Spejlbillede af X-akse |
|
M96 |
Spejlbillede af Y-aksen |
|
M98 |
Opkald af underprogram |
|
M99 |
Slut af underprogram |
Tabel datakilde: http://www.helmancnc.com/fanuc-m-code-list/
Underprogrammer og makroer
Underprogrammer kaldes med M98-kommandoen. De bruges til forskellige operationer, f.eks. til at indeksere Z-aksen mellem gentagende snit. Underprogrammer betegnes med bogstavet “P”, og et “L” angiver det antal gange, som underprogrammet skal køre. Hvert underprogram slutter med M99, som returnerer styringen til hovedprogrammet eller til det foregående underprogram, hvis de er indlejret i hinanden. Et andet almindeligt underprogram er et, der nulstiller modaltilstande før eller efter et værktøjsskift – et sikkerhedstrin.
Forprogrammerede funktioner, der leveres af maskinproducenten, betragtes også som underprogrammer, men de kaldes op i G-kode.
Makroer gør det muligt for CNC-maskinen at gøre to vigtige ting. Ved at oprette variabler, der kan ændres, kan funktionsstørrelser (f.eks. bredden af en rille) justeres uden at ændre programmet. De gør det også muligt for det samme program at bearbejde en familie af emnestørrelser, som kan være angivet i tabeller på en tegning. Variabler tildeles adresser, som typisk kaldes ud i programlinjen på denne måde: G00 X#123, som fortæller maskinen, at den hurtigt skal bevæge sig til det sted, der er gemt i den variable adresse 123.
Der skal udvises stor forsigtighed ved brug af makroer, da der kan indtastes et tal, der er for hurtigt i forhold til processen, hvilket kan føre til skade og/eller personskade. CNC-programmører bygger rutinemæssigt kontroller ind i programmerne for at undgå disse katastrofer.
Anvendelser
Andre bogstavbetegnelser (eller “ord”) anvendes til at angive fremføringshastighed (F), spindelhastighed (S), værktøjsadresser (T) osv. Et fuldt CNC-program vil være spækket med disse bogstaver samt G- og M-koderne. Flere M-koder anvendes til at henvise til kontrolpanelet for operatørens input. M01, et valgfrit programstop, stopper midlertidigt programmet og afventer input fra operatøren, hvis Opt Stop-knappen på kontrolpanelet er aktiveret. Ellers ignoreres M01-kommandoen. Denne funktion kan bruges til at give operatøren mulighed for at fjerne spåner. En anden panelknap med betegnelsen Block Skip får programmerne til at springe over alle kodeblokke, der indledes med en skråstreg fremad. Dette er nyttigt i forbindelse med automatiske tilførselsoperationer, da det kan bruges til at springe over kommandoen programstop.
Summary
Denne artikel præsenterede en kort diskussion af M-kode og dens anvendelse til programmering af CNC-bearbejdning. Du kan få flere oplysninger om relaterede produkter i vores andre vejledninger eller besøge Thomas Supplier Discovery Platform for at finde potentielle forsyningskilder eller se detaljer om specifikke produkter.
Andre artikler om CNC-programmering
- En introduktion til G-kode og CNC-programmering
- Liste over almindelige G-kode-kommandoer og deres betydning
- Eksempler på G-kode til almindelige CNC-funktioner
- G-kode-snyd ark med almindelige kommandoer
- Underprogrammer, makroer og parametrisk programmering til CNC-bearbejdning