CNC Freze Eğitimi 3. Ders: Program Yapısı, Bloklar, Adresler ve Temel Komutlar

10 Temmuz 2026

Mentor CNC Editör Ekibi

FANUC CNC freze programında blok kelime adres ve sayisal deger yapisi

FANUC CNC program yapısı ve hiyerarşisi: program, blok, kelime ve adres

CNC frezede bir parçanın işlenmesi için tezgâha yalnızca koordinat vermek yeterli değildir; hangi programın çalışacağı, hangi takımın kullanılacağı, iş milinin kaç devirle ve hangi yönde döneceği, hangi iş parçası sıfırının seçileceği, takımın hangi hızla hareket edeceği, soğutmanın açılıp kapanacağı ve programın nerede sona ereceği de belirtilmelidir. Bu bilgiler belirli bir düzen içinde yazıldığında CNC parça programı oluşur. Bu derste programın yapısını öğreniyoruz; G00–G03 hareketleri sonraki derste ayrıntılı işlenecek.

1. Dersin amacı

Bu ders tamamlandığında öğrenci CNC parça programını açıklayabilecek; program/blok/kelime/adres kavramlarını ayırt edebilecek; FANUC program numarasını doğru yazabilecek; N, G, X, Y, Z, F, S, T, H, D ve M adreslerinin görevlerini anlayabilecek; EOB (blok sonu) kavramını açıklayabilecek; modal ve tek blokta geçerli komutları ayırt edebilecek; açıklama satırı ve blok atlama işaretini tanıyabilecek; ve güvenli program başlangıç/bitiş düzeninin önemini kavrayabilecektir.

2. CNC programı nedir?

Bir iş parçasının üretilmesi için tezgâhın yapacağı işlemleri belirli bir sırayla açıklayan komutlar bütününe CNC programı denir. İçinde program numarası, koordinat/ölçü sistemi, programlama yöntemi, düzlem seçimi, takım numarası ve değiştirme, iş mili devri ve yönü, ilerleme, takım boyu/yarıçap telafisi, X/Y/Z koordinatları, soğutma ve program durdurma/bitirme komutları bulunur. Yan yana yazılıp satır sonuna kadar devam eden komut grubuna blok denir.

3. Program, blok, kelime ve adres kavramları

CNC programını bir yazı metnine benzetebiliriz: Program metnin tamamı, blok bir cümle/komut satırı, kelime satır içindeki bir komut parçası, adres kelimenin başındaki harf, sayısal değer ise adresin yanındaki sayıdır. Örnek blok:

N20 G90 G00 X50. Y25. Z10. ;

Burada X50. ifadesinde X adres, 50. sayısal değer, X50. ise kelimedir. FANUC bir kelimeyi “adres + sayı” olarak tanımlar; bir blok bir veya birden fazla kelimeden oluşur ve bloklar EOB (blok sonu) ile ayrılır.

4. FANUC program numarası – O adresi

FANUC te programlar O harfi ve ardından gelen sayıyla tanımlanır: O1001; programın numarası 1001 dir. Program numarası sayesinde program hafızaya kaydedilir, aranabilir, çağrılabilir ve farklı işler birbirinden ayrılır. Yanına açıklama eklenebilir: O1001 (MENGENE GOVDESI);. Not: bazı FANUC sistemlerinde O8000–O9999 aralığı üreticiye/özel makrolara ayrılmış olabilir; kullanılabilir aralık üretici kılavuzundan kontrol edilmelidir.

5. Satır/sıra numarası – N adresi

Program satırları isteğe bağlı olarak N harfiyle numaralandırılabilir (N10, N20, N30). N numaraları programı okumayı kolaylaştırır, hatalı satırı belirtir, arama sağlar ve takım bölümlerini ayırır. Her satıra N yazmak zorunlu değildir; program numarasız da çalışır. Numaralar genellikle 10 ar artırılır ki araya yeni satır eklenebilsin (örn. N20 ile N30 arasına N25 M08;). FANUC te sıra numaraları artan düzende yazılabilir, bazı numaralar atlanabilir ve her blokta bulunması zorunlu değildir.

6. Satır sonu – EOB

Her blokun nerede bittiği kontrolüe bildirilmelidir; bu, EOB (End of Block) ile yapılır ve kılavuzlarda noktalı virgül ; ile gösterilir (örn. N10 G90 G54;). Panelde satır yazıldıktan sonra EOB tuşuna basılır.

7. Bir CNC blokunun temel yapısı

