G kodu, CNC işleme için operasyonel dildir. Sayısal olarak kontrol edilen torna tezgahlarına ve işleme merkezlerine, çeşitli kesme işlemlerini gerçekleştirmek için takımların nasıl hareket ettirileceğini anlatır. Her işlemin satır satır yazıldığı ve makineyi ve takımları kontrol eden kodlar olan M kodu ve T kodundan ayrı olduğu manuel programlamaya eşdeğerdir. G kodu, operatörün parçayı ve parçanın nasıl işlenmesi gerektiğini açıkladığı diyaloglu kontrol ile CNC için gerekli takım yollarını, ilerleme hızlarını ve benzerlerini yazılımın geliştirdiği CAM veya bilgisayar destekli üretim programları arasında bir yere sığar.
G kodu bir terim olarak genellikle Sayısal Kontrol (NC) ile birbirinin yerine kullanılsa da, aslında yalnızca bir bileşendir ve uygun görevleri gerçekleştirmek için diğer kodlarla birlikte çalışır. G kodunun standart sürümü RS-274D olarak bilinir, ancak uyumluluk sorunları olan CNC makineleri için başka sürümler de mevcuttur.
Oryantasyon
CNC makineleri, bazen dikdörtgen koordinatlar olarak adlandırılan Kartezyen koordinat sistemini temel alır. Üç eksen, dikey bir freze makinesinde, örneğin sağ el kuralıyla tanımlanabilir. Kişinin sağ avucunu makinenin masasına yerleştirip başparmak, işaret parmağı ve orta parmağı üç eksen oluşturacak şekilde uzatırken, pozitif X ekseni başparmağın yönünü gösterir; işaret parmağı yönünde pozitif Y ekseni; ve pozitif Z ekseni, orta parmak yönünde. Benzer şekilde uygulandığında, sağ el kuralı diğer CNC makinelerinde eksenlerin tanımlanmasına yardımcı olur. Pozitif hareketler, iş parçasına göre kesiciyi ifade eder. Örneğin, takım sabit kalırken tabla sola hareket ettirilirse, bu yine de pozitif bir işleme eylemi üretecektir.
Bu üç eksenin kesişimi, makinenin başlangıç konumunu işaretler. Makinenin homlanması, üç ekseni bu X0, Y0, Z0 konumuna getirecektir. Örneğin bir iş parçasının köşesini bulmak için sıfır konumu hareket ettirilebilir.
Komutlar
G kodları hazırlık kodları olduğu için bir CNC programında G harfi ile başlar ve makineyi yönlendirir. G kodunun yönlendirdiği tipik eylemler şunları içerir:
- Palet değiştirme
- Hızlı hareket
- Bir iş parçası kesimi, delinmiş bir delik veya dekoratif bir profil şekli ile sonuçlanan bir dizi kontrollü besleme hareketi
- Bir yay veya düz bir çizgide besleme hareketini kontrol etme
- Alet bilgilerinin ayarlanması
G kodundaki "G", bir hazırlık komutunun ardından geldiğini belirtir. Örneğin, G00, makineye, aleti hızlı bir şekilde belirtilen konuma, örneğin X22'ye hareket ettirmesini söyler; bu, makine metrik moda ayarlanmışsa, aleti başlangıç noktasının 22 mm sağına hareket ettirir. Komut bir Y değeri verirse, hızlı konumlandırma komutu aracı mümkün olan en hızlı şekilde hareket ettirir, tek bir çapraz hat boyunca olması gerekmez. G kodu komutlarının çoğu kiplidir, yani başka bir komut tarafından değiştirilene kadar yürürlükte kalırlar. Örneğin, G21 makineyi metrik olarak ayarlar. Bazı komutlar geçici bir etkinliği bir kez gerçekleştirmek için kipsizdir.
Yukarıdaki X hareketi için bir kod satırı şöyle görünebilir: G21 G00 X22.0
CNC programlama, G kodlarına ek olarak çeşitli işlevler için M kodlarını (program duraklatma için M00 gibi), iş mili hızı kontrolü için S kodlarını, ilerleme hızları için F kodlarını ve takım seçimi için T kodlarını kullanır. Tipik bir program, bu harflerin tümünü veya çoğunu kullanacaktır. Tüm programlar yüzde işaretiyle başlar ve biter ve her programın ilk yüzde işaretinden sonra O0007 gibi bir program numarası vardır.
G01, takımı belirlenen koordinata düz bir çizgide hareket ettirir. Son F kodu tarafından ayarlanan hızda hareket edecektir. G1 aynı şeyi yapacak; baştaki sıfırlara gerek yoktur.
Öğütme için ilerleme hızları, ilerleme hızı/dk olarak verilmiştir. tornalama işlemleri ise ilerleme/dev olarak verilmiştir. Benzer şekilde, iş mili oranları da işleve bağlıdır; örneğin frezeleme devir/dak olarak verilirken tornalama fit veya metre/dak olarak ifade edilir. Aletler, her bir araca sayısal bir adres verilerek dergilerde veya taretlerde saklanır.
Mutlak (G90) ve artımlı (G91) hareketler arasında bir ayrım yapılır. Mutlak bir hareket her zaman orijini referans alır. Artımlı bir hareket, aracın geçerli konumundan başlar. Tornalama ve frezeleme için ayrı kodlara sahip yaklaşık yüz G kodu vardır. Birçok kod, her iki makine türü için aynıdır, ancak farklı üreticilerin makineleri için kodlar arasında bazı farklılıklar vardır.
G Kodları
Aşağıda, birleştirildiğinde bir makinenin hareketini yönlendiren bazı yaygın bireysel kodlar bulunmaktadır.
G00: Hızlı konumlandırma
Bu kod, makinenin yüksek hızda çalışmasına neden olur.
G01: Doğrusal enterpolasyon
Makine, uygun işlemeyi (frezeleme, kesme vb.) gerçekleştirerek düz bir çizgide hareket edecektir.
G02: Dairesel/Helisel Enterpolasyon
Makine, uygun işleme işlemini gerçekleştirerek dairesel veya sarmal bir modelde saat yönünde hareket edecektir.
G03: Dairesel/Helisel Enterpolasyon
Bu kod G02 ile aynıdır ancak saat yönünün tersine hareketi sağlar.
G17: X-Y düzlem seçimi
G18: X-Z düzlem seçimi
G19: Y-Z düzlem seçimi
Bu kodlar, koordineli hareket için makineyi farklı düzlemlerde hareket ettirir.
G20: İnç cinsinden programlama
G21: mm cinsinden programlama
Programlama birimlerindeki değişiklikler bu belirli kodlarla kısa süreli olarak gerçekleşir.
Yukarıdaki kodlar hem frezeleme hem de tornalama için aynıdır, ancak diğer birimler değişebilir. Örneğin, frezelemede G34, bir cıvata deliği dairesi için hazır çevrimi ifade ederken, tornalamada değişken kılavuzlu diş açmayı ifade eder. Yazılım özellikleri açısından, çoğu g kodu dosyası CAM kullanılarak oluşturulabilir, ancak bazı CNC makineleri, g kodunun kullanımını tamamen gizleyen veya atlayan "konuşmalı" programlamaya güvenir.
Takım Telafisi
Kesici yarıçap ofseti, aracın geometrisini hesaba katar ve programın, aracın boyutlarına göre aracın izlediği yolu belirlediği parça boyutlarının programlanmasına izin verir. Farklı yarıçaptaki takımların aynı program tarafından kullanılmasına izin verir. Benzer şekilde, CNC işleme torna tezgahları takım ucu radyus telafisinden yararlanır. Her durumda, telafi, kesici takımın geometrisinin keskin bir köşe olmadığı, bunun yerine kesici takımı G kodu kullanarak konumlandırırken hesaba katılması gereken bir miktar kalınlığa veya yarıçapa sahip olduğu gerçeğini düzeltir.
Programlanmış Fonksiyonlar
G70'den G76'ya kadar olan kodlar, sabit çevrimler olarak bilinir ve tek bir örnek olarak delme, kılavuz çekme, kaba dönüş vb. işlemler için kullanılır. Örneğin G73, takımı iş parçasına tekrar tekrar daldırmak ve ardından kesme eyleminin bir parçası olarak birikmiş olan malzeme talaşlarını çıkarmak veya parçalamak için geri sürmek veya geri çekmek için tasarlanmış bir talaş kırma rutinini çağırır. Aynı işlemler G80 serisi komutlarda mevcuttur, ancak bunlar bir cıvata dairesinde birden çok delik delmek için kullanılabileceğinden ve programda kapatılmaları gerektiğinden tekrarlayıcıdır. Örneğin G81, bir sondaj rutini çağırır.
İnterpolasyon
Aynı satırda birden fazla koordinat verilirse, denetleyici aracı düz bir çizgide o noktaya hareket ettirir, bu işlem doğrusal enterpolasyon olarak adlandırılır. Aynı fikir, aletin hareketini iki eksen boyunca koordine etmesi gereken eğriler için de geçerlidir; ve makinenin üç eksen boyunca hareketi koordine etmesi gereken dişleri frezelemek için kullanılabilecek sarmal enterpolasyon.
Eğriler için, G02 saat yönünde bir yayı ve G03 saat yönünün tersine bir yayı belirtir. Bitiş koordinatlarına ek olarak ya merkez noktası koordinatları ya da yarıçap belirtilmelidir. Keskin köşeleri kırmak için G01 yuvarlama adı verilen bir işlev kullanılır.
Derleme
Satırları numaralandırmak hiç gerekli olmasa da, bireysel satır numaraları “N” ile çağrılabilir. Açıklamalar, açma ve kapama parantezleri ile herhangi bir satıra eklenebilir.
Yaygın G-Kodu Komutlarının Listesi
CNC tornalama merkezleri ve işleme merkezleri için aşağıdaki G kodu komutları listesi, komutların tipik bir yorumunu yansıtır, ancak bunlar, denetleyici üreticilerine göre değişiklik gösterebilir. CNC işleme programları, bu komutları diğer harfli komutlarla birlikte kullanır. G kodları tipik olarak torna veya frezenin işleme fonksiyonlarını bildirirken M kodları, tipik bir program boyunca kullanılan ilerleme hızı için F ve iş mili hızı için S gibi adresleri temsil eden ek harflerle makinenin çalışmasını yönetir.
G kodları genellikle kendi kendini açıklayıcı olsa da, bir CNC programında bir takım kurallar kullanılır. Programlar yüzde simgesiyle başlar ve biter ve program her zaman O0001 ila O9999 formatı kullanılarak adlandırılır. G kodu çoğunlukla kiplidir, yani herhangi bir komut iptal edilene veya başka bir komutla sıfırlanana kadar aktif kalacaktır. Araçlar enterpolasyona göre hareket ettirilir; yani, örneğin hem X hem de Y koordinatlarındaki değişiklikleri birleştiren bir hareket, aracı düz bir yol boyunca hareket ettirmek için her iki ekseni aynı anda çalıştıracaktır.
G-Kodu Komutlar Tablosu
Kod |
Tornalama |
Frezeleme |
G00 |
Hızlı hareket |
Hızlı hareket |
G01 |
Doğrusal enterpolasyon |
Doğrusal enterpolasyon |
G02 |
Dairesel Enterpolasyon CW |
Dairesel enterpolasyon CW |
G03 |
Dairesel enterpolasyon CCW |
Dairesel enterpolasyon CCW |
G04 |
Bekleme zamanı |
Bekleme zamanı |
G09 |
Kesin durdurma kontrolü |
Kesin durdurma kontrolü |
G10 |
Veri ayarı |
Veri ayarı |
G11 |
Veri ayarı iptal |
Veri ayarı iptal |
G15 |
- |
Kutupsal koordinatlar |
G16 |
- |
Kutupsal koordinatlar iptal |
G17 |
- |
XY düzlemi ataması |
G18 |
- |
ZX düzlemi ataması |
G19 |
- |
YZ düzlemi ataması |
G20 |
Inch ölçüsü ayarı |
Inch ölçüsü ayarı |
G21 |
Metrik birimleri ayarla |
Metrik birimleri ayarla |
G22 |
Kayıtlı strok kontrolü açık |
Kayıtlı strok kontrolü açık |
G23 |
Kayıtlı strok kontrolü kapalı |
Kayıtlı strok kontrolü kapalı |
G25 |
İş mili hızı dalgalanması algılama açık |
İş mili hızı dalgalanması algılama açık |
G26 |
Spindle speed fluctuation detect off |
Spindle speed fluctuation detect off |
G27 |
Makine sıfır konumu kontrolü |
Makine sıfır konumu kontrolü |
G28 |
Makine sıfır dönüşü (nokta 1) |
Makine sıfır dönüşü (nokta 1) |
G29 |
Makine sıfırından dönüş |
Makine sıfırından dönüş |
G30 |
Makine sıfır dönüşü (nokta 2) |
Makine sıfır dönüşü (nokta 2) |
G31 |
Fonksiyonu atla |
Fonksiyonu atla |
G32 |
Diş açma sabit ynetimi |
- |
G35 |
Dairesel diş açma CW |
- |
G36 |
Dairesel diş açma CCW |
- |
G40 |
Takım ucu yarıçap ofseti iptal |
Kesici yarıçap ofseti iptal |
G41 |
Takım ucu yarıçap ofseti sola |
Kesici yarıçapı sola |
G42 |
Takım ucu radyus ofseti sağa |
Kesici yarıçapı sağa |
G43 |
- |
Takım uzunluğu ofseti pozitif |
G44 |
- |
Takım uzunluğu ofseti negatif |
G49 |
- |
Takım uzunluğu telafisi iptal |
G50 |
Maksimum devir ön ayarı |
Ölçekleme işlevi iptal |
G51 |
- |
Ölçekleme işlevi |
G52 |
Yerel koordinat sistemi seti |
Yerel koordinat sistemi seti |
G53 |
Makine koordinat sistemi seti |
Makine koordinat sistemi seti |
G54 |
Çalışma koordinatı 1 |
Çalışma koordinatı 1 |
G55 |
Çalışma koordinatı 2 |
Çalışma koordinatı 2 |
G56 |
Çalışma koordinatı 3 |
Çalışma koordinatı 3 |
G57 |
Çalışma koordinatı 4 |
Çalışma koordinatı 4 |
G58 |
Çalışma koordinatı 5 |
Çalışma koordinatı 5 |
G59 |
Çalışma koordinatı 6 |
Çalışma koordinatı 6 |
G60 |
- |
Tek yönlü konumlandırma |
G61 |
Kesin durdurma modu |
Kesin durdurma modu |
G62 |
Otomatik köşe geçersiz kılma modu |
Otomatik köşe geçersiz kılma modu |
G63 |
- |
Dokunma modu |
G64 |
Kesme modu |
Kesme modu |
G65 |
Macro programları çağırma |
Macro programları çağırma |
G66 |
Özel kalıcı makro çağırma |
Özel kalıcı makro çağırma |
G67 |
Özel kalıcı makro çağrısı iptali |
Özel kalıcı makro çağrısı iptali |
G68 |
Çift taret için ayna görüntüsü |
Koordinat sistemi dönüşü |
G69 |
Çift taretler için ayna görüntüsü iptal |
Koordinat sistemi dönüşü iptal |
G70 |
Profil bitirme döngüsü |
- |
G71 |
Profil kaba işleme döngüsü Z ekseni yönü |
- |
G72 |
Profil kaba işleme döngüsü X ekseni yönü |
- |
G73 |
Desen tekrar döngüsü |
Yüksek hızlı delme döngüsü |
G74 |
Delme döngüsü |
Sol el kılavuz çekme çevrimi |
G75 |
Kanal açma döngüsü |
- |
G76 |
Diş açma döngüsü |
İnce delik işleme döngüsü |
G80 |
- |
Sabit döngü iptali |
G81 |
- |
Delme döngüsü |
G82 |
- |
Nokta delme döngüsü |
G83 |
- |
Kademeli delik delme çevrimi |
G84 |
- |
Sağ yönlü iplik geçirme döngüsü |
G85 |
- |
Kaba delik büyütme çevrimi |
G86 |
- |
Kaba delik büyütme çevrimi |
G87 |
- |
Geri delme döngüsü |
G88 |
- |
Kaba delik büyütme çevrimi |
G89 |
- |
Kaba delik büyütme çevrimi |
G90 |
Kesme döngüsü AA /Mutlak komut B |
Mutlak komut |
G91 |
Artımlı komut B |
Artımlı komut |
G92 |
Takım konumu kaydı B |
Takım konumu kaydı |
G94 |
Dakika başına besleme hızı B |
- |
G95 |
Devir başına besleme hızı B |
- |
G96 |
Sabit yüzey hızı |
- |
G97 |
Sabit yüzey hızı |
- |
G98 |
Dakika başına besleme hızı A |
Sabit bir döngüde başlangıç seviyesine dönüş |
G99 |
Devir başına besleme hızı A |
Sabit bir döngüde R seviyesine dönüş |
Notlar
Tornalama sütunundaki son öğelerin bazılarına eklenen alt simgeler, kodların farklı olduğu Grup tipi A ve Grup tipi B arasında yapılan ayrımla ilgilidir. Örneğin Grup tipi B, mutlak ve artımlı komutlar arasında geçiş yapmak için G90 ve G91'i kullandığında, Grup tipi A, bu hareketleri tanımlamak için bunun yerine U ve W adreslerini kullanır.
Alt programlar ve Makrolar
Alt programlar M98 komutu ile çağrılır. Bunlar, tekrar eden kesimler arasında Z eksenini indekslemek gibi çeşitli işlemler için kullanılır. Alt programlar “P” harfi ile belirtilir ve bir “L” alt programın kaç kez çalıştırılması gerektiğini belirtir. Her alt program, denetleyiciyi ana programa veya iç içe geçmişlerse önceki alt programa geri döndüren M99 ile sona erer. Diğer bir yaygın alt program, bir takım değişikliğinden önce veya sonra mod durumlarını sıfırlayan bir alt programdır - bir güvenlik adımı.
Makine üreticisi tarafından sağlanan önceden programlanmış işlevler de alt programlar olarak kabul edilir, ancak bunlar G81 delme döngüsü gibi G kodunda çağrılır.
Makrolar, CNC makinesinin iki önemli şey yapmasını sağlar. Değiştirilebilen değişkenler yaratılarak, oluğun genişliği gibi özellik boyutları program değiştirilmeden ayarlanabilir. Ayrıca aynı programın, bir çizim üzerinde tablo haline getirilebilecek bir parça boyutları ailesini işlemesini sağlar. Değişkenlere, program satırında tipik olarak şu şekilde çağrılan adresler atanır: G00 X#123, makineye değişken adres 123'te saklanan konuma hızlı hareket etmesini söyler.
İşlem için çok hızlı girilen bir sayı hasara ve/veya yaralanmaya yol açabileceğinden, makroları kullanırken çok dikkatli olunmalıdır. CNC programcıları, bu hatalarda kaçınmak için rutin olarak programlara kontroller ekler.