(90) 212 877 14 77

Pzt - Cum 8.30 - 18.00

İkitelli, İstanbul

CNC Programlamada G ve M Kodları

CNC (Bilgisayarlı Sayısal Kontrol) tezgahları, modern imalatın bel kemiğidir. Bu karmaşık makinelerin hassas bir şekilde çalışmasını sağlayan ise onların anladığı dildir: G ve M kodları. Bir operatörün bir parçayı işlemesi, bir teknik servisin arızayı teşhis etmesi veya bir mühendisin bir süreci optimize etmesi, temelinde bu kodların doğru anlaşılmasına ve kullanılmasına bağlıdır. G kodları, tezgahın hareketlerini (Geometri) tanımlarken, M kodları yardımcı makine fonksiyonlarını (Miscellaneous) yönetir. Bu rehber, G ve M kodlarının ne olduğundan başlayarak, başlangıç seviyesinden ileri seviyeye kadar nasıl çalıştıklarını, programlamadaki yerlerini ve hatta arıza teşhisindeki rollerini detaylı bir şekilde ele alacaktır.

CNC Programlamanın Temel Taşları: G ve M Kodları Nedir?

Bir CNC programı, temelde tezgahın ne yapması gerektiğini adım adım anlatan bir talimat listesidir. Bu talimatların her biri, G ve M kodları başta olmak üzere çeşitli harf ve sayılardan oluşur. Bu iki kod grubu, programlamanın temelini oluşturur ve aralarındaki farkı bilmek hayati önem taşır.

G Kodları (Hazırlık Kodları): Hareketi Yönetin

G kodları, tezgahın takımının veya tablasının nasıl ve nereye hareket edeceğini belirler. “Geometri” veya “Hazırlık” kodları olarak da bilinirler. Bir parçayı işlerken kesicinin hangi yoldan gideceğini, ne hızla gideceğini ve hangi koordinat sistemini kullanacağını G kodları ile tanımlarız.

G kodları genellikle “modal” (kalıcı) yapıdadır. Bu, bir G kodu komutu verildiğinde, aynı gruptan başka bir G kodu onu iptal edene veya değiştirene kadar aktif kalacağı anlamına gelir.

En Sık Kullanılan Temel G Kodları:

  • G00 (Hızlı Hareket): Kesicinin parçaya temas etmeden, en yüksek hızda boşta hareket etmesini sağlar. Amacı, kesme dışındaki pozisyonlama sürelerini en aza indirmektir. Güvenlik açısından en çok dikkat edilmesi gereken kodlardan biridir; yanlış kullanılırsa takımın veya iş parçasının çarpmasına neden olabilir.
  • G01 (Doğrusal İnterpolasyon): Kesicinin, belirlenen bir ilerleme (F) hızıyla iki nokta arasında düz bir çizgi halinde hareket ederek kesme yapmasını sağlar. Talaşlı imalatın en çok kullanılan kodudur.
  • G02 (Dairesel İnterpolasyon – Saat Yönü): Kesicinin, belirlenen bir F hızıyla saat yönünde dairesel bir yay çizmesini sağlar.
  • G03 (Dairesel İnterpolasyon – Saat Yönü Ters): G02‘nin tam tersidir; kesicinin saat yönünün tersine bir yay çizmesini sağlar.
  • G90 (Mutlak Koordinat Sistemi): Tüm koordinatların, programın başında tanımlanan tek bir sıfır noktasına (genellikle G54 ile belirlenen iş parçası sıfırı) göre verilmesini sağlar.
  • G91 (Artımsal Koordinat Sistemi): Her hareketin, takımın bulunduğu bir önceki noktaya göre ne kadar hareket edeceğini belirtir.
  • G54 – G59 (İş Parçası Koordinat Sistemleri): Makinenin kendi sıfır noktası ile iş parçasının sıfır noktası arasındaki farkı (ofseti) tanımlar. Bir programın farklı konumlardaki birden fazla parçada çalışabilmesini sağlar.
  • G40, G41, G42 (Takım Yarıçap Telafisi): Programı yazarken takımın merkezini değil, parçanın gerçek konturlarını takip etmeyi sağlar. G41 (sol telafi) ve G42 (sağ telafi), takımın yarıçapı kadar ofset vererek hassas ölçülerin elde edilmesini sağlar. G40 ise telafiyi iptal eder.