Bir blokta komutlar çoğunlukla N... G... X... Y... Z... F... S... T... M... ; mantığıyla sıralanır; ancak her satırda bütün adreslerin bulunması gerekmez. Örn. N40 G01 X80. Y30. F250.; (N40 sıra no, G01 doğrusal kesme, X80/Y30 hedef, F250 ilerleme). Başka bir örnek N20 T03 M06; (T03 takım, M06 takım değiştirme). Önemli olan aynı bloktaki komutların uyumlu olmasıdır.

8. CNC frezede sık kullanılan adresler

AdresGörev
GHazırlık fonksiyonu (örn. G00 hızlı, G01 doğrusal kesme, G02/G03 dairesel, G17 XY düzlemi, G21 metrik, G40 yarıçap telafisi iptal, G43 boy telafisi, G54 iş sıfırı, G80 çevrim iptal, G90 mutlak, G94 dev/dak ilerleme).
X / Y / ZEksen konumları (G91 etkinse hareket miktarları).
Fİlerleme hızı (Feed). G94 aktifken örn. F250 = 250 mm/dak. G00 hızlı hareketinde yazılan F, hızlı travers hızını belirlemez.
Sİş mili devri (Speed), örn. S1500 = 1500 dev/dak. Tek başına döndürmez; yön için M gerekir (S1500 M03;).
TTakım numarası (Tool), örn. T01 M06;. T numarası ile magazin yuvası her makinede aynı olmayabilir.
HTakım boyu telafisi hafıza numarası (örn. G43 H01 Z50.;). İyi uygulama: T01→H01, T02→H02.
DTakım yarıçap/çap telafisi numarası (örn. G41 D01;). Ayrıntı ilerideki derste.
MYardımcı fonksiyon (iş mili, soğutma, takım değiştirme, program durdurma/sonu).

9. M kodlarıyla ilgili önemli kural

Güvenli alışkanlık olarak bir blokta tek M kodu tercih edilir (S1500 M03; ayrı satır M08;). Bazı makineler S1500 M03 M08; yapısını kabul edebilir; ancak her kontrol bir blokta birden fazla M kodunu aynı şekilde işlemez. FANUC te genellikle tek M kodu belirtilir; bazı parametrelerde en fazla üç M kodu desteklenebilir; M00, M01, M02, M30, M98, M99 gibi kodlar başka M kodlarıyla aynı blokta kullanılmamalıdır. Bu eğitimde anlaşılır/güvenli yapı (ayrı satırlar) tercih edilir.

10. Program açıklamaları – parantez

Açıklama için parantez kullanılır: O1001 (KANAL ACMA PROGRAMI);, N10 (T1 CAP 10 PARMAK FREZE);. Açıklamalar okumayı kolaylaştırır ve operasyonları ayırır. Türkçe karakterler, çok uzun açıklamalar veya desteklenmeyen özel işaretler veri aktarımında sorun çıkarabilir; endüstride sade yazım tercih edilir ((T1 D10 PARMAK FREZE)).

11. Blok atlama işareti – /

Satır başına / yazılır ve makinede Block Delete açıksa o satır atlanır (/N80 M01;). Anahtar kapalıysa satır normal çalışır. İsteğe bağlı ölçüm, deneme hareketi veya geçici operasyonlar için kullanılır. Güvenlik için gerekli bir hareket yalnızca blok atlama satırına bırakılmamalıdır.

12. Modal ve tek blokta geçerli komutlar

Modal komut bir kez yazıldığında aynı gruptan başka komut gelene kadar aktif kalır. Örn. G01 X50. F200.; sonrası Y30.; ve X10.; satırlarında G01 tekrar yazılmaz. Modal olanlara örnek: G00–G03, G17–G19, G40–G42, G43/G49, G54–G59, G90/G91, G94/G95, F ve S. Bazı kodlar (referans, bekleme, tek seferlik) yalnızca yazıldıkları blokta etkilidir (non-modal). Tehlike: G91 aktif kalmışsa X100. hedef değil, mevcut noktadan 100 mm hareket olarak yorumlanır; bu yüzden her takım başlangıcında gerekli modal durumlar açıkça yeniden yazılmalıdır.

13. Program başlangıcındaki güvenlik satırı

Programlar başlangıçta kontrolü bilinen bir duruma getiren bir satır kullanır:

G17 G21 G40 G49 G80 G90 G94;

Anlamı: G17 XY düzlemi, G21 metrik, G40 yarıçap telafisi iptal, G49 boy telafisi iptal, G80 delik çevrimi iptal, G90 mutlak, G94 dev/dak ilerleme. Buna “güvenlik/emniyet satırı” denir. Önceki programdan kalmış G91, G41, G81 veya G18 gibi modal durumları iptal eder; aksi halde ilk hareketler beklenmedik olabilir.

