
Koordinat Sistemi
CNC tezgah ve sistemlerde takım yolları bir koordinat sistemi referans alınarak matematiksel bağıntılarla ifade edilir. bu nedenle gerek programlamada gerekse tezgahların çalışmasında koordinat sistemi önemli yer tutar. Koordinat sistemi tek bir düzlemi ifade eden iki eksenli veya üç düzlemi gösteren üç eksenli olabilir. İki eksenli koordinat sisteminin eksenleri (x,y), (y,z) veya (x,z) üç eksenli sisteminin eksenleri (x, y, z) şeklinde ifade edilir. CNC sistemlerde koordinat sisteminin orijinine sıfır noktası denir. Bunun yanı sıra iki düzlemde, nokta konumunu uzunluk ve açı ile veren polar; üç boyutlu sistemlerde silindirik ve küresel koordinat sistemleri kullanılır.

CNC tezgah ve sistemlerde; tezgah, parça ve takım olmak üzere üç ayrı koordinat sistemleri vardır. Bu koordinat sistemlerinin orijinlerine; tezgaha ait olanına tezgah sıfır noktası; parçaya ait olanına parça sıfır veya program referans noktası; takıma ait olanına takım sıfır noktası denilir. Bu noktaların yanı sıra genellikle parçadan en uzak noktada bulunan takım değiştirme noktası ve genel bir referans noktası bulunur. Bu son noktalar sadece nokta olup esasen belirli bir koordinat sisteminin orijinini temsil etmezler. Bir çok sistemde referans noktası ile takım değiştirme noktası aynı noktadır.
CNC Tornalarda Mutlak (Absolute) Koordinat Ölçülendirme
Kesicinin gideceği koordinat, iş sıfır noktası merkez kabul edilerek bu nokta ile hedef nokta arasındaki ölçü, X ve Z koordinat eksenlerinin sağına yazılmak suretiyle yapılır. CNC torna tezgâhında iki eksen vardır. Birinci eksen fener mili (iş mili) ekseni olan Z eksenidir. İkinci eksen ise buna dik olan
X eksenidir. Bu iki eksenin kesiştiği nokta ise orijin noktasıdır. Referans olarak bu nokta kullanılır. Bu nokta, genellikle iş parçası sıfır noktası veya tespit edilen herhangi bir noktadır. Mutlak ölçülendirmede bütün noktalar, koordinat sisteminde belirlenmiş olan sıfır noktasına göre alınır. Kesicinin X ekseninde yapacağı hareket çap mesafesidir. Bu nedenle X ekseninde noktaların değerleri daima pozitiftir. Z değeri ise koordinat eksenine göre pozitif (+) veya negatif (-) olabilir. X ekseninde değerlere mutlaka çap girilmelidir. Mutlak
programlamada ölçüler bir referans noktasına göre verilir. Şekilde görüldüğü gibi ölçülendirme alın merkez noktasına göre yapılmıştır.

Şekilde mutlak ölçülendirme:
1 numaralı yerin koordinatı (X, Z) : (10, 0)
2 numaralı yerin koordinatı (X, Z) : (20, -10)
3 numaralı yerin koordinatı (X, Z) : (30, -15) görüldüğü gibi ölçüler iş sıfır noktasına göre verilmiştir.
CNC Tornalarda Eklemeli-Artışlı (Incremental) Koordinat Ölçülendirme
Mevcut pozisyon referans kabul ederek bu nokta ile bir sonraki nokta arasındaki X eksenindeki uzaklık U parametresi ile Z eksenindeki uzaklık W parametresi ile belirtilir. Artışlı ölçülendirmede nokta konumları orijine (eksenlerin kesiştiği yer) göre değil bir önceki noktaya göre değerlendirilir.
Şekilde eklemeli ölçülendirme:
1 numaralı yerin koordinatı (U, W) : (U10, W0)
2 numaralı yerin koordinatı (U, W) : (U10, W-10)
3 numaralı yerin koordinatı (X, Z) : (U10, W-5) görüldüğü gibi ölçüler bir önceki noktaya göre verilmiştir.
ÖRNEK