M Kodları (Yardımcı Kodlar): Makineyi Kontrol Edin

M kodları veya “Yardımcı” kodlar, tezgahın mekanik fonksiyonlarını açıp kapatan komutlardır. Hareketle doğrudan ilgili değillerdir; daha çok “düğmeye basma” eylemlerini temsil ederler.

En Sık Kullanılan Temel M Kodları:

  • M03 (Fener Mili Dönüşü – Saat Yönü): Spindle’ı (fener mili) saat yönünde (sağdan kesen takımlar için) döndürür. Genellikle bir S (Speed/Hız) komutu ile birlikte kullanılır (örn: M03 S1500).
  • M04 (Fener Mili Dönüşü – Saat Yönü Tersi): Spindle’ı saat yönünün tersine (soldan kesen takımlar için) döndürür.
  • M05 (Fener Mili Durdurma): Spindle dönüşünü durdurur.
  • M06 (Takım Değiştirme): Otomatik Takım Değiştirici’yi (ATC) aktive eder. Genellikle bir T (Tool/Takım) komutu ile birlikte kullanılır (örn: M06 T01 – 1 numaralı takımı getir).
  • M08 (Soğutma Sıvısı Aç): Kesme işlemi sırasında soğutma sıvısını (bor yağı) açar.
  • M09 (Soğutma Sıvısı Kapat): Soğutma sıvısını kapatır.
  • M00 (Program Durdurma): Programı koşulsuz olarak durdurur. Operatörün “Cycle Start” düğmesine basmasıyla program kaldığı yerden devam eder.
  • M01 (İsteğe Bağlı Durdurma): Kontrol panelindeki “Optional Stop” düğmesi aktifse programı durdurur. Genellikle ölçüm veya kontrol amaçlı kullanılır.
  • M30 (Program Sonu ve Başa Dönme): Programın bittiğini belirtir. Spindle’ı durdurur, soğutmayı kapatır ve program imlecini en başa alır. Bir sonraki parçaya başlamak için idealdir.

Başlangıç Seviyesinden İleri Seviyeye: Kodları Anlamak ve Uygulamak

Bu kodların tek başına ne anlama geldiğini bilmek, bir dilin kelimelerini bilmek gibidir. Asıl ustalık, bu kelimeleri bir araya getirerek anlamlı “cümleler” yani program blokları oluşturmaktır.

Örnek Bir CNC Program Bloğu Nasıl Okunur?

Aşağıda basit bir kare kontur işleyen program bloğu ve açıklaması yer almaktadır:

