CNC MAKRO PROGRAMLAMA. Fanuc, Haas (Yasnac), Mazatrol (Mazak), Meldas (Mitsubishi) İçin Custom Macro B. Kitabından. Örnek Bölümler



Benzer belgeler
CNC Freze Tezgâhı Programlama

CNC TORNA TEZGAHLARININ PROGRAMLANMASI

Adres bilgileri ve diğer bilgilerin bazıları

Tablo 1 - Tornalamada Kullanılan G Kodları Listesi

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 nok

BİLGİSAYAR SAYISAL KONTROLLÜ (CNC) DİK İŞLEME TEZGÂHI KULLANMA ve PROGRAMLAMA EĞİTİMİ KURS PROGRAMI

DERS BİLGİ FORMU Bilgisayarlı Sayısal Denetim Tezgâh İşlemleri (CNC) Makine Teknolojisi Frezecilik, Taşlama ve Alet Bilemeciliği

HACETTEPE ÜNİVERSİTESİ HACETTEPE ASO 1.OSB MESLEK YÜKSEKOKULU HMK 211 CNC TORNA TEKNOLOJİSİ

T.C M.E.B ÖZEL ATILIM BİLKEY BİLİŞİM KURSU Bilgisayar Sayısal Kontrollü ( CNC Dik işleme tezgahı kullanma ve programlama ) Sınav Soruları

Bilkey Mesleki Eğitim Kurumları [ CNC TORNA-FREZE PROGRAMLAMA KURSU ]

BİLGİSAYAR SAYISAL KONTROLLÜ (CNC) TORNA TEZGÂHI KULLANMA ve PROGRAMLAMA EĞİTİMİ KURS PROGRAMI

İÇİ BOŞLUKLU PARÇALARIN DELME OPERASYONUNDA VERİMLİLİĞİ ARTIRAN PARAMETRİK PROGRAM

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK LABORATUVARI II. CNC Programlama ve Tornalama Uygulamaları

Koordinat Sistemi CNC tezgah ve sistemlerde takım yolları bir koordinat sistemi referans alınarak matematiksel bağıntılarla ifade edilir.

Kısa Program yazma-mdi

HACETTEPE ÜNİVERSİTESİ HACETTEPE ASO 1.OSB MESLEK YÜKSEKOKULU HMK 211 CNC TORNA TEKNOLOJİSİ. Öğr. Gör. RECEP KÖKÇAN. Tel:

CNC'ye Giriş. CNC:Computer Numerical Control (Bilgisayar destekli kumanda) Makine Sıfır Noktası (G28)

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

HACETTEPE ÜNİVERSİTESİ HACETTEPE ASO 1.OSB MESLEK YÜKSEKOKULU HMK 211 CNC TORNA TEKNOLOJİSİ

Algoritma ve Akış Diyagramları

BİLGİSAYAR PROGRAMLAMA MATLAB

Swansoft Fanuc OiT Kullanımı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

BİLGİSAYAR PROGRAMLAMA DERSİ

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

CNC (COMPUTER NUMERİCAL CONTROL)

Teknosem ANASAYFA. Program komut butonları ve program zaman parametrelerinin bulunduğu sayfadır.

DÜZCE ÜNİVERSİTESİ CUMAYERİ MESLEK YÜKSEKOKULU ÖN-LİSANS PROGRAMI Bahar Yarıyılı

T.C. MİLLİ EĞİTİM BAKANLIĞI

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

CNC FREZE TEZGAHLARININ PROGRAMLANMASI

Bilgisayar Programlama

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

CNC TORNA ve İŞLEME MERKEZİ KONTROL SİSTEM TASARIMI CNC TURNING & MILLING MACHINE CONTROL SYSTEM DESIGN

BİLGİSAYAR PROGRAMLAMA DERSİ

Algoritmanın Hazırlanması

BÖLÜM 3: AKIŞ DİYAGRAMLARI

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

CNC EĞİTİMİ DERS NOTLARI

NB Macro Kullanımı Hakkında Genel Bilgiler

T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE VE İMALAT MÜHENDİSLİĞİ BÖLÜMÜ MÜHENDİSLİKTE DENEYSEL METODLAR II DERSİ

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Algoritma ve Akış Diyagramları

CNC TEZGÂH PROGRAMLAMA & UYGULAMALAR

T.C. M.E.B. ÖZEL ATILIM BİLKEY BİLİŞİM KURSU

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

DENEY NO : 3. DENEY ADI : CNC Torna ve Freze Tezgâhı

Bilgisayar Programlama MATLAB

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

FİŞ NUMARASI DÜZENLEMESİ

KULUÇKA PRG. VERSION KULLANMA KLAVUZU

BOZOK ÜNİVERSİTESİ TEKNİK BİLİMLER MESLEK YÜKSEKOKULU

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BİLGİSAYAR PROGRAMLAMA MATLAB

7 CNC OPERATION. 7-3 İşleme Programı İnce sac kesimine örnek,

Veri Yapıları ve Algoritmalar

İMALAT ve KONTRÜKSİYON LABORATUVARI

Bilgisayar Programı Nedir?

Fonksiyonlar (Altprogram)

BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

T.C. MİLLİ EĞİTİM BAKANLIĞI MAKİNE TEKNOLOJİSİ CNC TORNA İŞLEMLERİ 2 521MMI123

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

Algoritmalar ve Programlama. Algoritma

CNC TORNA TEZGAHLARININ PROGRAMLANMASI

Swansoft Fanuc OiM Kullanımı

T.C. MİLLÎ EĞİTİM BAKANLIĞI MAKİNE TEKNOLOJİSİ CNC FREZEDE PROGRAMLAMA

MAKİNE ELEMANLARI DERS SLAYTLARI

TEMEL BİLGİSAYAR BİLİMLERİ


BİLGİSAYAR PROGRAMLAMA DERSİ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

DÜZCE ÜNİVERSİTESİ CUMAYERİ MESLEK YÜKSEKOKULU MEKATRONİK ÖN LİSANS PROGRAMI Bahar Yarıyılı

BÖLÜM - 8 CNC TORNA TEZGAHLARININ PROGRAMLANMASI

AGSoft Çocuk Gelişim Takip Programı Kullanım Kılavuzu


Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

SICAK VE SOĞUK ETĐKET VE BOY KESME MAKĐNASI KULLANIM KILAVUZU

7. Bölüm Robot Programlamada Mantıksal Fonksiyonlar

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Bilgisayarda Programlama. Temel Kavramlar

MCV-640 Dikey İşlem CNC. Hazırlayan: Arş.Gör. Kazım ZENGİN

BİLGİSAYARLI SAYISAL DENETİM TEZGÂH İŞLEMLERİ (CNC)

T.C. MİLLİ EĞİTİM BAKANLIĞI

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

Akış Kontrol Mekanizmaları

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir.

1- Sayı - Tam sayıları ifade etmek için kullanılır. İfade edilen değişkene isim ve değer verilir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Frezeleme de Yenilikler

Transkript:

CNC MAKRO ROGRAMLAMA Fanuc, Haas (Yasnac), Mazatrol (Mazak), Meldas (Mitsubishi) İçin Custom Macro B Kitabından Örnek Bölümler (Örnek bölümlerin olduğu bu dokümanda kitabın çeşitli bölümlerinden kısmi alıntılar yapıldığı için konu akışlarında kopukluklar bulunmaktadır. Gerçek kitapta ise konular oldukça akıcı bir şekilde açıklanmıştır.) Kitabın tam halini edinmek için: Pîrî Reis Üniversitesi yayınları tarafından basılan CNC Makro Programlama kitabını edinmek için osecgin@pirireis.edu.tr ve info@cncmakro.com e posta adreslerinden biri ile iletişime geçiniz.

