FANUC’ta G kodu ve M kodu ne işe yarar?
Bir NC programında iki farklı komut ailesi vardır. G kodları (hazırlık fonksiyonu) kontrol ünitesine nasıl hareket edeceğini söyler: hızlı mı gidecek, doğrusal mı dairesel mi interpolasyon yapacak, hangi düzlemde çalışacak, hangi telafiyi kullanacak. M kodları (yardımcı fonksiyon) ise tezgâhın kendisine komut verir: mili çalıştır, soğutma sıvısını aç, takım değiştir, programı bitir.
Aradaki fark önemlidir: G kodlarının anlamını FANUC belirler, M kodlarının büyük kısmını ise makine üreticisi belirler. Kaynak kılavuz bunu net yazar: hangi M kodunun hangi makine fonksiyonuna karşılık geldiğini makine üreticisi tanımlar. Bu yüzden bir tezgâhta M19 mil oryantasyonu yaparken, başka bir tezgâhta bambaşka bir iş yapabilir.
Tornada kritik ayrıntı: üç farklı G kod sistemi (A, B, C)
Sahada en çok kafa karıştıran konu budur. FANUC torna kontrollerinde aynı işi yapan komut, tezgâhın G kod sistemine göre farklı numarayla yazılır. Üç sistem vardır: A, B ve C. Hangisinin aktif olduğunu makine üreticisi parametreyle seçer.
| Sistem A | Sistem B | Sistem C | İşlev |
|---|---|---|---|
| G20 / G21 | G20 / G21 | G70 / G71 | inç / mm girişi |
| G50 | G92 | G92 | Koordinat sistemi ayarı veya maks. devir sınırlaması |
| G32 | G33 | G33 | Diş çekme |
| G70 | G70 | G72 | Finiş çevrimi |
| G71 | G71 | G73 | Boyuna kaba tornalama |
| G72 | G72 | G74 | Alın kaba tornalama |
| G73 | G73 | G75 | Profil tekrarlama çevrimi |
| G74 | G74 | G76 | Alın gaga delme çevrimi |
| G75 | G75 | G77 | Dış/iç çap kanal açma çevrimi |
| G76 | G76 | G78 | Çoklu diş çekme çevrimi |
| G90 | G77 | G20 | Dış/iç çap tekli tornalama çevrimi |
| G92 | G78 | G21 | Diş çekme çevrimi |
| G94 | G79 | G24 | Alın tornalama çevrimi |
| G98 / G99 | G94 / G95 | G94 / G95 | Dakikada ilerleme / devirde ilerleme |
| G50.3 | G92.1 | G92.1 | Parça koordinat sistemi preset |
G90 tekli tornalama çevrimidir. Frezede ise G90 mutlak programlamadır. Aynı numara, tamamen farklı iş. Başka bir tezgâhın programını kopyalarken önce tezgâhınızın hangi G kod sisteminde olduğunu öğrenin.Türkiye’deki tezgâhların büyük çoğunluğunda Sistem A aktiftir. Aşağıdaki torna listesinde üç sistem de yan yana verilmiştir.
FANUC İşleme Merkezi (Freze) G Kod Listesi
Series 0i-MODEL F işleme merkezi sistemi. Parantez içindekiler alternatif yazımlardır.
| G kodu | İşlev |
|---|---|
| Hareket ve interpolasyon | |
| G00 | Konumlama (hızlı hareket) |
| G01 | Doğrusal interpolasyon (kesme ilerlemesi) |
| G02 | Saat yönünde dairesel veya helisel interpolasyon |
| G03 | Saat yönünün tersine dairesel veya helisel interpolasyon |
| G04 | Bekleme (dwell) |
| G04.1 | Buffer’lamayı engelleyen G kodu |
| G05.1 | AI gelişmiş ön izleme / AI kontur kontrolü / nano yumuşatma |
| G05.4 | HRV3 aç/kapa |
| G07.1 (G107) | Silindirik interpolasyon |
| G08 | AI gelişmiş ön izleme kontrolü |
| G09 | Tam duruş (exact stop) |
| G31 | Skip fonksiyonu |
| G31.8 | EGB eksen skip |
| G33 | Diş çekme |
| Veri girişi, düzlem ve birim | |
| G10 | Programlanabilir veri girişi |
| G10.6 | Takım geri çekme ve geri dönüş |
| G11 | Programlanabilir veri girişi modu iptal |
| G15 / G16 | Kutupsal koordinat komutu iptal / aç |
| G17 | XpYp düzlem seçimi |
| G18 | ZpXp düzlem seçimi |
| G19 | YpZp düzlem seçimi |
| G20 (G70) | İnç girişi |
| G21 (G71) | mm girişi |
| G22 / G23 | Depolanmış strok kontrolü aç / kapa |
| Referans ve koordinat sistemi | |
| G27 | Referans konuma dönüş kontrolü |
| G28 | Otomatik referans konuma dönüş |
| G28.2 | Pozisyon kontrolü devre dışı referans dönüşü |
| G29 | Referans konumdan hareket |
| G30 | 2., 3. ve 4. referans konuma dönüş |
| G30.2 | Pozisyon kontrolü devre dışı 2./3./4. referans dönüşü |
| G52 | Lokal koordinat sistemi ayarı |
| G53 | Makine koordinat sistemi ayarı |
| G53.1 | Takım ekseni yön kontrolü |
| G54 (G54.1) | Parça koordinat sistemi 1 seçimi |
| G55 | Parça koordinat sistemi 2 seçimi |
| G56 | Parça koordinat sistemi 3 seçimi |
| G57 | Parça koordinat sistemi 4 seçimi |
| G58 | Parça koordinat sistemi 5 seçimi |
| G59 | Parça koordinat sistemi 6 seçimi |
| G92 | Parça koordinat sistemi ayarı veya maks. mil devri sınırı |
| G92.1 | Parça koordinat sistemi preset |
| Takım telafisi | |
| G37 | Otomatik takım boyu ölçümü |
| G38 | Takım yarıçap telafisi: vektörü koru |
| G39 | Takım yarıçap telafisi: köşe dairesel interpolasyon |
| G40 | Takım yarıçap telafisi iptal |
| G41 | Takım yarıçap telafisi sol |
| G42 | Takım yarıçap telafisi sağ |
| G40.1 / G41.1 / G42.1 | Normal yön kontrolü iptal / sol / sağ |
| G43 | Takım boyu telafisi + |
| G44 | Takım boyu telafisi − |
| G43.7 | Takım ofseti |
| G45 / G46 | Takım ofseti: artır / azalt |
| G47 / G48 | Takım ofseti: iki kat artır / azalt |
| G49 (G49.1) | Takım boyu telafisi iptal |
| Ölçekleme, aynalama, döndürme | |
| G50 / G51 | Ölçekleme iptal / aç |
| G50.1 / G51.1 | Programlanabilir ayna görüntüsü iptal / aç |
| G68 / G69 | Koordinat sistemi döndürme veya 3 boyutlu koordinat dönüşümü aç / kapa |
| G68.2 | Eğik işleme düzlemi indeksleme |
| G68.3 | Takım ekseni yönüne göre eğik düzlem indeksleme |
| G72.1 / G72.2 | Şekil kopyalama (dönerek / doğrusal) |
| Hareket modu ve makro | |
| G60 | Tek yönlü konumlama |
| G61 | Tam duruş modu |
| G62 | Otomatik köşe override |
| G63 | Kılavuz çekme modu |
| G64 | Kesme modu (sürekli geçiş) |
| G65 | Makro çağırma |
| G66 / G66.1 | Modal makro çağırma A / B |
| G67 | Modal makro çağırma iptal |
| Delik delme çevrimleri (canned cycle) | |
| G73 | Yüksek hızlı gaga delme çevrimi |
| G74 | Sol kılavuz çekme çevrimi |
| G76 | Hassas bara çevrimi (fine boring) |
| G80 | Çevrim iptal |
| G81 | Delme / punta çevrimi |
| G82 | Delme veya havsız (counter boring) çevrimi |
| G83 | Gaga delme çevrimi |
| G84 | Kılavuz çekme çevrimi |
| G84.2 / G84.3 | Rijit kılavuz çekme / sol rijit kılavuz (FS10/11 formatı) |
| G85 | Bara çevrimi |
| G86 | Bara çevrimi |
| G87 | Ters bara çevrimi (back boring) |
| G88 / G89 | Bara çevrimleri |
| G98 / G99 | Çevrim dönüşü: başlangıç seviyesi / R noktası seviyesi |
| Programlama modu, ilerleme ve mil | |
| G90 | Mutlak programlama |
| G91 | Artımsal (incremental) programlama |
| G91.1 | Maksimum artımsal değer kontrolü |
| G93 | Ters zaman ilerlemesi |
| G94 | Dakikada ilerleme (mm/dak) |
| G95 | Devirde ilerleme (mm/dev) |
| G96 | Sabit kesme hızı kontrolü |
| G97 | Sabit kesme hızı kontrolü iptal |
| G160 / G161 | İlerleme kontrolü iptal / aç (taşlama) |
| G75, G77, G78, G79 | Taşlama çevrimleri (dalma, direkt ölçülü, yüzey) |
| G50.4 / G51.4 | Senkron kontrol iptal / başlat |
| G50.5 / G51.5 | Kompozit kontrol iptal / başlat |
| G50.6 / G51.6 | Üst üste bindirme kontrolü iptal / başlat |
| G80.4 / G81.4 | Elektronik dişli kutusu: senkronizasyon iptal / başlat |
FANUC Torna G Kod Listesi (Sistem A / B / C)
Üç sütun üç farklı G kod sistemini gösterir. Tezgâhınızda hangisi aktifse o sütunu okuyun.
| A | B | C | İşlev |
|---|---|---|---|
| Hareket ve interpolasyon | |||
| G00 | G00 | G00 | Konumlama (hızlı hareket) |
| G01 | G01 | G01 | Doğrusal interpolasyon |
| G02 | G02 | G02 | Dairesel interpolasyon CW |
| G03 | G03 | G03 | Dairesel interpolasyon CCW |
| G04 | G04 | G04 | Bekleme (dwell) |
| G05.1 | G05.1 | G05.1 | AI kontur kontrolü |
| G07.1 | G07.1 | G07.1 | Silindirik interpolasyon |
| G09 | G09 | G09 | Tam duruş |
| G12.1 / G13.1 | G12.1 / G13.1 | G12.1 / G13.1 | Kutupsal koordinat interpolasyonu aç / kapa |
| G31 | G31 | G31 | Skip fonksiyonu |
| Diş çekme | |||
| G32 | G33 | G33 | Diş çekme (sabit hatve) |
| G34 | G34 | G34 | Değişken hatveli diş çekme |
| G35 | G35 | G35 | Dairesel diş çekme CW |
| G36 | G36 | G36 | Dairesel diş çekme CCW veya otomatik takım ofseti (parametreye bağlı) |
| Birim, düzlem, strok | |||
| G20 | G20 | G70 | İnç girişi |
| G21 | G21 | G71 | mm girişi |
| G17 / G18 / G19 | aynı | aynı | XpYp / ZpXp / YpZp düzlem seçimi |
| G22 / G23 | aynı | aynı | Depolanmış strok kontrolü aç / kapa |
| G25 / G26 | aynı | aynı | Mil devir dalgalanması algılama kapa / aç |
| Referans ve koordinat sistemi | |||
| G27 | G27 | G27 | Referans konuma dönüş kontrolü |
| G28 | G28 | G28 | Referans konuma dönüş |
| G29 | G29 | G29 | Referans konumdan hareket |
| G30 | G30 | G30 | 2., 3., 4. referans konuma dönüş |
| G50 | G92 | G92 | Koordinat sistemi ayarı / maks. mil devri sınırı |
| G50.3 | G92.1 | G92.1 | Parça koordinat sistemi preset |
| G52 | G52 | G52 | Lokal koordinat sistemi |
| G53 | G53 | G53 | Makine koordinat sistemi |
| G54…G59 | aynı | aynı | Parça koordinat sistemi 1…6 |
| Takım telafisi | |||
| G40 | G40 | G40 | Takım ucu yarıçap telafisi iptal |
| G41 | G41 | G41 | Takım ucu yarıçap telafisi sol |
| G42 | G42 | G42 | Takım ucu yarıçap telafisi sağ |
| G38 / G39 | aynı | aynı | Telafide vektör koruma / köşe dairesel |
| G43.7 | G43.7 | G43.7 | Takım ofseti |
| G49 | G49 | G49 | Takım boyu telafisi iptal |
| G50.1 / G51.1 | aynı | aynı | Programlanabilir ayna görüntüsü iptal / aç |
| G68 / G69 | aynı | aynı | Çift taretli aynalama veya dengeli kesme modu aç / kapa |
| Çoklu tekrarlı tornalama çevrimleri | |||
| G70 | G70 | G72 | Finiş çevrimi |
| G71 | G71 | G73 | Boyuna kaba tornalama (stock removal in turning) |
| G72 | G72 | G74 | Alın kaba tornalama (stock removal in facing) |
| G73 | G73 | G75 | Profil tekrarlama çevrimi |
| G74 | G74 | G76 | Alın gaga delme çevrimi |
| G75 | G75 | G77 | Dış/iç çap kanal açma ve kesme çevrimi |
| G76 | G76 | G78 | Çoklu diş çekme çevrimi |
| Tekli tornalama çevrimleri | |||
| G90 | G77 | G20 | Dış/iç çap tekli tornalama çevrimi |
| G92 | G78 | G21 | Diş çekme çevrimi |
| G94 | G79 | G24 | Alın tornalama çevrimi |
| Delik delme çevrimleri (tahrikli takım) | |||
| G80 | G80 | G80 | Delme çevrimi iptal |
| G83 | G83 | G83 | Alın delme çevrimi |
| G83.5 / G83.6 | aynı | aynı | Yüksek hızlı gaga delme / gaga delme |
| G84 | G84 | G84 | Alın kılavuz çekme çevrimi |
| G84.2 | G84.2 | G84.2 | Rijit kılavuz çekme (FS10/11-T formatı) |
| G85 | G85 | G85 | Alın bara çevrimi |
| G87 | G87 | G87 | Yan yüzey delme çevrimi |
| G88 | G88 | G88 | Yan yüzey kılavuz çekme çevrimi |
| G89 | G89 | G89 | Yan yüzey bara çevrimi |
| İlerleme, mil ve makro | |||
| G96 | G96 | G96 | Sabit kesme hızı kontrolü (m/dak) |
| G97 | G97 | G97 | Sabit kesme hızı iptal (sabit devir) |
| G98 | G94 | G94 | Dakikada ilerleme (mm/dak) |
| G99 | G95 | G95 | Devirde ilerleme (mm/dev) |
| G61 / G64 | aynı | aynı | Tam duruş modu / kesme modu |
| G63 | G63 | G63 | Kılavuz çekme modu |
| G65 | G65 | G65 | Makro çağırma |
| G66 / G66.1 / G67 | aynı | aynı | Modal makro çağırma A / B / iptal |
| G10 / G11 | aynı | aynı | Programlanabilir veri girişi aç / iptal |
FANUC M Kod Listesi — ve neden “standart liste” diye bir şey yok
İnternette dolaşan “FANUC M kodları listesi” tablolarının büyük kısmı yanıltıcıdır. Kaynak kılavuz konuyu net koyar: M adresinden sonra bir sayı yazıldığında kontrol, tezgâha bir kod sinyali ve bir strobe sinyali gönderir. Hangi M kodunun hangi makine fonksiyonuna karşılık geldiğini makine üreticisi belirler.
Yani M kodlarının çok büyük kısmı FANUC’un değil, tezgâhı yapan firmanın tanımıdır. Doğru liste her zaman makine üreticisinin kılavuzundadır.
FANUC’un kendi sabitlediği M kodları
Kontrol tarafından işlenen, üreticiye bırakılmayan M kodları şunlardır:
| M kodu | İşlev | Davranış |
|---|---|---|
| M00 | Program duruşu | Blok işlendikten sonra otomatik çalışma durur. Tüm modal bilgiler korunur. Cycle Start ile devam edilir. |
| M01 | Opsiyonel duruş | M00 gibidir, ancak sadece panelde Optional Stop anahtarı açıksa etki eder. |
| M02 | Program sonu | Ana programın sonunu belirtir. Otomatik çalışma durur ve CNC resetlenir. |
| M30 | Program sonu | M02 gibidir; blok işlendikten sonra kontrol programın başına döner. |
| M98 | Alt program çağırma | Kod ve strobe sinyali tezgâha gönderilmez; işlem kontrol içinde kalır. |
| M99 | Alt program sonu | Kontrolü ana programa döndürür. Sinyal gönderilmez. |
| M198 | Harici cihazdan alt program çağırma | Kontrol tarafından işlenir. |
Sektörde yaygın ama üreticiye bağlı M kodları
Aşağıdakiler çoğu tezgâhta aynı anlama gelir, ama garanti değildir. Kendi tezgâhınızın kılavuzundan doğrulayın:
| M kodu | Yaygın karşılığı |
|---|---|
| M03 / M04 | Mil saat yönünde / tersine dönsin |
| M05 | Mil dursun |
| M06 | Takım değiştir |
| M08 / M09 | Soğutma sıvısı aç / kapa |
| M19 | Mil oryantasyonu |
| M29 | Rijit kılavuz çekme modu (çoğu freze tezgâhında G84 öncesi) |
| M10 / M11 | Bağlama / çözme (divizör, ayna, punta — üreticiye göre değişir) |
| M07 | Sisleme (mist) soğutma |
| M48 / M49 | İlerleme override etkin / iptal |
Bir blokta kaç M kodu yazılabilir?
Normalde bir blokta tek M kodu yazılır. Ancak parametreyle bu sınır genişletilebilir:
- Parametre 3404 bit 7 (M3B) = 1 → bir blokta 3 M kodu
- Parametre 11630 bit 5 (M5B) = 1 → bir blokta 5 M kodu
Bir blokta yazılan M kodları tezgâha aynı anda gönderilir; bu da çevrim süresini kısaltır.
Modal ve tek seferlik (one-shot) G kodları
G kodları gruplara ayrılır ve iki türlü davranır:
- Modal kodlar — yazıldığı blokta geçerli olur ve aynı gruptan başka bir kod yazılana kadar geçerli kalır. Örnek:
G01yazıldıktan sonra alt satırlarda tekrar yazmaya gerek yoktur. - Tek seferlik (00 grubu) kodlar — sadece yazıldığı blokta etkilidir. Örnek:
G04bekleme,G28referansa dönüş,G65makro çağırma.
Aynı gruptan iki kod bir bloka yazılırsa sonuncusu geçerli olur. Farklı gruplardan kodlar ise aynı blokta birlikte yazılabilir — G90 G54 G00 X0 Y0 geçerli bir satırdır.
Sahada en sık karıştırılan kodlar
Frezede G90 ≠ tornada G90
Frezede G90 mutlak programlamadır. Sistem A torna kontrolünde G90 tekli tornalama çevrimidir. İki tezgâh arasında program taşırken en çok bu hata yapılır.
G98 / G99 iki ayrı anlama gelir
Frezede G98/G99 delik çevriminin dönüş seviyesini belirler (başlangıç seviyesi / R noktası). Sistem A tornada ise G98/G99 ilerleme birimidir (mm/dak / mm/dev).
G20 / G21 ve G70 / G71 karışıklığı
Sistem A ve B’de G20/G21 inç/mm girişidir. Sistem C’de aynı iş G70/G71 ile yapılır — oysa Sistem A’da G70/G71 finiş ve kaba tornalama çevrimleridir. Yanlış sistemde yazılan tek satır, tezgâhın bambaşka bir iş yapmasına yol açar.
G43 H numarası ile D numarasını karıştırmak
G43 H.. takım boyu telafisidir; G41/G42 D.. takım yarıçap telafisidir. H yerine D yazılan bir satır, Z ekseninde beklenmedik dalışa sebep olur.
G96 kullanırken G50 / G92 devir sınırı koymamak
Sabit kesme hızında (G96) çap küçüldükçe devir yükselir. Alın tornalamada merkeze yaklaşırken devir tezgâhın sınırına dayanır. Sistem A’da G50 S...., Sistem B/C’de G92 S.... ile maksimum devri sınırlayın.
Sık sorulan sorular
FANUC G kodları her seride aynı mı?
Temel kodlar (G00, G01, G02, G03, G04, G17–G19, G40–G43, G54–G59, G80–G89, G90/G91) tüm serilerde aynıdır. Fark gelişmiş ve opsiyonel kodlardadır: G05.1 AI kontur kontrolü, G68.2 eğik düzlem indeksleme, G51.4 senkron kontrol gibi kodlar eski serilerde bulunmaz veya opsiyon olarak satın alınmamış olabilir. Bu sayfadaki listeler Series 0i-MODEL F esas alınarak hazırlanmıştır.
Tezgâhımın hangi G kod sisteminde olduğunu nasıl anlarım?
En pratik yol: mevcut bir programa bakın. Diş çekme G32 ile yazılmışsa Sistem A, G33 ile yazılmışsa Sistem B veya C’dir. İlerleme birimi G99 ile devir başına ayarlanıyorsa Sistem A, G95 ile ayarlanıyorsa B/C’dir. Kesin bilgi makine üreticisinin kılavuzundadır; sistem seçimi parametreyle yapılır.
M kodlarının tam listesini nereden bulabilirim?
FANUC kılavuzunda tam M kod listesi yoktur, çünkü M kodlarının çoğunu makine üreticisi tanımlar. Kontrolün kendi işlediği kodlar sadece M00, M01, M02, M30, M98, M99 ve M198’dir. Diğerleri için tezgâhınızın üretici kılavuzuna bakmalısınız. İnternetteki genel M kod listeleri sadece yaygın kullanımı gösterir, bağlayıcı değildir.
Bir blokta birden fazla M kodu yazabilir miyim?
Varsayılan olarak hayır, bir blokta tek M kodu yazılır. Parametre 3404 bit 7 (M3B) ayarlanırsa 3, parametre 11630 bit 5 (M5B) ayarlanırsa 5 M kodu aynı blokta yazılabilir. Bu kodlar tezgâha aynı anda gönderildiği için çevrim süresi kısalır.
G54 ile G92 arasındaki fark nedir?
G54–G59 ofset tablosunda kayıtlı parça koordinat sistemlerini seçer; değer ekrandan girilir ve kalıcıdır. Frezede G92 (tornada Sistem A’da G50) ise koordinat sistemini program içinden ayarlar ve takımın o anki konumunu referans alır. Modern uygulamada G54–G59 tercih edilir; G92/G50 çoğunlukla maksimum mil devri sınırlaması için kullanılır.
Modal kod ne demek?
Yazıldığı blokta geçerli olan ve aynı gruptan başka bir kod yazılana kadar geçerli kalan koddur. G01 bir kez yazıldıktan sonra takip eden satırlarda tekrar yazmaya gerek yoktur. 00 grubu kodlar ise tek seferliktir: G04, G28, G65 gibi.
G81 ile G83 arasındaki fark nedir?
G81 tek pasoda deler ve geri çıkar — sığ delikler ve punta için. G83 gaga delme çevrimidir: belirlenen Q derinliği kadar iler, geri çıkar, talaşı kırar ve tekrar dalar. Derin deliklerde talaş tahliyesi ve matkap ömrü için G83 kullanılır. G73 ise yüksek hızlı gaga delmedir; delikten tam çıkmaz, kısa bir geri çekilme yapar.
Programın başına hangi G kodlarını yazmalıyım?
Güvenli bir emniyet satırı modal durumu bilinen bir hale getirir. Frezede yaygın kullanım: G17 G21 G40 G49 G80 G90 G54. Tornada (Sistem A): G21 G40 G97 G99 ve gerekiyorsa G50 S.... ile devir sınırlaması. Böylece bir önceki programdan kalan telafi veya çevrim modu taşınmaz.
Kaynaklar
- FANUC — Series 0i-MODEL F, Common to Lathe System / Machining Center System, OPERATOR’S MANUAL, doküman no B-64604EN/01: Bölüm 3.1 İşleme merkezi sisteminde G kod listesi, Bölüm 3.2 Torna sisteminde G kod listesi (Sistem A/B/C), Bölüm 11.1 Yardımcı fonksiyon (M fonksiyonu), Bölüm 11.2 Bir blokta çoklu M komutu, Bölüm 13.3 Alt program (M98, M99)
- FANUC — Series 0i-MODEL F For Lathe System OPERATOR’S MANUAL, B-64604EN-1/01
- FANUC — Series 0i-MODEL F For Machining Center System OPERATOR’S MANUAL, B-64604EN-2/01