N10 G90 G21 G54 G17 G40 G80  ; (Güvenlik satırı: Mutlak, Metrik, İş Parçası 0'ı, XY düzlemi, Telafi İptal, Çevrim İptal)
N20 M06 T01                 ; (1 Numaralı Takımı (T01) çağır)
N30 M03 S1200               ; (Fener milini saat yönünde 1200 devir/dk hızla döndür)
N40 G00 X-10.0 Y-10.0       ; (Hızlı hareketle X-10, Y-10 başlangıç noktasına git)
N50 G00 Z5.0 M08            ; (Hızlı hareketle parçanın 5mm üzerine gel VE soğutmayı aç)
N60 G01 Z-2.0 F150          ; (F150 ilerlemeyle Z-2.0mm'ye, yani parçanın içine 2mm dal)
N70 G41 D1 G01 X40.0 F200    ; (Takım yarıçap telafisi (sol) aktif, X40'a F200 ilerlemeyle git)
N80 G01 Y40.0                 ; (Y40'a git - G01 modal olduğu için tekrar yazmaya gerek yok)
N90 G01 X0.0                  ; (X0'a git)
N100 G01 Y0.0                 ; (Y0'a git - başlangıca dönüş)
N110 G00 G40 Z50.0 M09        ; (Hızlı hareketle Z50'ye çık, telafiyi iptal et, soğutmayı kapat)
N120 M05                      ; (Fener milini durdur)
N130 G00 X-10.0 Y-10.0        ; (Güvenli başlangıç noktasına dön)
N140 M30                      ; (Programı bitir ve başa dön)

Bu örnekte, N harfi satır numarasını belirtir. G00 ile G01 arasındaki fark, F (Feedrate/İlerleme) değeri alıp almamasıdır. G01‘in F hızı olmadan kullanılması alarma neden olur.

G ve M Kodları: Programlamadan Arıza Teşhisine

Hedef kitlenizin (arızalı CNC makinelerini tamir etmek isteyenler) bilmesi gereken en önemli nokta şudur: G ve M kodları sadece programlama için değil, aynı zamanda arıza teşhisi ve bakım için de kritik araçlardır.

Bir makine arızalandığında, teknik servisin ilk baktığı yerlerden biri, arızanın meydana geldiği anda hangi program satırının ve hangi G/M kodunun aktif olduğudur.

Muhtemel Senaryolar:

  1. Arıza: Takım Değiştirme (M06) Sırasında Sıkışma: Eğer makine M06 komutunda takılıp kalıyorsa, sorun programda değil, ATC (Otomatik Takım Değiştirici) mekanizmasında, sensörlerinde veya pnömatik sistemdedir. Kod, bize sorunun nerede olduğunu daraltma imkanı verir.
  2. Arıza: Spindle Başlamıyor (M03): Operatör M03 S1500 komutunu gönderir ama spindle dönmez. Sorun nerede? Programda mı? Yoksa spindle sürücüsünde mi? PLC (Makine kontrolcüsü) M03 sinyalini sürücüye gönderiyor mu? Sürücü bu sinyali alıp motoru besliyor mu? M03 kodu, arıza takibinin başlangıç noktasıdır.
  3. Arıza: Eksen Hareketi Yok (G01): G01 komutu verildiğinde eksen hareket etmiyor veya titreme yapıyorsa, bu durum eksen motoru, sürücüsü, vidalı mil (ballscrew) veya lineer kızaklardaki mekanik bir soruna işaret edebilir. Programın kendisi (kod) doğru olabilir, ancak makinenin donanımı bu komutu yerine getiremiyordur.

İşte bu noktada, doğru teşhis ve doğru yedek parça hayati önem kazanır.

Güvenilir Destek ve Orijinal Yedek Parça Neden Önemli?

Bir M03 komutunun çalışmaması, basit bir parametre hatasından, ömrünü tamamlamış bir spindle sürücüsüne kadar birçok nedenden kaynaklanabilir. Arızayı doğru teşhis etmek zaman ve tecrübe gerektirir. Yanlış teşhis, gereksiz parça değişimine ve makinenin daha uzun süre yatmasına neden olur.

Programlama ve arıza teşhisi konusunda kendinizi geliştirirken, donanım konusunda güvenilir bir partnere ihtiyacınız vardır.

Neden CNC CARE?

Eğer arızanız bir spindle sürücüsü, bir eksen motoru sürücüsü, bir güç kaynağı veya arızalı bir I/O kartı ise, ihtiyacınız olan yedek parçayı https://www.cnccare.com.tr adresinden temin edebilirsiniz.

  1. 25 Yıllık Deneyim: Biz sadece bir e-ticaret sitesi değiliz. CNC CARE Makina Teknolojileri A.Ş. olarak 25 yıllık saha tecrübesine sahibiz. Hangi parçanın neden arızalandığını ve hangi parçanın makinenizle tam uyumlu olduğunu biliyoruz.
  2. Kurumsal ve Orijinal Ürün Garantisi: Piyasada birçok yan sanayi veya onarılmış ürün bulunabilir. Ancak CNC tezgahları gibi hassas makinelerde orijinal ürün kullanmak, makinenizin ömrünü ve performansını garanti altına alır. cnccare.com.tr, sattığı her ürünün arkasında kurumsal bir yapıyla durur.
  3. Ücretsiz Teknik Destek: Hangi parçayı almanız gerektiğinden emin değil misiniz? Sitemizden alacağınız ürünler için ücretsiz telefon ve ürün desteği sunuyoruz. Sadece parça satmıyor, doğru çözümü bulmanıza da yardımcı oluyoruz.
  4. Ücretsiz Hızlı Kargo: CNC tezgahlarının bir gün durması bile ciddi bir üretim kaybıdır. İhtiyacınız olan parçanın size en hızlı şekilde ulaşması için ücretsiz ve hızlı kargo avantajları sunuyoruz.

Doğru programlama (G ve M kodları) makinenizi korur, ancak kaçınılmaz donanım arızalarında doğru ve güvenilir yedek parça (cnccare.com.tr) makinenizi tekrar ayağa kaldırır.

Sıkça Sorulan Sorular (SSS)

S1: G00 (Hızlı Hareket) ile G01 (Doğrusal Kesme) arasındaki temel fark nedir ve neden bu kadar önemlidir?

Cevap: Temel fark hız kontrolü ve yol kontrolüdürG01, belirlenen bir F (İlerleme) değeriyle, programlanan yol üzerinde (örn: düz çizgi) hassas bir şekilde hareket eder ve talaş kaldırmak için kullanılır. G00 ise makinenin o anki maksimum hızında, en kısa sürede hedef noktaya gitmesini sağlar. G00‘ün yolu her zaman düz bir çizgi olmayabilir (bazı kontrollerde önce 45 derece, sonra düz gider – “dog-leg” hareketi) ve F hızı kontrolü yoktur. En önemlisi, G00 asla kesme yapmak için kullanılmaz. G00 komutuyla parçaya dalmak, takımın, iş parçasının ve hatta fener milinin (spindle) ağır hasar almasına neden olabilecek en tehlikeli operatör hatalarından biridir.

S2: “Modal” kod ne anlama gelir ve programlamada neden dikkate alınmalıdır?

Cevap: “Modal” (Kalıcı) kod, aktif edildiği satırdan sonra, aynı gruptan başka bir kod tarafından iptal edilene veya değiştirilene kadar geçerliliğini koruyan kod demektir. Örneğin, G01 modal bir koddur. Bir satırda G01 X10.0 F150yazdınız; bir sonraki satıra sadece Y10.0 yazmanız yeterlidir. Makine, G01 komutunun hala aktif olduğunu “hatırlar” ve bu hareketi de G01 (F150 ilerlemeyle doğrusal kesme) olarak yapar. Eğer G00 (Hızlı Hareket) yazarsanız, G01 iptal olur. Bu, programları çok daha kısa ve okunaklı hale getirir. Ancak tehlikesi şudur: Eğer hangi modal kodun aktif olduğunu unutursanız (örn: G00‘ın aktif olduğunu unutup Z ekseninde parçaya dalma komutu verirseniz), büyük kazalara yol açabilirsiniz.

S3: Bir CNC programında M30 komutu ne işe yarar ve M02‘den farkı nedir?

Cevap: M30 komutu, “Program Sonu ve Başa Dönme” anlamına gelir. Bu komut çalıştığında makine, programla ilgili tüm yardımcı fonksiyonları (fener mili M05, soğutma M09 vb.) durdurur ve program imlecini (okuyucuyu) otomatik olarak programın en başına (ilk satıra) geri gönderir. Bu, seri imalatta operatörün “Cycle Start” düğmesine basarak aynı programı tekrar tekrar çalıştırması için idealdir. M02 ise “Program Sonu” demektir. M30 gibi yardımcı fonksiyonları durdurur ancak program imlecini başa döndürmez; imleç programın sonunda kalır. Modern tezgahlarda M02 kullanımı neredeyse hiç tercih edilmez ve hemen her zaman M30 kullanılır.

CNC Servo Alarmı Rehberi: Fanuc 401, 414, 449 Alarm Kodları ve Çözüm Yolları

CNC tezgahınızda üretim tam hız devam ederken ekranın aniden...

Tel Erozyon Kesiminde EDM Sıvılarının Önemi: Kapsamlı Teknik Rehber

Tel erozyon (Wire EDM) teknolojisi, metale fiziksel temas olmaksızın,...

Molibden Tel Nedir? Yeni Başlayanlardan Deneyimli Profesyonellere Kapsamlı Rehber!

Hassas İmalatın Stratejik Elektrotu Modern imalatta, özellikle metal işleme ve...

CNC Servo Motor Arızalarının Teşhisi ve Bakımı: Sistematik Yaklaşım

CNC tezgahlarında üretimin kesintisiz ve hassas bir şekilde devam...

CNC Makine Hassasiyetini Artırma: Kalibrasyondan Bakıma Komple Rehber

CNC işlemede "hassasiyet" sadece teknik bir terim değil, üretilen...