FANUC Program Adlandırma
Yeryüzünde nasıl ki her insanın bir adı varsa programlara da bir ad koymak gerekir. Burada program adı bir sayıdan oluşur. Bu sayı dört rakamdan oluşur. Sayının önüne FANUC sisteminde O harfi konur.
Örnek
O0001;
FANUC sisteminde program numarası (adı) 0001’dir. Program numarasının önüne O harfi konur. Satır sonu ; işareti ile bitirilir.
G28-Kodu (Tareti Tezgah Sıfır Noktasına gönderme)
Program başında ve sonunda emniyet için taret iş parçasından en uzak noktaya gönderilmesi gerekir. Bu işlem için önce G28 kodu ve arkasına kesicinin bulunduğu noktadan öncelikli olarak gitmesini istediğimiz koordinat eklemeli olarak yazılır. Kesici önce yazılan koordinata oradanda en kısa yoldan tezgah sıfır noktasına gider. Zaman kaybını engellemek için genelde kabul görmüş kullanım şekline göre G28 U0 W0 yazılarak kesicinin direk tezgah referansına gitmesi sağlanır.
ÖRNEK
G28 U0 W0

Eğer kesici bir kanal içi veya delik içi gibi yerde kaldı ise kesicinin bu kanal veya delikten çarpma yapmadan çıkması, daha sonra tezgah sıfır noktasına gitmesi sağlanır. Bunun içinde kesicinin gitmesini istediğimiz koordinat G28 kodu arkasına eklemeli olarak yazılır.
ÖRNEK
G28 U20 W0

G54- Kodu (İş Parçası Sıfır Noktasını Tanıtma)

G54 kodu kullanılınca tezgah OFFSET/SETTING sayfasındaki KOORD bölümünde yazılı olan G54 X Z değerlerini okur ve sıfır noktasını bu değerler kadar kaydırarak hafızaya kayıt eder. Daha sonra yapılacak olan tüm koordinat hareketlerini bu yeni sıfır noktasına göre yapar. Bu noktaya iş parçası sıfır noktası adı verilir. Bir başka iş parçası sıfır noktası lazım olduğunda G55, G56, G57, G58 ve G59 noktalarıda iş parçası sıfır noktası olarak kullanılabilir.
ÖRNEK
G54

F- Kodu (Feed-İlerleme Hızı)
Dakikada veya devirde kesicinin alması gereken talaş miktarıdır. Doğrusal ve dairesel hareket (interpolasyon) komutlarından (G01, G02 ve G03) sonra ilerleme miktarı kodu mutlaka belirtilmelidir. (G00) Hızlı ilerleme kodunda F ilerleme değeri verilmez.
F kodu kullanılmadan önce G98 veya G99 kodu ile kullanılacak ilerleme değerinin tezgaha tanıtılmış olması gerekir. Torna tezgahlarında G99 varsayılan ilerlemedir. G99 kullanılacaksa programa G99 yazmaya gerek yoktur.
İlerleme hızının birimi aşağıdaki gibidir:

A) (G98) mm/dak: Dakikada aldığı milimetre cinsinden ilerleme değeridir. 
B) (G99) mm/dv : Bir devirde aldığı milimetre cinsinden ilerleme değeridir. Tezgah varsayılanıdır
ÖRNEK
G98 F100 (dakikada 100 mm ilerler)
G99 F0.3 (bir devirde 0.3 mm ilerler)
S- Kodu (Speed-İş Mili Devri veya Kesme Hızı)
Tezgâhın iş milinin (aynanın) dakikada devir olarak dönme sayısı veya sabit kesme hızı miktarıdır. Bu miktar komut satırının başındaki G koduna bağlıdır.
A) (G96) Sabit kesme hızı m/dak (metre/dakika):
Tezgâhın bilgisayar ünitesi bu kesme hızına bağlı olarak iş parçasının çapı değiştikçe
tezgâhın iş mili devir sayısını değiştirir. Tezgah varsayılanıdır.
B) (G97) Sabit devir sayısı dev/dak (devir/dakika) Tezgah belirtilen devirde sürekli çalışır.
ÖRNEK
G96 S100 (Sabit kesme hızı 100 m/dak)
G97 S1500 (Sabit devir sayısı 1500 dev/dak)
T- Kodu (Tools-Takım İstasyon Numarasını ve Takım Geometri (Offset) Numarasını Seçme)
Kesici takım seçimini kontrol eder. T kodu dört haneli bir sayısal değerle ifade edilir.
Program içerisinde T0202; satırı okunduğu zaman tezgâhın tareti (kesici takımların bulunduğu aparat) T kodunu takip eden ilk iki karakterli istasyondaki kesiciyi kesme konumuna döndürecektir.
T harfinden sonraki ilk iki rakam, kesicinin bulunduğu istasyonu (kesicilerin takıldığı yer), son iki rakam ise kesici ile ilgili geometri (offset) bilgisinin geometri kütüphanesinden belleğe yüklenmesini sağlar.

