Oppaat
M-koodi on CNC-koneistuksen koneohjauskieli. Sitä käytetään yhdessä G-koodin kanssa erilaisten konetoimintojen kytkemiseen pois ja päälle. G-koodin tapaan eri ohjausalustoilla on jonkin verran yhteisiä toimintoja, mutta kunkin M-koodin toiminnon lopullisen määritelmän määrittelee ohjauksen valmistaja. Tässä artikkelissa käsitellään M-koodia yleisesti ja sen soveltamista CNC-koneistukseen. Lisätietoja on tämän sarjan muissa aiheeseen liittyvissä artikkeleissa, jotka on lueteltu tämän artikkelin lopussa.
Komennot
M-koodin M-kirjain kertoo koneelle, että sen jälkeen seuraa sekalainen komento. Esimerkiksi M03 käynnistää karan, ja sitä edeltää yleensä S-koodi nopeuden asettamiseksi. Seuraava esimerkkinä esitetty osittainen luettelo M-koodeista koskee Fanuc-ohjaimia.
M00 Ohjelman pysäytys
M01 Ohjelman pysäytys–valinnainen
M02 Ohjelman lopetus
M03 Karan käynnistys–eteenpäin, myötäpäivään
M04 Karan käynnistys–taaksepäin, tai kierto vastapäivään
M05 Karan pysäytys
M06 Työkalun vaihto
Koodit jatkuvat aina M99:ään asti, joka päättää aliohjelman. Kaikkia numeroita ei ole annettu, ja joitakin M-koodeja, kuten M06, käytetään vain työstökeskuksissa eikä sorveissa ja päinvastoin. Muut toimittajat tarjoavat useampia koodeja. On tärkeää tuntea kyseisen koneen koodit. Monet valmistajat jättävät myös useita M-koodeja määrittelemättä käyttäjän määriteltäväksi. Taulukossa 1 on luettelo sorvaustoimintoja koskevista M-koodeista. Taulukossa 2 on samanlainen luettelo jyrsintätoimintojen M-koodeista. Molemmat taulukot perustuvat Fanucin koodeihin.
Taulukko 1 – M-koodien komentojen yhteenveto sorvaustoimintoja varten
M-koodi* |
Kuvaus* |
M00 |
Ohjelman pysäytys |
M01 |
Vaihtoehtoinen ohjelman pysäytys |
M02 |
Ohjelman loppu |
M03 |
Karan käynnistys eteenpäinväännön suuntaan oikealle |
M04 |
Karan käynnistys taaksepäin vastapäivään |
M05 |
Karan pysäytys |
M08 |
Jäähdytysneste päällä |
M09 |
Jäähdytysneste pois päältä |
M29 |
Jäykk. hanatila |
M30 |
Ohjelman lopun nollaus |
M40 |
Karan vaihde keskellä |
M41 |
Matalan vaihteen valinta |
M42 |
Korkean vaihteen valinta |
M68 |
Hydraulisen ruuvipuristimen sulku |
M69 |
Hydraulinen ruuvipuristin auki |
M78 |
Takakannatin etenee |
M79 |
Taivutin kääntyy |
M94 |
peilikuva peruutus |
M95 |
peilikuva X-akselin |
M98 |
Aliohjelman kutsu |
M99 |
Aliohjelman loppu |
Taulukkotiedon lähde: http://www.helmancnc.com/fanuc-m-code-list/
Taulukko 2 – M-koodien komentojen yhteenveto jyrsintätoimintoja varten
M-koodi* |
Kuvaus* |
|
M00 |
Ohjelman pysäytys |
|
M01 |
Vaihtoehtoinen ohjelman pysäytys |
|
M02 |
Ohjelman lopetus |
|
M03 |
Karan käynnistys eteenpäin CW |
|
M04 |
Karan käynnistys taaksepäin vastapäivään |
|
M05 |
Karan pysäytys |
|
M06 |
Työkalun vaihto |
|
M07 |
Jäähdytysaine ON – Sumu jäähdytysaine/jäähdytysaine karan läpi |
|
M08 |
Jäähdytysaine ON – Huuhtelu jäähdytysaineella |
|
M09 |
Huuhdo jäähdytysaine |
Huuhteluainetta. OFF |
M19 |
Karan suuntaus |
|
M28 |
Paluu lähtöpisteeseen |
|
M29 |
jäykkä napautus |
|
M30 |
Ohjelman päättyminen (Reset) |
|
M41 |
Matalan vaihteen valinta |
|
M42 |
Korkea vaihde. select |
|
M94 |
Cancel mirrorimage |
|
M95 |
X-akselin peilikuva |
|
M96 |
Peilikuva. of Y axis |
|
M98 |
Aliohjelmakutsu |
|
M99 |
Aliohjelman loppu |
Taulukkotiedon lähde: http://www.helmancnc.com/fanuc-m-code-list/
Aliohjelmat ja makrot
Aliohjelmia kutsutaan M98-komennolla. Niitä käytetään erilaisiin toimintoihin, kuten Z-akselin indeksointiin toistuvien leikkausten välillä. Aliohjelmat merkitään kirjaimella ”P” ja ”L” määrittää aliohjelman suorituskertojen määrän. Jokainen aliohjelma päättyy M99:ään, joka palauttaa ohjaimen pääohjelmaan tai edelliseen aliohjelmaan, jos ne ovat sisäkkäisiä. Toinen yleinen aliohjelma on sellainen, joka nollaa modaalitilat ennen työkalunvaihtoa tai sen jälkeen – turvallisuusvaihe.
Koneen valmistajan toimittamia esiohjelmoituja toimintoja pidetään myös aliohjelmina, mutta niitä kutsutaan G-koodissa.
Makrot mahdollistavat CNC-koneen kaksi tärkeää asiaa. Luomalla muuttujia, joita voidaan muuttaa, ominaisuuksien kokoja (kuten uran leveyttä) voidaan säätää muuttamatta ohjelmaa. Ne mahdollistavat myös sen, että samalla ohjelmalla voidaan työstää piirustukseen mahdollisesti taulukoituja kappalekokoja. Muuttujille annetaan osoitteet, jotka tyypillisesti mainitaan ohjelmarivillä seuraavasti: G00 X#123, joka käskee konetta siirtymään nopeasti muuttujan osoitteeseen 123 tallennettuun paikkaan.
Makrojen käytössä on noudatettava suurta varovaisuutta, koska voidaan syöttää prosessiin nähden liian nopea luku, mikä voi johtaa vaurioihin ja/tai loukkaantumiseen. CNC-ohjelmoijat rakentavat rutiininomaisesti ohjelmiin tarkistuksia, jotta tällaiset katastrofit voidaan välttää.
Sovellukset
Muita kirjaintunnuksia (tai ”sanoja”) käytetään syöttönopeuden (F), karan nopeuden (S), työkaluosoitteiden (T) jne. määrittämiseen. Täydellinen CNC-ohjelma on täynnä näitä kirjaimia sekä G- ja M-koodeja. Useita M-koodeja käytetään viittaamaan ohjauspaneeliin käyttäjän syöttöä varten. M01, valinnainen ohjelman pysäytys, pysäyttää ohjelman väliaikaisesti ja odottaa käyttäjän syötettä, jos ohjauspaneelin Opt Stop -painike on päällä. Muussa tapauksessa M01-komentoa ei oteta huomioon. Tätä toimintoa voidaan käyttää, jotta käyttäjä voi poistaa lastuja. Toinen ohjauspaneelin painike, jossa on merkintä Block Skip (Lohkon ohitus), saa ohjelmat ohittamaan kaikki koodilohkot, joita edeltää etuviiva. Tämä on hyödyllistä automaattisissa syöttötoiminnoissa, koska sen avulla voidaan ohittaa ohjelman pysäytyskomento.
Yhteenveto
Tässä artikkelissa esiteltiin lyhyesti M-koodi ja sen soveltaminen CNC-työstön ohjelmointiin. Jos haluat lisätietoja aiheeseen liittyvistä tuotteista, tutustu muihin oppaisiin tai käy Thomas Supplier Discovery Platformissa etsimässä mahdollisia hankintalähteitä tai katsomassa yksityiskohtia tietyistä tuotteista.
Muut CNC-ohjelmointiartikkelit
- Esittely G-koodiin ja CNC-ohjelmointiin
- Luettelo yleisistä G-koodin komennoista ja niiden merkityksestä
- Esimerkkejä G-koodista yleisimpiä CNC-toimintoja varten
- G-koodin huijausluettelo yleisimpiä komentoja varten
- Alkiot, makrot ja muuttujaparametrinen ohjelmointi CNC-koneen työstöä varten