CNC MAKRO PROGRAMLAMA Fanuc, Haas (Yasnac), Mazatrol (Mazak), Meldas (Mitsubishi) İçin Custom Macro B ÖMER SEÇGİN

Her türlü yayın hakkı T.C. Pîrî Reis Üniversitesine aittir. Bu kitabın tamamı veya bir kısmı T.C. Pîrî Reis Üniversitesi Rektörlüğünden yazılı izin alınmaksızın mekanik veya elektronik yollarla çoğaltılamaz ve / veya kopya edilemez. T.C. Pîrî Reis Üniversitesi Yayınları I. Baskı: 2013 Kitap No: 2 Baskı Tarihi: 2013 ISBN: 978 605 60740 3 5 Baskı: HAS MATBAACILIK SAN. ve TİC. LTD. ŞTİ. 100, Yıl Mahallesi, MAS SİT Matbaacılar Sitesi 3. Cadde, 199/A BAĞCILAR / İSTANBUL Tel: (0212) 629 02 49 Fax: (0212) 629 06 47

Refik e

ÖNSÖZ Ulusların dünyadaki konumunu belirleyen en önemli etkenlerden biri teknoloji üretim seviyesi, diğeri de teknolojiyi kullanabilme seviyesidir. İleri teknoloji ürünü olan CNC tezgâhlar talaşlı üretim sektöründe yoğun bir şekilde kullanılmaktadır. Ülkemizde, bu tezgâhların kullanımına yönelik birçok CNC programcılığı kitabı yazılmasına rağmen maalesef bu kitaplarda makro programlama yöntemine yer verilmemiştir. Yerli ve yabancı kaynaklar tarandığında bu konuda çok az çalışma yapıldığı görülmüş; bu konuda Türkçe bir kitap yazmanın gerekli ve faydalı olacağı kanaatine varılmıştır. Makro programlama, CNC program yazma işlemini oldukça kolaylaştıran bir yöntemdir. Birbirine benzer fakat ölçüsel farklılıkları olan parçaların işlenmesi; cep boşaltma v.b. özel çevrimler oluşturulması; helisel-parabolik v.b. standart olmayan eksen hareketlerinin oluşturulması; program çalışırken alarm veya mesaj üretilmesi; tezgâhın sahip olmadığı bazı opsiyonların makrolarla yazılarak kullanılması; kesici ve iş parçası ölçme ve kontrol amaçlı propların kullanılması v.b. işlemlerde makro programlardan yararlanılır. Kitap hazırlanırken CNC programcılığı ile ilgili yazılmış kitapların yanı sıra Fanuc, Haas (Yasnac), Mazatrol (Mazak), Meldas (Mitsubishi) operatör kılavuzları ve makro programlama hakkında yazılmış olan bilimsel makaleler incelenmiştir. Kitapta, makro programlama hakkında genel bilgiler verildikten sonra programcılığın temeli olan algoritma ve akış diyagramı konularına değinilmiştir. Değişken kavramı ve değişkenlerin kullanımı açıklanmıştır. Döngüler ve makro alt programların çağırılması anlatılıp sistem değişkenlerinin kullanımı örneklerle açıklanmıştır. Makro program yazmanın püf noktaları üzerinde durulup son olarak birçok makro program örneği verilerek makro program yazmanın daha iyi kavranması hedeflenmiştir. Bu kitap sadece eğitimcilere ve uzmanlara yönelik değil, sanayide çalışan tüm personele ve öğrencilere de başvuru kaynağı olarak hazırlanmıştır. Bu nedenle kitapta akademik dil kullanılmayarak herkesin rahatça anlayabileceği sade bir üslup tercih edilmiştir. Ayrıca kitabın bazı bölümlerinde (okuyucu ile konuşurcasına) okuyucuya hitap edilerek konunun daha iyi anlaşılması hedeflenmiştir. Kitabın hazırlanması esnasında her türlü desteği veren aileme, Prof. Dr. Süleyman ÖZKAYNAK a, Doç. Dr. Vedat SAVAŞ a, ve Yrd. Doç. Dr. Çetin ÖZAY a; kitabın basımı aşamasında desteklerini esirgemeyen Pîrî Reis Üniversitesi Rektörlüğüne teşekkürü borç bilirim. Gelecek baskılar için kitabın daha da geliştirilmesi amacıyla görüş ve önerilerinizi osecgin@pirireis.edu.tr ve osecgin@gmail.com adreslerine elektronik posta yolu ile bildirmenizi rica ederim. Makro programlama yönteminin sanayide daha yaygın bir şekilde kullanılarak birçok işin çok daha kısa sürede ve daha az maliyetle üretilmesini sağlayacağı düşüncesiyle hazırlanan bu kitabın sanayicilere, CNC operatörlerine, öğrencilere ve öğretmenlere faydalı olması dileği ile, Ömer SEÇGİN Tuzla - Mayıs 2013

ÖNEMLİ UYARI! Bu kitapta Custom Macro B veya User Macro B olarak adlandırılan makro programlama yöntemi açıklanmıştır. Bu yönteme kısaca CNC makro programlama denilmiştir. Makro program yazmayı doğru şekilde öğrenebilmek için hazırlık komutlarını (G kodlarını), yardımcı fonksiyonları (M kodlarını), alt programların yapısını ve kullanımını doğru bir şekilde biliyor olmalısınız. Aksi takdirde temel CNC programlama bilgisine sahip olmadan hazırlayacağınız makro programlarda çeşitli yapısal/mantıksal hatalar olabilir, tezgâh veya iş parçasının hasar göreceği iş kazaları meydana gelebilir. Sistem değişkenlerinin kullanımları CNC kontrol ünitelerinin modellerine göre değişiklik gösterebilmektedir. Sistem değişkenlerini doğru bir şekilde kullanabilmek için tezgâhınızın kullanım kılavuzunu referans almalısınız. CNC kontrol ünitelerinin değişik versiyonlarında G kodlarının, M kodlarının ve sistem değişkenlerinin kullanımı farklılaşabilmektedir. Herhangi bir iş kazasına meydan vermemek için, bu kitapta verilen örnek programları tezgâhınızda kullanırken ilk önce programı inceleyerek programda kullanılan komutların tezgâhınızla uyumlu olup olmadıklarını kontrol ediniz, herhangi bir sorun tespit etmeseniz dahi (programı ilk kez çalıştırırken) tekli satır işleme (Single Block), Dry Run v.b. güvenlik opsiyonlarını kullanınız.