14. Güvenlik satırı her makinede aynı mıdır?

Tamamen aynı olmak zorunda değildir; desteklenen fonksiyonlar, fabrika standartları, ölçü sistemi ve boy telafisi yönetimi değişebilir. Bu nedenle güvenlik satırı kontrol ve üretici kılavuzuna göre hazırlanır. Bu eğitimde üç eksenli FANUC dik işleme merkezi için G17 G21 G40 G49 G80 G90 G94; kullanılır.

15. CNC freze programının temel bölümleri

Düzenli bir program: program numarası ve açıklama → güvenlik başlangıç satırı → takım çağırma/değiştirme → iş parçası koordinat sistemi → iş mili devri/yönü → takım boyu telafisi → güvenli yaklaşma → kesme hareketleri → takımın güvenli uzaklaştırılması → soğutma/iş mili durdurma → referans/takım değiştirme konumuna dönüş → program sonu bölümlerinden oluşur.

16. Basit program şablonu

%
O1001 (BASIT FREZE PROGRAMI);
N10 G17 G21 G40 G49 G80 G90 G94;
N20 T01 M06;
N30 G54;
N40 S1500 M03;
N50 G00 X10. Y10.;
N60 G43 H01 Z50.;
N70 M08;
N80 G00 Z5.;
N90 G01 Z-2. F100.;
N100 G01 X70. F250.;
N110 Y40.;
N120 X10.;
N130 Y10.;
N140 G00 Z50.;
N150 M09;
N160 M05;
N170 G91 G28 Z0.;
N180 G90;
N190 M30;
%

Bu, doğrudan üretimde kullanılacak hazır bir parça programı değildir; amacı program bölümlerini öğretmektir.

17. Programın satır satır açıklanması

  • % bazı veri aktarım sistemlerinde program başını/sonunu belirtir. O1001 (...) program numarası ve açıklama.
  • N10 güvenlik satırı — kontrol bilinen başlangıç durumuna alınır.
  • N20 T01 M06; 1 numaralı takım seçilir ve değiştirilir; N30 G54; iş parçası sıfırı seçilir.
  • N40 S1500 M03; iş mili 1500 dev/dak saat yönünde. N50 G00 X10. Y10.; hızlı X-Y konumlanma.
  • N60 G43 H01 Z50.; takım boyu telafisi etkinleşir (H01), Z50 e gelinir. Kritik: T01 kullanılırken yanlışlıkla başka bir H çağrılırsa takım beklenmeyen Z ye gidebilir; T01→H01 eşleşmesi kontrol edilmeli.
  • N70 M08; soğutma açılır. N80 G00 Z5.; parça üstü 5 mm (bağlama/parça yüksekliğine göre güvenliği kontrol edilmeli).
  • N90 G01 Z-2. F100.; parçanın 2 mm içine 100 mm/dak ile giriş. N100–N130 doğrusal işleme (G01 ve F250 modal olduğu için tekrar yazılmaz).
  • N140 G00 Z50.; önce güvenli Z ye çıkılır. N150 M09; N160 M05; soğutma/iş mili durur. N170 G91 G28 Z0.; N180 G90; Z referansı ve tekrar G90. N190 M30; program sonu.

18. Birden fazla takım kullanılan program yapısı

Dik işleme merkezleri aynı program içinde birden fazla takım kullanabilir (örn. T01 yüzey freze, T02 punta matkabı, T03 matkap, T04 parmak freze). Her takım bölümü mümkün olduğunca bağımsız ve güvenli yazılmalıdır:

O1200 (COK TAKIMLI PROGRAM);
G17 G21 G40 G49 G80 G90 G94;
(T1 YUZEY FREZE)
T01 M06;
G54 S1200 M03;
G00 X... Y...;
G43 H01 Z...;
M08;
...
G00 Z...;
M09;
M05;
G49;
(T2 PUNTA MATKABI)
T02 M06;
G54 S1800 M03;
G00 X... Y...;
G43 H02 Z...;
M08;
...
G80;
G00 Z...;
M09;
M05;
G49;
M30;

19. Her takım bölümünün bağımsız yazılması neden önemli?

