İşiniz veya hobiniz CNC makineleri veya 3D yazıcılarla ilişkiliyse, G-Code’un ne olduğunu ve nasıl çalıştığını anlamak sizin için çok önemlidir. Bu derste, G kodu dilinin temellerini, en önemli veya yaygın G kodu komutlarının neler olduğunu öğreneceğiz ve nasıl çalıştıklarını açıklayacağız.
G kodu, CNC (Bilgisayar Sayısal Kontrol) makineleri için bir programlama dilidir. G kodu “Geometrik Kod” anlamına gelir. Bir makineye ne yapacağını veya bir şeyi nasıl yapacağını söylemek için bu dili kullanırız. G kodu komutları, makineye nereye hareket edeceğini, ne kadar hızlı hareket edeceğini ve hangi yolu izleyeceğini bildirir.
Torna veya freze gibi bir takım tezgahlı sistem durumunda, kesici takım, istenen şekli elde etmek için malzemeyi keserek belirli bir takım yolunu takip etmek için bu komutlarla çalıştırılır.
Benzer şekilde, eklemeli üretim veya 3D yazıcılar durumunda, G kodu komutları makineye malzemeyi katman katman kesin bir geometrik şekil oluşturacak şekilde yerleştirmesini söyler.
G-Code Nasıl Okunur?
İlk bakışta bir G-code dosyası gördüğünüzde oldukça karmaşık görünebilir ama aslında anlaşılması o kadar da zor değildir.
G1 X103.505 Y153.291 E4.5648 ; movement and extrusion in XY plane G1 X103.291 Y153.505 E4.5804 ; movement and extrusion in XY plane G1 Z0.600 F3000 ; change layer G1 X104.025 Y154.025 F9000 ; movement in XY plane G1 X95.975 Y154.025 E0.4133 F1397 ; movement and extrusion in XY plane
Koda daha yakından bakarsak, satırların çoğunun aynı yapıya sahip olduğunu görebiliriz. Görünüşe göre G kodunun “karmaşık” kısmı, sadece Kartezyen koordinatlar olan gördüğümüz tüm sayılardır.
Tek bir satıra bakalım ve nasıl çalıştığını açıklayalım.
G01 X247.951560 Y11.817060 Z-1.000000 F400.000000
Hat aşağıdaki yapıya sahiptir:
G## X## Y## Z## F##
- Birincisi G kodu komutudur ve bu durumda bu, “düz bir çizgide belirli bir konuma hareket et” anlamına gelen G01’dir.
- X, Y ve Z değerleri ile konumu veya koordinatları bildiririz.
- Son olarak, F değeri ile ilerleme hızını veya hareketin gerçekleştirileceği hızı ayarlıyoruz.
Özetlemek gerekirse, G01 X247.951560 Y11.817060 Z-1.000000 F400.000000 satırı, CNC makinesine mevcut konumundan X247.951560, Y11.817060 ve Z-1.000000 koordinatlarına düz bir çizgide aşağıdaki hızda hareket etmesini söyler: 400 mm/dak. Birimi mm/dak’dır çünkü G kodu örnek görüntüsüne tekrar bakarsak, birimleri milimitere ayarlayan G21 komutunu kullandığımızı görebiliriz. Birimleri inç olarak istiyorsak bunun yerine G20 komutunu kullanırız.
En Önemli G Komutları
Aslında tüm G-Code’lara buradaki yazımızdan erişebilirsiniz, bu başlıkta sadece en önemli olanları derledik.
Artık bir G kodu satırını nasıl okuyacağımızı bildiğimize göre, en önemli veya yaygın olarak kullanılan G kodu komutlarına bir göz atabiliriz. Her birinin nasıl çalıştığını birkaç örnek üzerinden öğreneceğiz ve bu eğitimin sonunda G kodunun nasıl çalıştığını, nasıl okunacağını, nasıl değiştirileceğini ve hatta kendi G kodumuzu nasıl yazacağımızı tam olarak anlayabileceğiz.
G00 – Hızlı Konumlandırma
G00 komutu, makineyi mevcut bir konumdan belirtilen bir noktaya veya komut tarafından belirtilen koordinatlara maksimum hareket hızında hareket ettirir. Makine tüm eksenleri aynı anda hareket ettirecek, böylece hareketi aynı anda tamamlayacaklar. Bu, yeni konum noktasına düz bir çizgi hareketi ile sonuçlanır.
G00, kesme yapmayan bir harekettir ve amacı, kesme veya baskı gibi bir tür işe başlamak için makineyi istenen konuma hızla hareket ettirmektir.
G01 – Doğrusal İnterpolasyon
G01 G kodu komutu, makineye ayarlanmış bir besleme hızı veya hızda düz bir çizgide hareket etmesi talimatını verir. X, Y ve Z değerleri ile bitiş konumunu, F değeri ile hızı belirliyoruz. Makine kontrolörü, bu düz çizgiyi elde etmek için geçilecek ara noktaları hesaplar (enterpolasyon yapar). Bu G kodu komutları basit ve anlaşılması oldukça sezgisel olsa da, arkalarında makine kontrolörü bu hareketleri yapmak için saniyede binlerce hesaplama yapar.
Sadece konumlandırma için kullanılan G00 komutunun aksine, G01 komutu makine ana işini yaparken kullanılır. Torna veya freze durumunda, malzemeyi düz bir çizgide kesmek ve bir 3D yazıcı olması durumunda, malzemeyi düz bir çizgide ekstrüde etmek gibi örneklendirilebilir.
G02 – Saat Yönünde Dairesel İnterpolasyon
G02 komutu, makineye dairesel bir düzende saat yönünde hareket etmesini söyler. G01 komutuyla aynı konsepttir ve uygun işleme sürecini gerçekleştirirken kullanılır. Bitiş noktası parametrelerine ek olarak, burada dönme merkezini veya yay başlangıç noktasının yayın merkez noktasından uzaklığını da tanımlamamız gerekir. Başlangıç noktası aslında önceki komutun bitiş noktası veya geçerli noktadır.
Daha iyi anlamak için, önceki örnekteki G01 komutunun ardından G02 komutunu ekleyeceğiz.
Yani örnekte önce makineyi X5, Y12 noktasına hareket ettiren G01 komutuna sahibiz. Şimdi bu, G02 komutunun başlangıç noktası olacaktır. G02 komutunun X ve Y parametreleri ile bitiş noktasını belirliyoruz. Şimdi dairesel bir hareketle veya bir yay kullanarak bu son noktaya ulaşmak için merkez noktasını tanımlamamız gerekiyor. Bunu I ve J parametrelerini kullanarak yapıyoruz. I ve J değerleri, önceki komutun başlangıç noktasına veya bitiş noktasına göredir. Bu nedenle, X5 ve Y7’nin merkez noktasını almak için, X ekseni boyunca 0’lık bir kayma ve Y ekseni boyunca -5’lik bir kayma yapmamız gerekir.
G00, G01, G02 Örneği – Manuel G Kodu Programlama
Bu üç ana G kodu komutunu, G00, G01 ve G02’yi kullanarak basit bir CNC frezeleme örneğine bir göz atalım.
Yukarıdaki resimde gösterilen şeklin takım yolunu elde etmek için G-kodu komutlarını takip etmemiz gerekiyor:
G00 X5 Y5 ; NOKTA B G01 X0 Y20 F200 ; NOKTA C G01 X20 Y0 ; NOKTA D G02 X10 Y-10 I0 J-10 ; NOKTA E G02 X-4 Y-8 I-10 J0 ; NOKTA F G01 X-26 Y-2 ; NOKTA B
İlk G00 komutu ile makineyi başlangıç konumundan veya başlangıç konumundan hızlıca B(5,5) noktasına getiriyoruz. Buradan G01 komutunu kullanarak 200 besleme hızında “kesme” ile başlıyoruz. Burada, B(5,5) noktasından C(5,25) noktasına ulaşmak için, başlangıç B noktasına göre X ve Y için değerler kullandığımızı not edebiliriz. Yani Y yönünde +20 birim bizi C(5,25) noktasına götürecektir. Aslında bu, koordinatları mutlak veya göreli olarak yorumlamak için makineyi seçip seçmediğimize bağlıdır. Bunu daha sonraki bölümde açıklayacağız.
C(5,25) noktasına ulaştığımızda, D(25,25) noktasına ulaşmak için başka bir G01 komutumuz var. Ardından, bir merkez noktası (25,15) olan E(35,15) noktasına ulaşmak için dairesel bir hareket olan G02 komutunu kullanırız. F(31,7) noktasına ulaşmak için bir sonraki G02 komutu için aslında aynı merkez noktasına (25,15) sahibiz. Ancak, I ve J parametrelerinin önceki komuttan farklı olduğuna dikkat etmeliyiz, çünkü merkezi son uç noktadan veya E noktasından kaydırıyoruz. Takım yolunu, F(31, 7) B(5,5) noktasına geri götürmeliyiz.
Böylece, bu şekli yapmak için G kodunu manuel olarak programlayabiliriz. Yine de, bunun tam bir G kodu olmadığını not etmeliyiz, çünkü birkaç temel komutu daha kaçırıyoruz. İlk önce bu G kodu komutlarını açıklamamız gerektiğinden, G kodunun tamamını daha sonraki bir örnekte yapacağız.
G03 – Saat Yönünün Tersine Dairesel İnterpolasyon
G02 gibi, G03 G-kodu komutu da makineyi dairesel modelde hareket edecek şekilde tanımlar. Buradaki tek fark, hareketin saat yönünün tersine olmasıdır. Diğer tüm özellikler ve kurallar G02 komutuyla aynıdır.
Böylece, bu üç ana G kodu komutu olan G01, G02 ve G03 ile, kelimenin tam anlamıyla istediğimiz herhangi bir şekil için bir takım yolu oluşturabiliriz. Şimdi bunun nasıl mümkün olduğunu merak ediyor olabilirsiniz, ancak bu aslında bir bilgisayar ve bir CAM yazılımı için kolay bir iştir. Evet, bazen manuel olarak bir G kodu programı yapabileceğimiz doğru, ancak çoğu zaman bunu uygun yazılımlarla yapıyoruz, bu çok daha kolay ve daha güvenlidir.
Yine de, şimdi birkaç tane daha önemli ve yaygın olarak kullanılan komutu açıklayalım ve sonunda gerçek bir G kodu örneği yapalım.
G20/ G21 – Birim Seçimi
G20 ve G21 komutları, G kodu birimlerini inç veya milimetre olarak tanımlar.
- G20 = inç
- G21 = milimetre
Birimlerin programın başında ayarlanması gerektiğini unutmamalıyız. Birimleri belirlemezsek, makine önceki program tarafından ayarlanan varsayılanı dikkate alacaktır.
G17/ G18/ G18 – G-kodu Düzlem Seçimi
Bu G kodu komutları ile makinenin çalışma düzlemini seçiyoruz.
G17 – XY düzlemi
G18 – XZ düzlemi
G19 – YZ düzlemi
G17, çoğu CNC makinesi için varsayılandır, ancak diğer ikisi de belirli hareketler elde etmek için kullanılabilir.
G28 – Eve Dönüş
G28 komutu, makineye takımı referans noktasına veya ana konumuna hareket ettirmesini söyler. Çarpışmayı önlemek için X, Y ve Z parametreleri ile bir ara nokta ekleyebiliriz. Takım, referans noktasına gitmeden önce o noktadan geçecektir. G28 X## Y## Z##
Ana konum, G28.1 X## Y## Z## komutuyla tanımlanabilir.
G90/ G91 – G kodu Komutlarını Konumlandırma
G90 ve G91 komutları ile makineye koordinatları nasıl yorumlayacağını söylüyoruz. G90 mutlak mod içindir ve G91 göreli mod içindir.
Mutlak modda takımın konumu her zaman mutlak noktadan veya sıfırdan yapılır. Dolayısıyla G01 X10 Y5 komutu, önceki konum ne olursa olsun takımı tam o noktaya (10,5) götürecektir.
Öte yandan, göreceli modda, takımın konumu son noktaya göredir. Dolayısıyla, makine şu anda (10,10) noktasındaysa, G01 X10 Y5 komutu takımı (20,15) noktasına götürecektir. Bu moda “artımlı mod” da denir.
Daha Fazla Komut ve Kural
Yani, yukarıda açıkladığımız G kodu komutları en yaygın olanlarıdır, ancak daha birçokları vardır. Kesici kompanzasyonu, ölçekleme, iş koordinat sistemleri, bekleme vb. komutlar vardır.
G koduna ek olarak, gerçek bir tam teşekküllü G kodu programı oluşturulurken kullanılan M kodu komutları da vardır. İşte birkaç yaygın M kodu komutu:
M00 – Program durdurma
M02 – Programın sonu
M03 – Mil AÇIK – saat yönünde
M04 – Mil AÇIK – saat yönünün tersine
M05 – Mil durdurma
M06 – Takım değiştirme
M08 – Taşkın soğutma sıvısı AÇIK
M09 – Taşkın soğutma sıvısı KAPALI
M30 – Programın sonu
3D yazıcı olması durumunda:
M104 – Ekstrüder ısıtmasını başlat
M109 – Ekstrüder T0’a ulaşana kadar bekleyin
M140 – Yatak ısıtmayı başlat
M190 – Yatak T0’a ulaşana kadar bekleyin
M106 – Fan hızını ayarla
Bu komutlardan bazıları uygun parametrelere ihtiyaç duyar. Örneğin M03 ile iş milini açarken S parametresini kullanarak iş mili hızını ayarlayabiliriz. Böylece, M30 S1000 kodu, iş milini 1000 RPM hızında açacaktır.
Ayrıca birçok kodun kalıcı olduğunu, yani iptal edilene veya başka bir kodla değiştirilene kadar yürürlükte kaldıklarını da belirtebiliriz. Örneğin, doğrusal kesme hareketi G01 X5 Y7 F200 için bir kodumuz olduğunu varsayalım. Bir sonraki hareket yine lineer bir kesim ise, ön tarafa G01 yazmadan sadece X ve Y koordinatlarını yazabiliriz.
G01 X5 Y7 F200 X10 Y15 X12 Y20 G02 X5 Y5 I0 J-5 X3 Y6 I-2 J0
Aynısı besleme hızı parametresi F için de geçerlidir. Değerini değiştirmek istemediğimiz sürece onu her satıra dahil etmek zorunda değiliz.
Bazı G kodu dosyalarında komutların önünde “N##” ifadesini de görebilirsiniz. N kelimesi, satır veya kod bloğunu numaralandırmak için basittir. Bu, büyük bir programda bir hata olması durumunda belirli bir satırı tanımlamaya yardımcı olabilir.
Basit G-kodu Program Örneği
Yine de, tüm bunları okuduktan sonra, artık manuel olarak gerçek, gerçek bir kod oluşturabiliyoruz. İşte bir örnek:
% G21 G17 G90 F100 M03 S1000 G00 X5 Y5 ; Nokta B G01 X5 Y5 Z-1 ; Nokta B G01 X5 Y15 Z-1 ; Nokta C G02 X9 Y19 Z-1 I4 J0 ; Nokta D G01 X23 Y19 Z-1 ; Nokta E G01 X32 Y5 Z-1 ; Nokta F G01 X21 Y5 Z-1 ; Nokta G G01 X21 Y8 Z-1 ; Nokta H G03 X19 Y10 Z-1 I-2 J0 ; Nokta I G01 X13 Y10 Z-1 ; Nokta J G03 X11 Y8 Z-1 I0 J-2 ; Nokta K G01 X11 Y5 Z-1 ; Nokta L G01 X5 Y5 Z-1 ; Nokta B G01 X5 Y5 Z0 G28 X0 Y0 M05 M30 %
G kodu programının açıklaması:
- Kod başlatma. Bu karakter (%) her zaman programın başında ve sonunda bulunur.
- Güvenlik hattı: Programlamayı metrik sistemde (tüm boyutlar mm olarak), XY düzleminde, mutlak konumlandırma ve 100 inç/dak besleme hızında ayarlayın.
- Mil saat yönünde 1000 RPM hızında çevirin.
- B(5,5)’e hızlı konumlandırma.
- Aynı konumda kontrollü hareket, ancak alet -1’e indiriliyor.
- C(5,15) konumuna doğrusal kesme hareketi.
- Merkez noktası (9,15) ile D(9,19) noktasına saat yönünde dairesel hareket.
- E(23,19) noktasına doğrusal kesme.
- F(32,5) noktasına doğrusal kesme.
- G(21,5) noktasına aynı düz kesme.
- H(21,8) noktasına bir düz kesme daha.
- Merkez noktası (19,8) ile I(19,10) konumuna saat yönünün tersine dairesel enterpolasyon.
- J(13,10) noktasına doğrusal kesme.
- Merkez noktası (13,8) ile K(11,8) konumuna saat yönünün tersine dairesel kesme.
- L(11,5) konumuna doğrusal kesme.
- B(5,5) konumuna son doğrusal kesme hareketi.
- Aleti kaldır.
- Ev pozisyonuna gidin.
- Mil kapat.
- Ana program sonu.
- Universal G-code Sender yazılımı aracılığıyla bu kodun CNC makinemize gönderilmeye hazır hali şu şekildedir:
Böylece, yukarıda açıklanan bu ana G kodu komutlarını kullanarak kendi tam teşekküllü G kodumuzu yazmayı başardık. Elbette bu örnek oldukça basit ve daha karmaşık şekiller için kesinlikle bir CAM yazılımı kullanmamız gerekiyor.
Özet
Böylece, G kodunun temellerini ele aldık, en önemli ve yaygın G kodu komutlarını açıkladık ve kendi gerçek G kodumuzu manuel olarak yaptık. Sonuçta, G kodunu anlamanın o kadar da zor olmadığını düşünüyoruz. Elbette, CNC işlemede veya 3D baskıda kullanılan ve farkında olmamız gereken pek çok başka komut ve özellik var..
Bu makaleyi faydalı bulduysanız, diğer CNC ve 3D baskı meraklılarıyla paylaşın. Ayrıca, aşağıdaki yorumlar bölümünde herhangi bir soru sormaktan çekinmeyin.