İÇİNDEKİLER: BÖLÜM 1. GENEL BİLGİLER 15 1. GENEL BİLGİLER 16 2. G KODLARI 18 3. YA GİRİŞ 26 4. TEMEL PROGRAMLAMA KODLARI 27 5. ALGORİTMA VE AKIŞ DİYAGRAMI 29 5.1. AKIŞ DİYAGRAMININ HAZIRLANMASI 29 5.2. MANTIKSAL AKIŞ DİYAGRAMLARI: 34 5.3. DÖNGÜSEL AKIŞ DİYAGRAMLARI: 35 BÖLÜM 2. DEĞİŞKENLER 37 6. DEĞİŞKENLER 38 6.1. DEĞİŞKENLERİN TANIMLANMASI 39 7. DEĞİŞKENLERİN MATEMATİKSEL İFADELERLE KULLANIMI 42 7.1. DEĞİŞKENLERLE DÖRT İŞLEM VE İŞLEM ÖNCELİĞİ 43 7.2. SIN[#j] FONKSİYONU 44 7.3. ASIN[#J] FONKSİYONU 45 7.4. COS[#J] FONKSİYONU 45 7.5. ACOS[#J] FONKSİYONU 45 7.6. TAN[#J] FONKSİYONU 45 7.7. ATAN[#J] FONKSİYONU 45 7.8. SQRT[#J] FONKSİYONU 46 7.9. ABS[#J] FONKSİYONU 46 7.10. ROUND[#J] FONKSİYONU 46 7.11. FIX[#J] FONKSİYONU 46 7.12. FUP[#J] FONKSİYONU 47 7.13. LN[#J] FONKSİYONU 47 7.14. EXP[#J] FONKSİYONU 47 7.15. #i=bin[#j]; ve #i=bcd[#j]; FONKSİYONLARI 47 7.16. MATEMATİKSEL İFADELER İÇİN ÖRNEK PROGRAMLAR 49 BÖLÜM 3. DÖNGÜLER 55 8. YÖNLENDİRME (DALLANMA) KOMUTU ( GOTO N ) 56 9. BOOLE ve MANTIKSAL FONKSİYONLAR 60 9.1. BOOLE FONKSİYONLAR (ŞART İFADELERİ) 60 9.2. MANTIKSAL FONKSİYONLAR 61 10. IF KOMUTU 64 10.1. ŞARTLI DALLANMA: IF [şart ifadesi] GOTO N 65

10.1.1. ÇİFT ŞART İFADESİ KULLANMA: 65 10.2. IF[şart ifadesi] THEN ifade KOMUTU 72 11. WHILE DÖNGÜSÜ 76 11.1. WHILE [şart ifadesi] DO n END n 76 BÖLÜM 4. G65 VE G66 KOMUTU 85 12. ALT PROGRAMLAR 86 12.1. MAKRO PROGRAMLARIN ALT PROGRAM OLARAK KULLANILMASI 88 12.1.1. MAKRO ALT PROGRAMLARIN ÇAĞRILMASI 89 13. DEĞİŞKEN KAVRAMI 90 13.1. GENEL DEĞİŞKENLER 91 13.2. BAĞIMSIZ DEĞİŞKENLERİN TANIMLANMASI: 91 13.2.1. BAĞIMSIZ DEĞİŞKEN TANIMLAMA YÖNTEM 1 91 13.2.2. BAĞIMSIZ DEĞİŞKEN TANIMLAMA YÖNTEM 2 93 14. BAĞIMSIZ DEĞİŞKENLER KULLANARAK MAKRO PROGRAMLARIN ÇAĞIRILMASI 95 14.1. G65 BASİT ÇAĞIRMA 96 14.2. G66 MODAL ÇAĞIRMA 99 15. YEREL DEĞİŞKENLERİN DALLANMASI 102 16. MAKRO PROGRAM YAZMA ÖDEVLERİ 104 BÖLÜM 5. SİSTEM DEĞİŞKENLERİ 107 17. SİSTEM DEĞİŞKENLERİNİN MAKRO PROGRAMLARDA KULLANILMASI 108 17.1. SİSTEM PARAMETRELERİ VE SİSTEM DEĞİŞKENLERİ 108 17.2. #1000 GRUBU SİSTEM DEĞİŞKENLER 111 17.3. #2000 GRUBU SİSTEM DEĞİŞKENLERİ 112 17.3.1. FREZE İÇİN #2000 Lİ DEĞİŞKENLER: 112 17.3.1.1. KESİCİ TAKIM BOYU OFSET DEĞERİ (Freze İçin): 112 17.3.1.2. KESİCİ TAKIM BOYU AŞINMA DEĞERİ (Freze İçin): 112 17.3.1.3. TAKIM YARIÇAP OFSETİ (Freze İçin): 112 17.3.1.4. TAKIM YARIÇAP AŞINMA DEĞERLERİ (Freze İçin): 112 17.3.1.5. İŞ PARÇASI SIFIR NOKTASI DEĞİŞKENLERİ (Freze İçin): 113 17.3.2. TORNA İÇİN #2000 GRUBU SİSTEM DEĞİŞKENLERİ 115 17.3.2.1. KESİCİ TAKIM X EKSENİ OFSET DEĞERİ (Torna İçin): 115 17.3.2.2. KESİCİ TAKIM X EKSENİ AŞINMA DEĞERİ (Torna İçin): 115 17.3.2.3. KESİCİ TAKIM Z EKSENİ OFSET DEĞERİ (Torna İçin): 116 17.3.2.4. KESİCİ TAKIM Z EKSENİ AŞINMA DEĞERİ (Torna İçin): 116 17.3.2.5. KESİCİ UÇ RADYÜSÜ OFSET DEĞERİ (Torna İçin): 117 17.3.2.6. KESİCİ UÇ RADYÜSÜ AŞINMA DEĞERİ (Torna İçin): 117 17.3.2.7. HAYALİ TAKIM UCU YÖNÜ (Torna İçin): 118

17.3.2.8. KESİCİ TAKIM Y EKSENİ OFSET DEĞERİ (Torna İçin): 120 17.3.2.9. İŞ PARÇASI SHIFT KOORDİNAT DEĞERLERİ (Torna İçin): 120 17.4. #3000 GRUBU SİSTEM DEĞİŞKENLERİ 122 17.4.1. KONTROL VE ALARM FONKSİYONU (#3000) 122 17.4.2. TARİH VE ZAMAN BİLGİSİ 123 17.4.2.1. TEZGÂHIN AÇIK KALDIĞI SÜRE (#3001) 123 17.4.2.2. OTOMATİK ÇEVRİM (CYCLE) SÜRESİ (#3002) 123 17.4.2.3. TARİH BİLGİSİ (#3011) 124 17.4.2.4. SİSTEM SAATİ (#3012) 124 17.4.3. OTOMATİK OPERASYON KONTROLÜ 124 17.4.3.1. OTOMATİK ÇALIŞMA KONTROLÜ(#3003) 124 17.4.3.2. İLERLEME KONTROLÜ (#3004) 125 17.4.3.2.1. G09 TAM DURMA: 126 17.4.4. MESAJ GÖRÜNTÜLEME (#3006) 126 17.4.5. AYARLAR (#3005) 127 17.4.6. AYNALAMA (İKİZ GÖRÜNTÜ) (#3007) 127 17.4.7. İŞLENMİŞ PARÇA SAYISI (#3901, #3902) 128 17.5. #4000 GRUBU SİSTEM DEĞİŞKENLERİ 129 17.6. #5000 GRUBU SİSTEM DEĞİŞKENLERİ: 139 17.6.1. ENSON TANIMLANMIŞ OLAN EKSEN KOORDİNATLARI: 140 17.6.2. MAKİNE KOORDİNATLARI: 141 17.6.3. İŞ KOORDİNATLARI: 143 17.6.4. G31 ATLAMA FONKSİYONU 144 17.6.4.1. G31 ATLAMA FONKSİYONUNUN KULLANIMI: 145 17.6.5. TAKIM TELAFİSİ DEĞERİ: 147 17.6.6. SERVO SAPMA DEĞERİ: 147 17.6.7. İŞPARÇASI EV KOORDİNATLARI (WORKSHIFT) : 147 18. PROGRAMLARIN KORUMA ALTINA ALINARAK VERİ GÜVENLİĞİNİN SAĞLANMASI 150 18.1. 8000 Lİ PROGRAMLARI KORUMA ALTINA ALMA 151 18.2. 9000 li PROGRAMLARI KORUMA ALTINA ALMA 152 BÖLÜM 6. PÜF NOKTALAR 153 19. MAKRO PROGRAMLAMA PÜF NOKTALARI 154 19.1. G01, G02, G03 Ü HAFIZAYA ALMA 155 19.2. G90, G91 İ HAFIZAYA ALMA 155 19.3. O ANDA BULUNULAN X, Y, Z EKSEN POZİSYONUNU HAFIZAYA ALMA 155 19.4. DEĞİŞKEN TANIMLANMAMIŞSA ALARM VERME 156 19.5. BİRDEN ÇOK DEĞİŞKEN TANIMLANMAMIŞSA ALARM VERME 156

19.6. DEĞİŞKENİN POZİTİF TAM SAYI OLUP OLMADIĞININ KONTROLÜ 156 19.7. DEĞİŞKEN SIFIRDAN BÜYÜK DEĞİLSE ALARM VERME 156 19.8. DEĞİŞKEN TANIMSIZSA DEĞİŞKENE DEĞER ATAMA 157 19.9. DEĞİŞKENİN İŞARETİNİ DEĞİŞTİRME (POZİTİF DEĞİŞKENİ NEGATİF YAPMA) 157 19.10. CNC FREZE İÇİN SIKLIKLA KULLANILAN MAKRO DEĞİŞKENLERİ 157 19.10.1. TAKIM KOMPENZASYONU 157 19.10.2. İŞ PARÇASI SIFIR NOKTASI OFSETİ 157 19.10.3. G KODLARI 158 19.10.4. ALFABETİK KODLAR 158 19.10.5. POZİSYON VERİLERİ 159 19.10.6. KONTROL DEĞİŞKENLERİ 160 19.10.7. #3003 TEK SATIR İŞLEME 160 19.10.8. #3004 İLERLEME KONTROLÜ 160 19.10.9. BAĞIMSIZ DEĞİŞKENLER 161 19.10.10. 100'LÜ GENEL DEĞİŞKENLER 161 19.10.11. 500'LÜ GENEL DEĞİŞKENLER 161 19.10.12. VERİ GİRİŞİ 162 19.10.13. VERİ ÇIKIŞI 162 19.11. CNC TORNA İÇİN SIKLIKLA KULLANILAN MAKRO DEĞİŞKENLERİ 162 19.11.1. TAKIM KOMPENZASYONU 162 19.11.2. İŞ PARÇASI SIFIR NOKTASI OFSETİ 163 19.11.3. G KODLARI 163 19.11.4. ALFABETİK KODLAR 164 19.11.5. POZİSYON VERİLERİ 164 19.11.6. KONTROL DEĞİŞKENLERİ 165 19.11.7. #3003 TEK SATIR İŞLEME 165 19.11.8. #3004 İLERLEME KONTROLÜ 165 19.11.9. BAĞIMSIZ DEĞİŞKENLER 166 19.11.10. 100'LÜ GENEL DEĞİŞKENLER 166 19.11.11. 500'LÜ GENEL DEĞİŞKENLER 166 19.12. NEGATİF SAYININ POZİTİF YAPILMASI 167 19.13. EN YAKIN TAM SAYIYA YUVARLAMA 167 BÖLÜM 7. ÖRNEKLER 169 20. MAKRO PROGRAMLAMA ÖRNEKLERİ 170 21. FAYDALANILAN ESERLER 200 22. İNDEKS 201

BÖLÜM 1 GENEL BİLGİLER

1. GENEL BİLGİLER Bu kitap üst seviye CNC programcılarına yönelik olarak hazırlanmıştır. Dolayısıyla bu kitapta geleneksel programlama yönteminde kullanılan komutların (G02, G40, G81, G91, G76 v.b.) kullanım özelliklerine değinilmemiştir. Sadece hatırlatma amaçlı olarak komutlar tablolar halinde verilmiştir. Makro programlama birçok CNC kontrol ünitelerinde mantık olarak aynıdır. Bu kitaptaki örnekler Fanuc, Mazatrol (Mazak), Meldas (Mitsubishi), Yasnac (Haas) v.b. kontrol ünitelerin Custom Macro B yi destekleyen modellerine uygundur. Okuma, Siemens, Heidenhain v.b. CNC kontrol ünitelerinde de yine aynı mantık kullanılmasına rağmen kullanılan komutlarda farklılıklar vardır. Örneğin, Fanuc, Mazatrol (Mazak), Meldas (Mitsubishi), Yasnac (Haas) kontrol ünitelerinde değişkenler # simgesiyle gösterilirken Heidenhain kontrol ünitesinde değişkenler Q simgesiyle gösterilmektedir. Makro programlamayı doğru şekilde öğrenebilmek için hazırlık komutlarını (G kodları), yardımcı fonksiyonları (M kodları), alt programların yapısını ve kullanımını doğru bir şekilde biliyor olmalısınız. Aksi takdirde, bu temel CNC programlama bilgisine sahip olmadan hazırlayacağınız makro programlarda çeşitli hatalar oluşabilir, tezgâh veya iş parçasının hasar göreceği iş kazaları oluşabilir. Konuların daha iyi anlaşılmasına yardımcı olmak için birçok satır örneğinin yanı sıra birçok örnek program da verilmiştir. Bölüm 5 ten önceki örneklerde SİSTEM DEĞİŞKENLERİ kullanılmamıştır. Bölüm 5 ten sonraki örnekler SİSTEM DEĞİŞKENLERİ kullanılarak hazırlanmıştır. İlk seviye CNC kontrol ünitelerinde kullanılan makro programlama yöntemine Custom Macro A denilmektedir. Custom Macro A yönteminde bu gün kullanılan çeşitli özellikler daha kısıtlıydı. Bu kısıtlı özelliklerin geliştirilmesiyle oluşturulan yeni yönteme CNC kontrol ünitesi üreticileri tarafından Custom Macro B ismi verilmiştir. Bu kitapta Custom Macro B veya User Macro B ismiyle adlandırılan makro programlama yöntemi açıklanmıştır. Söz konusu olan yöntem bu kitapta CNC makro programlama olarak anılmaktadır. Makro programlama yöntemiyle; Aritmetik ve cebirsel hesaplamalar yapılabilmektedir. Trigonometrik hesaplamalar yapılabilmektedir. Mantıksal işlemler yapılabilmektedir. Değişkenlerde veri saklanabilmektedir. Program içerisinde akış bozularak başka bir satıra dallanma / atlama yapılabilmektedir. Program içerisinde akış bozularak ekranda hata mesajı veya alarm mesajı yazdırılabilmektedir. IF, WHILE döngüleri kullanılabilmektedir. CNC kontrol ünitesine veri girişi ve CNC kontrol ünitesinden veri çıkışı yapılabilmektedir.

Makro programlama şu amaçlarla kullanılabilir; Birbirine benzer fakat ölçüsel farklılıkları olan parçaların işlenmesinde, Takım ve parça ofseti kontrolünde, İşinize özgü sabit çevrimler oluşturmanızda, Helisel, parabolik v.b. standart olmayan eksen hareketlerinin oluşturulmasında, Program çalışırken alarm veya mesaj üretilmesinde, Tezgâhın sahip olmadığı bazı opsiyonların makrolarla yazılarak kullanılmasında, Programların gizlenmesi ve kilitlenerek korunmasında, Ölçme ve kontrol amaçlı propların kullanılmasında, Modern CNC tezgâhlarda olan fakat tezgâhınızda kullanıma açık olmayan hazır çevrimlerin kullanılabileceği programların oluşturulmasında, 2. G KODLARI Geleneksel G kodları (G00, G01, G02 v.b.) standartlaştırılmış olmasına rağmen (özellikle çok eksenli tezgâhların 4., 5. eksenleriyle ilgili) komutların kullanımıyla ilgili farklılıklar olabilmektedir. Bilgilendirme amaçlı olarak G kodları aşağıda tablo halinde verilmiştir. Özellikle Tablo 2. de aynı kontrol ünitesinin farklı versiyonlarında çeşitli komutların farklı anlamlara geldiği açık bir şekilde görülmektedir. Herhangi bir problemle karşılaşmamak için tezgâhınıza ait kullanma kılavuzunda yer alan G kodlarını referans alarak çalışmalısınız. Aşağıdaki tabloda 1. sütunda G kodu, 2. sütunda o komutun açıklaması, 3. Sütunda ise o kodun bağlı olduğu grubun adı yer almaktadır. Grup numarasının kullanımı 17.5. #4000 Grubu Sistem Değişkenleri başlığı altında açıklanmıştır.

3. YA GİRİŞ CNC Makro programlama çeşitli değişkenlerin tanımlanıp bu değişkenlerle matematiksel ve/veya mantıksal işlemler yaparak iş parçası işleme esasına dayanır. İşlenecek yüzeyi matematiksel denklemle tanımlanan parçaların geleneksel programlama yöntemiyle işlenmesi mümkün değildir. Bu durumda çizim esnasında denklemlerle ilişkilendirme yapabileceğiniz bir CAD programı kullanarak yüzeyleri oluşturmalı daha sonra CAM programında bu yüzeyleri işleyebilecek komutları elde etmelisiniz ya da sadece basit bir makro program yazarak binlerce Lira değerindeki tasarım programları satın almanıza gerek kalmayacak; ayrıca yaptığınız işin doğruluğundan şüphe duymayacaksınız. Bazı CAD programları ne kadar güçlü olsalar da denklemsel çizimlerde ve denklemsel ilişkilendirmelerde yetersiz kalabilmektedir. Makro programlamada doğrudan ilgili denklemler kullanıldığı için herhangi bir sorunla karşılaşılmamaktadır. (Yeter ki program doğru bir şekilde yazılmış olsun.) Ayrıca, CNC tezgâhlarda sıklıkla kullanılan hazır çevrimler (Canned Cycle) bazı durumlarda ihtiyacımızı karşılayamaz olurlar. Bu nedenle CNC kontrol paneli üreticileri modern kontrol panellerine eski tezgâhlarda bulunmayan yeni hazır çevrimler (Canned Cycle) eklemektedirler. Modern CNC tezgâhlarda olan fakat tezgâhınızda kullanıma açık olmayan hazır çevrimleri CNC makro programlama ile hazırlayabilirsiniz. CNC tezgâhlar offset sayfasındaki makro değişkenlerini kullanarak çalışırlar. Bu değişkenlerin bir kısmı CNC işletim sistemi üreticisi (Fanuc, Mazatrol, Yasnac, Meldas v.b.) tarafından tanımlandığı gibi bir kısmı da tezgâh üreticisi ve operatör tarafından tanımlanır. Bu değişkenlerin bir kısmı geçici hafızaya kaydedilir ve tezgâh kapatıldığında kendiliğinden silinir, bir kısmı da kalıcı hafızaya kaydedilir. Tezgâh kapatılıp açıldığında yine kullanılabilir durumda olurlar. Kalıcı hafızaya kaydedilen bu değişkenler yerel değişkenler ve sistem değişkenleri olarak iki gruba ayrılmaktadır. Bu konu ve değişkenlerin kullanımı 2. bölümde detaylı olarak açıklanmıştır. Sistem değişkenlerinde hangi değişkeninin neyi kontrol ettiği farklı CNC işletim sistemlerinde değişebildiği gibi aynı üreticinin farklı modellerinde de değişebilmektedir. Bu nedenle bu kitapta (5. bölüm ve sonrası hariç) makro programlar sistem değişkenleri kullanılmadan yapılmıştır. 5. bölüm ve sonrasında ise sistem değişkenleri açıklanıp sistem değişkenlerinin makro programlarda kullanımıyla ilgili de çeşitli örnekler verilmiştir. Sistem değişkenlerinin kullanıldığı programları tezgâhınızda çalıştırırken sorun yaşamamanız için azami surette dikkat etmelisiniz.

5. ALGORİTMA VE AKIŞ DİYAGRAMI CNC makro programlama algoritma olarak TURBO C, C++, PASCAL, BASIC v.b. programların mantığıyla aynıdır. Program yazmaya başlamadan önce ne yapılmak istendiği doğru bir şekilde belirlenir. Buna uygun bir akış diyagramı hazırlanır. Değişkenler tanımlanır. Bu değişkenlerle matematiksel ve mantıksal işlemler yaparak tezgâh kumanda edilir. 5.1. AKIŞ DİYAGRAMININ HAZIRLANMASI Bir problemin çözümü için izlenecek yola algoritma denir. Algoritmaların şema halinde gösterimine ise akış diyagramı denir. Akış diyagramı sayesinde problemin çözüm basamakları, birbirleri ile ilişkileri ve bilgi akışı daha kolay görülebilir ve yanlışlıklar düzeltilebilir. Makro programı yazmak için önce sıra ile: Problemi tanımlama Algoritma geliştirme Akış diyagramını çizme Programı yazma Programın doğruluğunu kontrol etme işlemleri yapılmalıdır. Akış diyagramı programın ana bölümlerini ve bu bölümlerin birbirleriyle olan ilişkilerini gösterir. Akış diyagramında, program yazarken izlenecek adımlar o işlemi simgeleyen kutuların içine yazılır ve adımlar arasındaki ilişkiler oklarla gösterilir. Akış diyagramının hazırlanmasında aşağıda yer alan simgeler kullanılır. Şekil 1. Programa başla veya programı bitir. Şekil 2. Hesaplamalar veya değişkenlere değer atanması. (Tüm matematiksel işlemler dikdörtgenin içinde ifade edilir.)

BÖLÜM 2 DEĞİŞKENLER

6. DEĞİŞKENLER CNC makro programlama çeşitli değişkenlerin tanımlanıp bu değişkenlerle matematiksel ve mantıksal işlemler yaparak tezgâhı kumanda etme esasına dayanır. Diğer birçok programlama yöntemlerinde olduğu gibi CNC makro programlamada da değişkenler # işaretiyle ifade edilmektedir. Değişkenler 4 ana gruba ayrılırlar. #0: 0 numaralı değişkene değer atanamamaktadır. Daima tanımsızdır. #1~#33: Bu değişkenler yerel değişkenler olup tezgâh hafızasına kaydedilmezler. Bu değişkenler daha önceden tanımlanmış olsalar dahi tezgâh kapatılıp açıldığında veya RESET butonuna basıldığında tanımsız hale gelirler. #100~#999: Bu değişkenler ortak / genel değişkenler olup tezgâh hafızasına kaydedilirler. Tezgâh kapatılıp açılsa bile yine en son tanımlandığı değer ile kullanılabilirler. Fakat bazı tip CNC kontrol ünitelerinde #100~#500 arasındaki değişkenler de tezgâh kapatıldığında silinmekte, #700~#999 arasındaki değişkenler kalıcı olarak hafızada tutulabilmektedir. #100~#999 arasındaki değişkenleri kullanırken tezgâhınızın özelliklerinizi de iyi bilmelisiniz. Ayrıca bazı tezgâh üreticileri bu bölgeyi de kullanıp bu değişkenlere değer atayabilmektedirler (takım ve/veya parça ölçme probu değişkenleri gibi). Program çalışırken yanlışlıkla prop değişkenlerine değer atanması iş kazalarına yol açabilir. O nedenle bu değişkenler kullanılırken çok dikkatli olunmalıdır. #1000 ve yukarısı: Bu değişkenler sistem değişkenleridir. Bu değişkenlerle iş parçası ofset verisi, takım boy-çap ofset verisi, fener mili devir verisi v.b. sistem değişkenleri makro program içerisinde kullanılır. Bu değişkenleri yanlış kullanmanız tezgâha veya iş parçasına zarar verilebilir. Fanuc CNC kontrol ünitesinde değişken ekranına ulaşabilmek için OFSET sayfasına girilir. Ekranın altında MACRO yazısı gözükene kadar (bir veya iki sefer) ekranın sağ altındaki tuşa basılır. Daha sonra ekranın altındaki MACRO tuşuna basılır. Ekrana gelen sayfada makro değişkenleri görülecektir. PAGEUP ( ), PAGEDOWN ( ) tuşları ile önceki ve sonraki sayfalarda bulunan makro değişkenleri (variable) görüntülenir. Bu sayfada değişkenin sıra numarasının yanında değer yazmıyorsa o değişkene henüz değer atanmamıştır. Şekil 14. te 1 ila 8 numaralı değişkenlere çeşitli değerler atanmış..

6.1. DEĞİŞKENLERİN TANIMLANMASI Bu bölümde değişkenlerin tanımlanması ve matematiksel işlemlerde kullanılması v.b. işlemler anlatılmıştır. Değişken çeşitleri, yerel değişkenler, genel değişkenler ile bağımsız değişkenlerin kullanımı Bölüm 4. te 13. başlık ve sonrasında detaylı olarak anlatılmıştır. Makro programlamada değişkenleri ifade etmek için # sembolü kullanılır. Örnek: #1 ifadesi 1 numaralı değişkeni simgeler. #43 ifadesi 43 numaralı değişkeni simgeler. #2256 ifadesi 2256 numaralı değişkeni simgeler. Değişkenler tanımlanırken önce # simgesi sonra değişken numarası yazılır ve daha sonra değer atma işlemi yapılır. Örnek: #1=0; (İfadesiyle 1 numaralı değişkenin değeri 0 a eşitlenir.) #14=25; (İfadesiyle 14 numaralı değişkenin değeri 25 e eşitlenir.) #86=45.256; (İfadesiyle 86 numaralı değişkenin değerini 45.256 ya eşitlenir.) 5=#1; (Bu ifade geçersizdir. Doğrusu #1=5; şeklindedir.) #6=25; (Bu ifade geçerlidir (6 numaralı değişkenin değeri 25 e eşitlendi.)) #1+#2=#3; (Bu ifade geçersizdir. Doğrusu #3=#1+#2; şeklindedir.) Değişken adları pozitif tam sayılardır. Değişken adları negatif veya ondalıklı olamaz. Örnek: #5=25; (Bu ifade geçerlidir.) #1=145,7; (Bu ifade geçerlidir.) #6= 425,896; (Bu ifade geçerlidir.) #1,5=2; # 5=7; Bu tanımlamalar hatalıdır. Değişkenler kullanılarak program yazılırken tam sayılar için ondalık kısmı belirtmeye gerek yoktur. Tam sayılarda tezgâh değişkenin ondalık kısmındaki sıfırları yazılmış gibi kabul eder. Örnek: #1=42; (1 numaralı değişkenin değeri 42.000 dır.) #2=856; (2 numaralı değişkenin değeri 856.000 dır.) #3=2.44; (3 numaralı değişkenin değeri 2.440 dır.) #4=63.7; (4 numaralı değişkenin değeri 63.700 dür.) #5= 243.000; (5 numaralı değişkenin değeri -243.000 dır.)

7. DEĞİŞKENLERİN MATEMATİKSEL İFADELERLE KULLANIMI CNC makro program içerisinde değişkenler birbirleriyle toplanabilir, çıkartılabilir, çarpılabilir, bölünebilir, sinüs-kosinüs-tanjant gibi trigonometrik değerleri hesaplanabilir. Matematiksel fonksiyon olarak ifade edilen işlemler makro program içerisinde rahatlıkla kullanılır. Fonksiyon Kullanım Biçimi (i, j, k Değişken Adı) Açıklamalar Tanımlama #i=#j; Değişkene değer atama. Toplam #i=#j+#k; Fark #i=#j #k; Çarpım #i=#j*#k; Klasik dört işlem. Bölümü #i=#j/#k; Sinüs Arksinüs Kosinüs Arkkosinüs Tanjant Arktanjant Karekök Mutlak değer Yuvarlama Aşağı yuvarlama Bütünleme Doğal logaritma Üstel fonksiyon OR XOR AND BCD den BIN e dönüştürme BIN den BCD ye dönüştürme #i=sin[#j]; #i=asin[#j]; #i=cos[#j]; #i=acos[#j]; #i=tan[#j]; #i=atan[#j]; #i=sqrt[#j]; #i=abs[#j]; #i=round[#j]; #i=fix[#j]; #i=fup[#j]; #i=ln[#j]; #i=exp[#j]; #i=#j OR #k; #i=#j XOR #k; #i=#j AND #k; #i=bin[#j]; #i=bcd[#j]; Açı değeri 10 luk tabana göre ifade edilir. Derece cinsinden olan açı 10 luk tabana çevrilmelidir. Örnek: Mantıksal bir işlem her bitte ikili sayılarla gerçekleştirilir. PMC ye ve PMC densinyal değiştirme için kullanılır. Açıklamalar: Tablo 3. Aritmetik ve mantıksal işlem 1 SIN, COS, ASIN, ACOS, TAN ve ATAN fonksiyonlarıyla kullanılan açı birimi derecedir. Dakika kısmı onluk tabana göre ifade edilir. Örneğin 45 30' için 45.50 yazılması gerekmektedir. Onluk tabana göre açı hesabı şöyle yapılır: 1 Fanuc Serisi 18i/180i/180is-MB Operatör Klavuzu B---63534TR/02 Sayfa 406

7.16. MATEMATİKSEL İFADELER İÇİN ÖRNEK PROGRAMLAR Makrolar doğrudan ana programda kullanılabileceği gibi G65 basit çağırma ve G66 modal çağırma yöntemleri ile de kullanılabilmektedir. Basit çağırma ve modal çağırma konuları 4. bölümde 14. başlık altında detaylı olarak anlatılacaktır. Konunun daha rahat anlaşılabilmesi için bu bölümde makrolar doğrudan ana program içinde kullanılacaktır. Örnek program (CNC freze için): Şekil 16. Düzlemsel 6 delik delinecek parça BAŞLA 3. deliğin üzerine git ve deliği del. #1ve #2 yi tanımla 4. deliğin üzerine git ve deliği del. 1. deliğin üzerine git ve deliği del 5. deliğin üzerine git ve deliği del. 2. deliğin üzerine git ve deliği del 6. deliğin üzerine git ve deliği del. SON Şekil 17. Düzlemsel 6 deliği delecek programın akış diyagramı.

BÖLÜM 3 DÖNGÜLER

8. YÖNLENDİRME (DALLANMA) KOMUTU ( GOTO N ) CNC tezgâhlarda parça işlenirken program satır satır çalışır. Önce imlecin olduğu satır çalıştırılır sonra da altındaki satır çalıştırılır daha sonra da onun altındaki satır çalıştırılır. Bu sırayı bozmak istediğimizde GOTO N komutunu kullanırız. GOTO N komutunda, N ifadesi dallanma yapılacak satır numarasını tanımlar. Örnek:..

Örnek Program (CNC Freze için): Sabah tezgâhı ısıtmak için kullanılabilecek örnek program. Bu program operatör RESET butonuna basana kadar sürekli çalışır. BAŞLA #1 in değerini 50 arttır. Fenermili devir artış miktarını tanımla. Makineyi ev koordinatlarına gönder. #1 in değeri 1000 den büyük mü? Evet #1= 1000 G01 ile X50 Y50 koordinatlarına git. Hayır Fener milini #1 devriyle döndür. Z ekseninde 10 mm aşağı in. F50 ilerlemesi ile -X yönünde 40mm, -Y yönünde 40mm git. F50 ilerlemesi ile -Z yönünde 40mm git. F100 ilerlemesi ile +X yönünde 40mm, +Y yönünde 40mm git. F100 ilerlemesi ile +Z yönünde 40mm git. Şekil 24. Sabah tezgâhı ısıtmak için kullanılabilecek programın akış diyagramı

O 0006; (Sabah tezgâhı ısıtmak için kullanılabilecek program) G91 G28 Z0; (Z eksenini evine gönder) G91 G28 X0 Y0; (X ve Y eksenlerini evine gönder) G01 X50 Y50 F100; (X50 Y50 koordinatlarına F100 ilerlemesi ile git) G91; (Artımlı programlama) G01 Z 10 F50; #1=50; (Devir artım değişkeni) N15 #1=#1+50; IF[#1 GT 1000] THEN #1=1000; M03 S#1; G01 X 40 Y 40 F50; Z 40; G01 X40 Y40 F100; Z40; GOTO15; %

9. BOOLE ve MANTIKSAL FONKSİYONLAR 9.1. BOOLE FONKSİYONLAR (ŞART İFADELERİ) Boole fonksiyonlar (şart ifadeleri), iki değişkenin değerlerinin birbirlerine göre büyük-küçük-eşit olup olmadığının karşılaştırılmasında kullanılırlar. Örnek: #1=15; (1 numaralı değişkenin değeri 15.000) #2=20; (2 numaralı değişkenin değeri 20.000) #3=25; (3 numaralı değişkenin değeri 25.000) #4=30; (4 numaralı değişkenin değeri 30.000) IF[#2 EQ 20]GOTO15; (2 numaralı değişkenin değeri 20 ye eşit olduğu için 15 numaralı satıra atlanılır.) 9.2. MANTIKSAL FONKSİYONLAR AND, OR ve XOR fonksiyonları mantıksal karşılaştırma işlemlerinde kullanılırlar. AND, OR ve XOR fonksiyonları iki şart ifadesini karşılaştırmak için de kullanılabilir.

10. IF KOMUTU IF karar verme döngüsü olarak da bilinen ve makro programlarda sıklıkla kullanılan bir komuttur. İki değişkenin kıyaslanarak kıyaslanma sonucuna göre programın akışını değiştirmek için kullanılır. IF komutundaki şartın evet veya hayır olmak üzere iki cevabı olabilir ve bunlardan sadece biri geçerlidir. Aşağıdaki örnekte bir delik delme programında istenilen sayıda delik delinip delinmediğinin kontrol edildiği bölüm verilmiştir. Örnek: İstenen sayıda delik delindi mi? Evet Programı sonlandır. Hayır Sıradaki deliğin merkezine git ve deliği del. Şekil 25. If döngüsünün çalışma mantığı. İstenen sayıda delik delindi mi? (cevap evet veya hayırdır.) Eğer istenen sayıda delik delindi (cevap evet) ise programı sonlandır. Eğer istenen sayıda delik delinmedi (cevap hayır) ise sıradaki deliğin merkezine git ve deliği del. Kıyaslama satırına geri dön. IF komutundaki şart sağlanıyorsa (cevap evet ise) dallanma yapılarak başka bir satıra atlanabilir ya da herhangi bir değişkene değer atanabilir. IF komutundaki şart sağlanmıyorsa (cevap hayır ise) IF komutundaki ifadeler ihmal edilip hiçbir işlem yapılmadan alt satırına geçilir.

10.1. ŞARTLI DALLANMA: IF [şart ifadesi] GOTO N Formatı: IF[şart ifadesi]goto N; Buradaki N atlama yapılacak satır numarasını ifade eder. 10.1.1. ÇİFT ŞART İFADESİ KULLANMA: Karmaşık hesaplamalarda iki ya da daha fazla şart ifadesinin karşılaştırılması gerekebilir. Örnek program: (CNC torna için) Şekil 26. Tornada G94 kaba boşaltma çevrimi mantığıyla çalışan IF ve GOTO kullanılarak programı yazılacak parça Örnek program: (CNC freze için)

10.2. IF[şart ifadesi] THEN ifade KOMUTU IF[şart ifadesi] THEN ifade komutu ile şart ifadesindeki şartlar sağlanıyorsa herhangi bir değişkene değer atanabilir. 11. WHILE DÖNGÜSÜ 11.1. WHILE [şart ifadesi] DO n END n WHILE den sonra şart ifadesi belirtilir. Belirtilen şart sağlandığı sürece DO n den END n e kadar olan satırlar işlenir ve tekrar döngünün başına dönülür Örnek program (freze için); Şekil 34. Açılı doğrusal eksen üzerinde birçok deliğin delinmesi

BÖLÜM 4 G65 VE G66 KOMUTU

12. ALT PROGRAMLAR Doğru çalışan profesyonel makro programlar yazabilmek için alt programların ne olduğunu ve nasıl çalıştığı iyi bir şekilde bilinmelidir. 12.1. MAKRO PROGRAMLARIN ALT PROGRAM OLARAK KULLANILMASI Programımızda belli aralıklarla tekrarlanması gereken işlemler varsa bunlar alt program olarak yazılırlar. Tekrarlanacak işlemler ana programda her defasında ayrı ayrı yazmak yerine alt program kullanarak ana program basitleştirilir. Ana programların sonuna M30 yazılırken alt programın sonuna M99 kodu yazılır. Ana programda alt program çağırmak için M98 P ; satırı yazılır. Bu satırda P çağırılacak olan alt programın tekrar sayısını ve adını tanımlar. 12.1.1. MAKRO ALT PROGRAMLARIN ÇAĞRILMASI Makro programlar doğrudan ana programların içinde kullanılabileceği gibi alt program olarak da kullanılabilmektedir.

13.2. BAĞIMSIZ DEĞİŞKENLERİN TANIMLANMASI: Basit çağırma ve modal çağırma yöntemlerinde yerel değişkenler (#1 ~ #33) harflerle tanımlanırlar. Harflerle tanımlanan bu değişkenlere bağımsız değişken denir. Bağımsız değişkenler tanımlanırken G, L, O, N, P harfleri kullanılamaz, çünkü; Önemli Uyarı! Yazdığınız makro program sizden başka kişiler tarafından kullanılacaksa bu yöntemi kullanmak uygun olmayacaktır, çünkü bu yöntemle yapılan tanımlamalar birbirine karıştırılabilmektedir. Bu yöntem yerine 1. yöntemi kullanmanız daha uygun olacaktır. 14. BAĞIMSIZ DEĞİŞKENLER KULLANARAK MAKRO PROGRAMLARIN ÇAĞIRILMASI Makro alt program sadece 1 defa çalıştırılacaksa G65 P ; komutu kullanılmaktadır. P harfinden sonra makro alt programın adı olan 4 haneli sayı yazılır, daha sonra makro değişkenler alfabetik olarak tanımlanır. Örnek: G65 P7005 A45 X25 Y42.5 Z 15.8 F120; Bu satırın açıklaması şöyledir: 14.1. G65 BASİT ÇAĞIRMA G65 komutu ile sadece bir kez çalıştırılacak makro alt programlar çağırılır. Örnek; Kalınlık=15mm Şekildeki parçaya delik delmek için G81 komutu kullanılmaktadır. Ama siz de kendinize özel bir makro program yazarak da böyle bir parçaya delik delebilirsiniz. Şekil 38. G81 komutu ile delinecek parça.

14.2. G66 MODAL ÇAĞIRMA G65 komutu 1 defa çalıştırılacak makro alt programların çağırılması için kullanılırken, aynı makro program birçok kez çalıştırılacak ise G66 komutu kullanılmaktadır. 15. YEREL DEĞİŞKENLERİN DALLANMASI Örnek: O 1000; #1=1; G65P7001; #5=#1+12; G00X#1; G00Y#5; M30; % O 7001; #1=2; G65P7002; #2=#1*4; G00X#2; M99; % O 7002; #1=3; G65P7003; #2=#1 2; G00Y#2; M99; % O 7003; #1=4; G65P7004; #2=#1/2; G00X#2; M99; % O 7004; #1=5; #2=#1+4; G00Z#2; M99; % Ana program (0. seviye) #1 in değeri 1 1. seviye alt program #1 in değeri 2 #2 in değeri 8 2. seviye alt program #1 in değeri 3 #2 in değeri 1 3. seviye alt program #1 in değeri 4 #2 in değeri 2 4. seviye alt program #1 in değeri 5 #2 in değeri 9 Yukarıdaki tabloda da görüldüğü gibi;

16. MAKRO PROGRAM YAZMA ÖDEVLERİ ÖDEV 3 (Torna için): Şekil 43. deki gibi bir kanal açabilecek makro program yazınız. Kanal kateri B= Kesici uç genişliği A= Kanal açısı H= Kanal genişliği D= Parçanın dış çapı R= Kanalın iç çapı L=Pah yüksekliği Şekil 43. Tornada özel kanal açılacak parça

BÖLÜM 5 SİSTEM DEĞİŞKENLERİ

17. SİSTEM DEĞİŞKENLERİNİN MAKRO PROGRAMLARDA KULLANILMASI 17.1. SİSTEM PARAMETRELERİ VE SİSTEM DEĞİŞKENLERİ CNC kontrol ünitesi hafızasında kayıtlı olan çeşitli verileri (ofset verisi, makine eksenleri pozisyon verisi, rapid hareket hızı, fener milinin maksimum devri, eksen hareket boyları v.b.) kullanarak tezgâhı kontrol eder. Makro programlamada sistem değişkenleri kullanılmaktadır. Sistem değişkenlerinin kullanılması aslında sistem parametrelerinin okunması veya değiştirilmesi işlemidir. Bazı önemli sistem değişkenleri koruma altına alınmıştır. Bu değişkenlerin değerlerinin değiştirilmesi engellenmiştir, sadece değişken değerleri okunabilmektedir. Bu konu sistem değişkenleri bölümünde detaylı olarak açıklanacaktır. Şekil 49. 3000 grubu parametreler.

ÖNEMLİ UYARI: Sistem değişkenleri kullanılırken oldukça dikkatli olunmalıdır. Hangi sistem değişkeninin ne işe yaradığı iyi bilinmelidir. Makro programlama yöntemleri aynı olmasına rağmen Fanuc un bazı versiyonları arasında farklılıklar olabildiği gibi Fanuc, Mitsubishi, Yasnac, Mazatrol v.b. kontrol panellerinin sistem değişkenlerinde de bazı farklılıklar olabilmektedir. Kullanılan işletim sisteminin değişkenleri tezgâhın kılavuzundan iyice öğrenilmelidir. Bu bölümde CNC freze için Fanuc 16i-MB/16i-MA/18i-MB/18i-MA/20i- FA/21i-MB serileri, CNC torna için Fanuc 16i-TB/16i-TA/18i-TB/18i-TA/20i- TA/21i-TB serileri sistem değişkenleri anlatılmaktadır.

17.2. #1000 GRUBU SİSTEM DEĞİŞKENLER 17.3. #2000 GRUBU SİSTEM DEĞİŞKENLERİ #2000 grubu değişkenler kesici ve iş parçası ofset verileri ile ilgilidir. Şekil 50. CNC torna için OFFSET/WEAR sayfası.

Şekil 51. CNC torna için OFFSET/GEOMETRY sayfası. 2 6 1 7 9 5 3 8 4 Şekil 53. Takım uç yönlerinin kodları.

17.4. #3000 GRUBU SİSTEM DEĞİŞKENLERİ #3000 gurubu değişkenler hareket, zaman v.b. sistem fonksiyonları ile ilgili değişkenlerdir. Değişken Adı Anlamı #3000 Kontrol ve alarm fonksiyonu #3001 Tezgâhın açık kaldığı süre (milisaniye) #3002 Otomatik çevrim (cycle) süresi (saat) #3003 Tek satır işleme #3004 İlerleme kontrolü #3005 Temel sistem özelliklerinin kontrolü #3006 Mesaj görüntüleme #3007 İkiz görüntü #3011 Tarih bilgisi #3012 Sistem saati (saat dakika saniye) #3901 İşlenmiş olan parça sayısı #3902 İşlenmesi istenen parça sayısı Tablo 18. #3000 grubu sistem değişkenleri 17.5. #4000 GRUBU SİSTEM DEĞİŞKENLERİ G komutlarının çoğu modal (kalıcı) komutlardır. Bu komutların tersi / iptal komutları yazılıncaya kadar geçerliliğini korurlar. Örneğin program içinde G01 yazıldıysa alttaki satırlarda G00, G02, G03 komutlarından herhangi biri yazılıncaya kadar bütün satırlarda yazılan eksen koordinatlarına G01 (doğrusal kesme hareketi) ile gider. #4001 ~ #4021 arası değişkenler modal G kodlarının gruplarıyla işlem yapılmasını sağlar. Bu değişkenlerin değerleri okunabildiği gibi bu değişkenlere makro program içerisinde değer atanabilmektedir.

17.6. #5000 GRUBU SİSTEM DEĞİŞKENLERİ: Değişken No İlgili eksen no Freze Torna #5 - - 1 1. eksen X ekseni X ekseni #5 - - 2 2. eksen Y ekseni Z ekseni #5 - - 3 3. eksen Z ekseni 3. eksen #5 - - 4 4. eksen 4. eksen 4. eksen #5 - - 5 5. eksen 5. eksen 5. eksen #5 - - 6 6. eksen 6. eksen 6. eksen #5 - - 7 7. eksen 7. eksen 7. eksen #5 - - 8 8. eksen 8. eksen 8. eksen Tablo 25. 5000 grubu sistem değişkenlerinde eksenlerin durumu 17.6.2. MAKİNE KOORDİNATLARI: #5021 ~ #5028 arası değişkenler, bulunulan satırın okunduğu andaki makine koordinat değerlerini belirtir.

Şekil 64. Yerel değişkenlerin 5000 grubu sistem değişkenlerinin atanmış hali. 17.6.4. G31 ATLAMA FONKSİYONU 17.6.4.1. G31 ATLAMA FONKSİYONUNUN KULLANIMI: G31 atlama fonksiyonu bir hareket komutunun istenilen herhangi bir yerde yarıda kesilip programın alt satırından devam edilmesini sağlar. Takım ölçme propları ve iş parçası ölçme propları G31 atlama fonksiyonunu kullanarak çalışmaktadır. 2 Marposs - D6C03800G0 - ed. 09/2009 Şekil 67. Parça ölçme probu 2

Şekil 68. Takım ölçme probu 13 Takım ölçme propları genellikle kablolu sistem ile CNC kontrol ünitesine bağlanırken, parçaa ölçme propları kızıl ötesi ışınlarla iletişim kurmaktadır. Parça ölçme propları tezgâh içerisine yerleştirilen alıcı tarafından kızıl ötesi ışın algılandığında kontrol ünitesine atlamaa sinyali gönderir. Şekil 69. Parça ölçme probu kızıl ötesi ışınn algılayıcı.