Önceki bölümde hangi modal kodların aktif kaldığını varsaymak tehlikelidir. İkinci takım bölümünde G90 yazılmazsa ve önceki bölüm G91 de kalmışsa bütün koordinatlar artışlı yorumlanabilir. Bu nedenle her takım başlangıcında temel bilgiler (G17 G40 G49 G80 G90; G54;) ve takım no, H no, devir, ilerleme, soğutma, çevrim iptali tekrar edilmelidir. Her takım bölümünün bağımsız olması, programı belirli bir takımdan güvenle yeniden başlatmayı kolaylaştırır.

20. İyi program formatının özellikleri

İyi bir program yalnızca çalışan program değildir; aynı zamanda okunabilir, kontrol edilebilir, düzenlenebilir, başka bir operatörce anlaşılabilir ve güvenle yeniden başlatılabilir olmalıdır. İyi örnek:

N10 G17 G21 G40 G49 G80 G90 G94;
N20 T01 M06;
N30 G54 S1500 M03;
N40 G00 X10. Y10.;
N50 G43 H01 Z50.;
N60 M08;

Zayıf örnek: G90G0X10Y10T1M6S1500M3G43H1Z50M8; — bazı kontrollerde teknik olarak okunsa bile insan tarafından zor okunur, hata bulmak güçtür ve aynı blokta gereğinden fazla işlem vardır. Programın kısa olması her zaman daha iyi değildir.

21. Kodların yazım sırası

Birçok adres farklı sırada yazılabilse de standart bir alışkanlık faydalıdır. Önerilen genel sıra: N → G → X/Y/Z → I/J/K/R → F → S → T → H/D → M. Örn. hareket satırı N80 G01 X50. Y30. F250.;, takım satırı N20 T01 M06;, telafi satırı N50 G43 H01 Z50.;. Amaç tüm işletmede aynı formata yakın programlar yazmaktır.

22. Ondalık nokta, işaret ve boşluk kullanımı

Güvenli yazım ondalık noktalıdır (X10., Y25., Z5.): X10 yerine X10. değerin 10 mm olduğunu açık gösterir. Ondalık ayırıcı nokta olmalı (doğru X25.5, yanlış X25,5). Pozitif değerlerde + çoğunlukla yazılmaz (X+50. = X50.); negatifte eksi zorunludur (X-50.) ve unutulması ters yöne hareket demektir. Birçok FANUC boşluksuz da okur (G90G54G00X50.) ancak okunabilirlik için boşluklu yazım tercih edilir.

23. G kodları ile M kodlarının farkı

G kodları çoğunlukla hareket türünü, koordinat sistemini, düzlemi, ölçü yöntemini, telafi davranışını ve delik çevrimlerini belirler (G00, G01, G17, G43, G54, G81, G90). M kodları çoğunlukla iş milini, soğutmayı, takım değiştirmeyi, program durdurmayı/sonunu ve yardımcı işlemleri kontrol eder (M03, M05, M06, M08, M09, M30). Kısaca: G kodları takım yolunun/durumun nasıl olacağını, M kodları makinenin yardımcı işlevlerini belirler.

24. Temel M kodları

M koduİşlev
M00Koşulsuz program durdurma; devam için Cycle Start gerekir (parça çevirme, ölçüm, manuel işlem).
M01İsteğe bağlı durdurma; panel Optional Stop açıksa durur.
M03 / M04İş milini saat yönünde / ters yönde döndürme.
M05İş milini durdurma.
M06Takım değiştirme.
M08 / M09Soğutmayı açma / kapatma.
M30Program sonu ve çoğu FANUC te başa dönüş.
M98 / M99Alt program çağırma / alt programdan dönüş.

M02 ile M30 farkı: M02 program sonunu belirtir ancak başa geri sarma davranışı sisteme göre değişebilir; M30 program sonu ve genellikle başa dönüştür. Günlük işleme merkezi programlarında çoğunlukla M30 tercih edilir. M03 kullanırken S değeri verilmelidir (S1500 M03;); aksi halde önceki S değerinde dönebilir.

25. Program yazarken sık yapılan hatalar

  • Program numarasını yanlış yazmak: 01001; değil O1001; (baştaki karakter sıfır değil O harfidir).
  • Adres olmadan sayı yazmak: G01 50. Y20.; yanlış → G01 X50. Y20.;. FANUC te blok başında adressiz sayı “Address Not Found” hatası verir.
  • Adresin yanına değer yazmamak: G01 X Y20.; yanlış → G01 X50. Y20.;. Adresi sayı yerine başka adres/EOB izlerse “No Data After Address” hatası.
  • Yanlış H numarası: T02 için yanlışlıkla H01 uygulanırsa takım boyuna bağlı ciddi Z çarpışması olabilir.
  • M03 yazıp S vermemek ve soğutmayı kapatmayı unutmak (M09).
  • Program sonunda G91 i aktif bırakmak: yeniden başlatılırken ilk koordinatlar artışlı çalışabilir. Güvenli: G91 G28 Z0.; G90; M30; ve program başında ayrıca G90.
  • Takım güvenli Z ye çıkmadan X-Y hareketi: önce G00 Z50.; sonra X-Y yapılmalı.

