CNC (Bilgisayar Sayısal Kontrol) makineleri, kesme, şekillendirme ve sondaj da dahil olmak üzere çeşitli görevleri otomatikleştirmek için endüstriyel üretim süreçlerinde yaygın olarak kullanılır.Bu makineler, G ve M kodları olarak bilinen bir dizi talimata dayanıyor.. G kodları makinenin hareketini kontrol ederken, M kodları yardımcı işlevlere bakarlar.
G kodları, CNC makinesinin hareketini kontrol etmek için gereklidir.G kodları spindle dönüşünü başlatmak ve durdurmak için sorumludur, çeşitli yönlerde alet hareketi (X, Y ve Z eksenleri gibi), alet değişiklikleri ve soğutma sıvısı aktive edilmesi.Bu talimatlar iş parçasında istenen şekil veya şekil oluşturmak için kesme aracının hassas kontrolü için gereklidir.
M kodları, G kodlarından farklı olarak, CNC makinesinin genel davranışını etkileyen yardımcı fonksiyonları yönetir.Örneğin soğutucuyu açıp kapatmak gibi., spindle, açma ve kapanma sıkıştırıcılarını etkinleştirmek ve otomatik araç değişimlerini başlatmak.M kodları genellikle alet hareketi ile ilgili olmayan görevleri yerine getirmek için kullanılır, ancak başarılı ve güvenli işleme işlemleri için çok önemlidir..
Bir CNC makinesinde G ve M kodlarını programlamak için, bir programcı genellikle CAM (Computer-Aided Manufacturing) yazılımı olarak bilinen özel bir yazılım uygulaması kullanır.Yazılım, kullanıcının talimatlarını uygun G ve M kodlarına dönüştürerek gerekli kodu oluşturmaya yardımcı olurProgramcı, gerekli işlemlerin sırasını tanımlar, uygun aracı belirler ve kesim parametrelerini belirler, bunlar daha sonra G ve M kodlarına çevrilir.