Tezgâhın bilgisayar ünitesi bu bilgileri kullanarak gerekli hesaplamaları ve kaydırmaları yapar.
ÖRNEK
T0101
G04-Kodu (Bekleme ve hız kontrolü)
G04X2.5(kesicinin olduğu yerde saniye cinsinden beklemesi)
G04P2500(2.5x1000)(kesicinin olduğu yerde milisaniye cinsinden beklemesi)
(bu komut kullanıldığında iş mili, soğutma sıvısı ve yardımcı fonksiyonlar hariç tüm eksenel hareketler durur.
Bu komut genellikle matkap ile delme işleminde delik sonunun düzgün çıkması için kullanılır. Ayrıca otomatik hızlanma ve yavaşlama sonucunda iş parçasının köşeleri istenilen şekilde elde edilemez, özellikle köşelerde geçiş problem oluşturabilir, bunu engellemek için G04 kodu kullanılabilir.
ÖRNEK
G04 P2500
G20- Kodu (Ölçü Birimi Inch)
İmal edilecek parçanın ölçüleri ve kullanılacak diğer ölçüler inch ölçü birimi olarak programa yazılacaksa programın başlangıç bölümünde G20 kodunun mutlaka yazılmış olması gerekir.
Tezgah varsayılan kodu değildir girilmesi gerekir.
ÖRNEK
G20
G21- Kodu (Ölçü Birimi Metrik)
İmal edilecek parçanın ölçüleri ve kullanılacak diğer ölçüler mm ölçü birimi olarak programa yazılacaksa programın başlangıç bölümüne G20 kodu yazılır.
Tezgah panelinde varsayılan olarak ayarlandığında programa yazılması şart değildir. Türkiyede kullanılan tezgahların panellerinde genelde varsayılan olarak ayarlıdır.
ÖRNEK
G21

G50- Kodu (İş Mili Devrini Sınırlama)
Sabit kesme hızı değişken devir kullanıldığı durumlarda iş mili devrinin olması gerekenden yukarı çıkmasını engellemek ve emniyet sağlamak için kullanılır. G50 kodundan sonra girilen S değeri tezgahın çıkabileceği en yüksek devri belirtir.
ÖRNEK
G50S2000(iş mili en fazla 2000 devire çıkar)
G00- Kodu (Maksimum Hızda Doğrusal Hareket)
G00 komutu kesici takımın bir noktadan diğer bir noktaya doğrusal olarak hızlı hareketini sağlar. G00 komutu genellikle G01, G02 ve G03 komutlarından önce veya sonra kesici takımın konumlanması için kullanılır. G00 komutu esnasındaki kesici takımın hızı tezgah üretici firması tarafından belirlenmiştir.
G00 X… Z…
X:Ulaşılmak istenen X koordinatı (hedeflenen çap)
Z:Ulaşılmak istenen Z koordinatı (hedeflenen boy)
ÖRNEK
G00 X20 Z5
G01- Kodu (Belirtilen Hızda Doğrusal Hareket)
G01 komutu F ile belirtilen ilerleme değeri ile kesici takımın düz bir hat üzerinde talaş alarak hareketini sağlar. Bu komut silindirik, alın ve konik tornalamada
kullanılır.

G01 X… Z… F...
X:Ulaşılmak istenen X koordinatı (hedeflenen çap)
Z:Ulaşılmak istenen Z koordinatı (hedeflenen boy)
F:Kesici ilerlemesi
ÖRNEK
G01 X20 Z-20 F1,5
G02-Kodu (Belirtilen Hızda Saat İbresi Yönünde Eğrisel Hareket)
Parça üzerindeki radyusların ve fatura dibi kavislerinin tornalanmasında kullanılır.

G02 X... Z... R... F...
X:Ulaşılmak istenen X koordinatı (hedeflenen çap)
Z:Ulaşılmak istenen Z koordinatı (hedeflenen boy)
R:Yayın ölçüsü
F:Kesici ilerlemesi
G02 X... Z... I... K... F...
X:Ulaşılmak istenen X koordinatı (hedeflenen çap)
Z:Ulaşılmak istenen Z koordinatı (hedeflenen boy)
I:Yay başlangıcından yay merkezine X ekseninde artışlı (eklemeli) uzaklık
K:Yay başlangıcından yay merkezine Z ekseninde artışlı (eklemeli) uzaklık
F:Kesici ilerlemesi
ÖRNEK1
G02 X40 Z-30 R10 F1,5
ÖRNEK2
G02 X40 Z-30 I10 K0 F1,5
G03- Kodu (Belirtilen Hızda Saat İbresi Tersi Yönünde Eğrisel Hareket)
Parça üzerindeki radyusların ve fatura dibi kavislerinin tornalanmasında kullanılır.

G03 X... Z... R... F...
X:Ulaşılmak istenen X koordinatı (hedeflenen çap)
Z:Ulaşılmak istenen Z koordinatı (hedeflenen boy)
R:Yayın ölçüsü
F:Kesici ilerlemesi
G03 X... Z... I... K... F...
X:Ulaşılmak istenen X koordinatı (hedeflenen çap)
Z:Ulaşılmak istenen Z koordinatı (hedeflenen boy)
I:Yay başlangıcından yay merkezine X ekseninde artışlı (eklemeli) uzaklık
K:Yay başlangıcından yay merkezine Z ekseninde artışlı (eklemeli) uzaklık
F:Kesici ilerlemesi
ÖRNEK1
G03 X40 Z-30 R10 F1,5
ÖRNEK2
G03 X40 Z-30 I0 K-10 F1,5
G94 X... Z... F...
X:Çevrim en küçük X ölçüsü (Örneğe göre)
Z:Z yönünde birinci paso son noktası
F:Kesici ilerlemesi
(kalıcı bir G kodudur pasolar bittikten sonra başka bir hareket G kodu ile iptal edilebilir)
ÖRNEK
G00 X42 Z3
G94 X0 Z2 F0,1
Z1
Z0
G90X... Z... F...
X:X yönünde birinci paso son noktası
Z:Döngü boy Z ölçüsü
F:Kesici ilerlemesi
(kalıcı bir G kodudur pasolar bittikten sonra başka bir hareket g kodu ile iptal edilebilir)
ÖRNEK
G00 X42 Z3
G90 X36.5 Z-20 F0,1
X32.5
X28.5
X25
G92- Kodu (Vida Çekme - Tek Paso)
G92 SİMULASYON SUNUSU İZLE

G92 X... Z... F...;
X: Vida diş dibi çapı,
Z: Vida boyu,
F: Vida adımı
(kalıcı bir G kodudur pasolar bittikten sonra başka bir hareket G kodu ile iptal edilebilir)
ÖRNEK
G00 X38 Z5
G92 X28,8 Z-27 F4
X26,8
X24,8
M01 Kodu (Programı İsteğe Bağlı Durdurma)
M02 Kodu (Program Sonu)
M03 kodu (Fener Milini Saat İbresi Yönünde Döndürme)
M04 Kodu (Fener Milini Saat İbresine Ters Yönde
Döndürme)
M05 Kodu (İş Milini Durdurma)
M06 kodu (Kesici Takımı Değiştirme)
M08 Ve M09 Kodu (Soğutma Sıvısını Açma ve Kapatma)
M10 ve M11 Kodu (Ayna Ayaklarını Sıkma ve Açma)
M17 ve M18 Kodu (Taret İndekslemesi)
M19 Ayna Kilitleme
M25 ve M26 Kodu (Punta Mili Dışarı ve İçeri)
M30 Kodu (Program Sonu
Üç G kodu sistemi vardır. A, B VE C. Bu sitede A sistemi G kodları anlatılmıştır.