26. Program kontrol sırası

Program başı: O numarası, G21 metrik, G90 mutlak, G17 düzlem, G40/G49/G80 iptal ve doğru G54–G59 seçili mi? Takım: T/H/D numaraları doğru ve eşleşiyor mu, takım magazinde doğru yerde, çap/boy doğru mu? Teknolojik değer: S devri, M03/M04 yönü, F ilerlemesi ve soğutma doğru mu? Hareket: ilk X-Y güvenli mi, boy telafisi güvenli Z de etkinleşiyor mu, negatif Z derinlikleri ve bağlama elemanları doğru mu? Program sonu: önce güvenli Z, M09, M05, güvenli referans dönüşü, tekrar G90 ve M30 var mı?

27. Örnek güvenli program formatı (şablon)

%
O____ (PARCA ADI);
N10 G17 G21 G40 G49 G80 G90 G94;
N20 (T1 TAKIM ACIKLAMASI);
N30 T01 M06;
N40 G54 S____ M03;
N50 G00 X____ Y____;
N60 G43 H01 Z____;
N70 M08;
N80 G00 Z____;
N90 G01 Z____ F____;
N100 G01 X____ Y____ F____;
N110 ...;
N200 G00 Z____;
N210 M09;
N220 M05;
N230 G49;
N240 G91 G28 Z0.;
N250 G90;
N260 M30;
%

Boşluklar rastgele doldurulmaz; her değer teknik resme, takım çap/boyuna, bağlama düzenine, malzemeye ve tezgâh özelliklerine göre hesaplanır.

28. Programlama ile gerçek tezgâh arasındaki fark

Bir programın kâğıt üzerinde doğru görünmesi, gerçek tezgâhta güvenli olduğu anlamına gelmez. G54–G59 ve takım boyu/yarıçap ofsetleri, magazin takım sırası, parça bağlama konumu ve gerçek yüksekliği, mengene/fikstür konumu ve tezgaha özel M kodları sonucu etkiler. FANUC güvenlik kuralları girilen verilerin, ilerleme değerlerinin ve takım telafilerinin yönü ile miktarının çalıştırmadan önce kontrolünü şart koşar.

29. Programı çalıştırmadan önce güvenlik yöntemi

Yeni/değiştirilmiş programda: program numarası doğrulanır; takımlar fiziksel kontrol edilir; T–H–D eşleşmesi ve G54–G59 değerleri incelenir; G90/G91 durumu ve Z değerleri kontrol edilir; program grafiği/takım yolu görüntülenir; Machine Lock veya simülasyon kullanılabilir; Dry Run dikkatli kullanılır; Single Block açılır; Rapid Override düşürülür; ilk yaklaşmada el Feed Hold yakınında tutulur; acil durumda RESET yerine Emergency Stop kullanılır. Dry Run hızının programlanan F den farklı/daha yüksek olabileceği unutulmamalıdır.

30. Ders özeti

  • CNC programı bloklardan, bloklar kelimelerden oluşur; bir kelime adres + sayısal değerdir. Program numarası O, satır numarası N, blok sonu EOB (;) ile gösterilir.
  • G kodları hazırlık/hareket durumlarını; X/Y/Z eksen değerlerini; F ilerleme, S devir, T takım; H boy, D yarıçap telafisi numarasını; M kodları yardımcı işlemleri belirler.
  • Modal komutlar karşıt komut gelene kadar aktif kalır; güvenlik satırı önceki modal durumları iptal eder.
  • Çok takımlı programlarda her takım bölümü bağımsız hazırlanmalı; düzenli format hata bulmayı ve güvenli yeniden başlatmayı kolaylaştırır.

MENTOR CNC
Sahadan gelen cnc bilgisi

Mentor CNC; CNC torna, CNC freze, kontrol üniteleri, kesici takımlar ve teknik hesaplamalar konusunda üretim sahasında edinilen tecrübeyi anlaşılır ve uygulanabilir teknik içeriklere dönüştürür.

Amacımız; operatörlerin, öğrencilerin, mühendislerin ve atölye sahiplerinin doğru bilgiye daha hızlı ulaşmasını ve üretimde daha güvenli, verimli kararlar almasını sağlamaktır.