Mach3‘te harici bir PLC üzerinden TCP Modbus ile takım değiştirme sistemi kurmak için, öncelikle Mach3’ün Modbus ayarları yapılandırılır, ardından PLC’de takım değiştirme mantığı (magazin pozisyonlama, takım kavrama/bırakma, sensör okuma) programlanır ve Modbus adresleri eşleştirilir. Son olarak, Mach3’teki M6 G-kodu makrosu özelleştirilerek PLC’ye Modbus komutları gönderilir ve sistem senkronize çalıştırılır.
Mach3’te TCP Modbus ile Harici PLC Üzerinden Takım Değiştirme Sistemi Nasıl Kurulur? Nedir?
Endüstriyel otomasyon uygulamalarında, özellikle CNC tezgahlarında, takım değiştirme süreçleri üretkenliği ve otomasyon seviyesini doğrudan etkileyen kritik bir adımdır. Mach3 gibi PC tabanlı CNC kontrol yazılımları, temel hareket kontrol yetenekleri sunsa da, karmaşık sıralı operasyonlar ve geniş I/O yönetimi gerektiren takım değiştirme sistemleri için genellikle harici bir Programlanabilir Mantık Denetleyicisi (PLC) ile entegrasyona ihtiyaç duyar. Bu entegrasyon, TCP Modbus protokolü üzerinden gerçekleştirilerek Mach3 ile PLC arasında güvenilir ve standart bir iletişim köprüsü kurulmasını sağlar. Bu sistem, takım magazini, takım tutucular, sensörler ve aktüatörler gibi mekanik ve elektriksel bileşenlerin PLC tarafından yönetilmesini, Mach3’ün ise bu süreci başlatıp durumunu izlemesini amaçlar. Böylece, manuel müdahaleyi minimuma indirerek üretim verimliliğini artırır, insan hatasını azaltır ve daha karmaşık işleme operasyonlarına olanak tanır.
Çalışma Prensibi ve Teknik Veriler
Mach3 ile harici PLC üzerinden TCP Modbus tabanlı takım değiştirme sistemi kurmak, birden fazla bileşenin uyumlu bir şekilde çalışmasını gerektiren çok adımlı bir süreçtir. Temel çalışma prensibi, Mach3’ün bir Modbus TCP Master olarak, PLC’nin ise bir Modbus TCP Slave olarak yapılandırılmasına dayanır. Mach3, takım değiştirme komutunu (genellikle M6 G-kodu ile tetiklenir) PLC’ye Modbus yazma komutları aracılığıyla iletirken, PLC de bu komutu alarak takım değiştirme sırasını başlatır ve sürecin aşamalarını Mach3’e Modbus okuma komutları ile bildirir.

Mach3 Konfigürasyonu
İlk adım, Mach3’ün Modbus TCP/IP iletişimini etkinleştirmek ve yapılandırmaktır. Mach3’ün “Config” menüsünden “Ports and Pins” ve ardından “Modbus Config” sekmesine erişilir. Burada, PLC’nin IP adresi, port numarası (genellikle 502) ve Modbus cihaz kimliği (Slave ID) tanımlanır. Mach3, bu bilgilerle PLC’ye bağlanacaktır. Daha sonra, Mach3’ün PLC ile iletişim kuracağı Modbus adresleri (Holding Registers, Input Registers, Coils) belirlenir. Örneğin, Mach3’ten PLC’ye takım değiştirme başlatma komutu için bir “Coil” veya “Holding Register” adresi, PLC’den Mach3’e takım değiştirme tamamlandı veya hata durumu bilgisi için bir “Input Register” veya “Input Status” adresi atanır. Bu adresler, Mach3’ün Modbus giriş ve çıkış pinlerine atanır ve G-kodu makroları içerisinde kullanılmak üzere hazır hale getirilir.

PLC Programlama
PLC tarafında, takım değiştirme sırasını (Tool Change Sequence) yönetecek kapsamlı bir mantık programlanmalıdır. Bu mantık, aşağıdaki adımları içerebilir:
- Takım Değiştirme İsteği Algılama: Mach3’ten gelen Modbus komutunu (örn. bir Coil’in “true” olması) algılama.
- Mevcut Takımın Park Edilmesi: İş milindeki mevcut takımın magazindeki yerine geri bırakılması için gerekli aktüatörleri (pnömatik silindirler, motorlar) kontrol etme.
- Yeni Takımın Seçilmesi ve Pozisyonlama: Magazin içinde istenen yeni takımın pozisyonuna gelmesi için magazin motorunu veya döner tablasını kontrol etme.
- Takım Alma/Bırakma Mekanizması: Takım kolunun veya robotun yeni takımı alması ve iş miline takması, ardından eski takımı bırakması.
- Sensör Geri Bildirimleri: Her adımda sensörlerden (yaklaşım sensörleri, limit anahtarları, basınç sensörleri) gelen bilgileri okuyarak, işlemin doğru ilerlediğini doğrulama. Örneğin, “takım magazinde”, “kol park pozisyonunda”, “takım iş milinde” gibi durumlar.
- Hata Yönetimi: Herhangi bir adımda bir sensörden beklenen geri bildirimin gelmemesi veya bir zaman aşımının yaşanması durumunda hata durumu oluşturma ve Mach3’e bildirme.
- Durum Bilgisi Gönderme: Takım değiştirme sırasının her aşamasını veya tamamlanma durumunu Mach3’e Modbus Holding veya Input Register’ları aracılığıyla bildirme.
PLC programı, bu adımları güvenli ve sıralı bir şekilde gerçekleştirecek şekilde tasarlanmalı, tüm ara durumları ve olası hata senaryolarını kapsamalıdır.

Modbus İletişimi ve G-Kodu Makroları
Mach3, takım değiştirme işlemini genellikle M6 G-kodu ile tetikler. Bu G-kodu, Mach3’ün “Macro” klasöründe bulunan “M6Start.m1s” veya benzeri bir makro dosyasını çalıştırır. Bu makro dosyasının içeriği, PLC ile Modbus üzerinden iletişim kuracak şekilde özelleştirilmelidir. Makro içerisinde, Mach3’ün özel Modbus fonksiyonları (örneğin, SetModOutput(adres, değer) ile PLC’ye komut gönderme ve GetModInput(adres) ile PLC’den durum okuma) kullanılır.
Örnek bir M6 makro akışı:
- Mach3, M6 komutunu algılar ve mevcut takım numarasını (T komutu ile belirtilen) PLC’ye Modbus üzerinden gönderir.
- Mach3, PLC’ye takım değiştirme başlatma komutunu (örn. Modbus Coil 100’ü 1 yapmak) gönderir.
- Mach3, PLC’den takım değiştirme tamamlanana kadar (örn. Modbus Input Register 200’ün 1 olması) bir döngüde bekler.
- PLC, takım değiştirme işlemini tamamladığında, ilgili Modbus Register’ını günceller.
- Mach3, tamamlanma sinyalini aldığında, takım değiştirme komutunu sıfırlar (örn. Coil 100’ü 0 yapar) ve işleme devam eder.
- Herhangi bir hata durumunda, PLC Mach3’e bir hata kodu gönderir ve Mach3 bu hatayı kullanıcıya bildirir.
Bu entegrasyon, Mach3’ün temel kontrol yeteneklerini genişleterek, karmaşık mekanik sistemlerin güvenli ve otomatik bir şekilde yönetilmesini sağlar.
| Parametre | Değer/Açıklama |
|---|---|
| İletişim Protokolü | Modbus TCP/IP |
| Mach3 Modbus Rolü | Master (Client) |
| PLC Modbus Rolü | Slave (Server) |
| Veri Adresleme Tipi | Coils (0x), Input Status (1x), Holding Registers (4x), Input Registers (3x) |
| Tipik Veri Boyutu | 16-bit word (Registerlar için), 1-bit (Coils için) |
| Takım Değişim Komutu | M6 G-Kodu (Makro tetikleyici) |
| Gerekli Sensör Tipleri | Yaklaşım Sensörleri, Limit Anahtarları, Basınç Sensörleri, Optik Sensörler |
| Örnek PLC Markaları | Siemens, Allen-Bradley, Schneider Electric, Delta, Fatek, Wago (Modbus TCP/IP destekli) |

Sahada Dikkat Edilmesi Gerekenler
- Güvenlik Protokolleri ve Acil Durdurma Mekanizmaları: Takım değiştirme sistemleri, hareketli parçalar ve potansiyel sıkışma noktaları içerir. Bu nedenle, sistemin tasarımında ve kurulumunda operatör güvenliği en üst öncelik olmalıdır. Acil durdurma (E-Stop) devresinin Mach3 ve PLC’nin tüm kritik hareketli elemanlarını durduracak şekilde entegre edildiğinden emin olunmalıdır. PLC programında, her adımda güvenlik kontrolleri (örn. kapak açıkken hareket etmeme) bulunmalı ve herhangi bir anormal durumda sistemin güvenli bir duruma geçmesi sağlanmalıdır. Mekanik emniyet kilitleri ve ışık perdeleri gibi ek güvenlik önlemleri de düşünülmelidir.
- Mekanik Kalibrasyon ve Hassasiyet: Takım magazini, takım kolu ve iş mili arasındaki mekanik hizalama kritik öneme sahiptir. Takımların doğru bir şekilde alınıp bırakılabilmesi için tüm mekanik bileşenlerin hassas bir şekilde kalibre edilmesi gerekir. Bu, takım tutucuların doğru pozisyonlaması, magazin yuvalarının hizalanması ve takım değiştirme kolunun hareket aralığının ayarlanmasını içerir. Sensörlerin (yaklaşım, limit anahtarı vb.) doğru tetikleme noktalarına ayarlanması ve tekrarlanabilirliğinin sağlanması, sistemin güvenilir çalışması için şarttır. Mekanik aşınma ve yıpranma zamanla hassasiyeti etkileyebileceğinden, periyodik kalibrasyon kontrolleri ve bakım planları oluşturulmalıdır.
- Yazılım ve Donanım Uyumluluğu ve Ağ Altyapısı: Mach3’ün kullanılan versiyonunun Modbus TCP/IP iletişimini tam olarak desteklediğinden ve güncel olduğundan emin olunmalıdır. PLC’nin Modbus TCP/IP Slave özelliğini desteklemesi ve uygun firmware sürümüne sahip olması gereklidir. Ağ bağlantısı için endüstriyel sınıf Ethernet kablolaması (Shielded Twisted Pair – STP) kullanılmalı ve kabloların elektriksel gürültü kaynaklarından uzak tutulmasına özen gösterilmelidir. IP adresleri çakışmayacak şekilde doğru yapılandırılmalı ve ağ performansı düzenli olarak izlenmelidir. Gerekirse, ağ trafiğini optimize etmek için yönetilebilir switch’ler kullanılabilir.
- Hata Yönetimi ve Tanılama: Sistemde oluşabilecek hataların (örn. takım düşmesi, sensör arızası, mekanik sıkışma, iletişim hatası) doğru bir şekilde tespit edilmesi ve kullanıcıya bildirilmesi çok önemlidir. PLC programında kapsamlı hata kodları ve durum bilgileri tanımlanmalı, Mach3 makrosu bu bilgileri okuyarak kullanıcıya anlaşılır hata mesajları gösterebilmelidir. Sistemde bir hata oluştuğunda, güvenli bir duruma geçilmesi ve hatanın nedenini hızlıca tespit etmek için gerekli tanı araçlarının (örn. PLC HMI ekranı, Mach3 hata logları) sağlanması gerekir.
- Kablolama ve Elektriksel Gürültü Bağışıklığı: Sensörler, aktüatörler ve kontrol sinyallerinin kabloları, elektriksel gürültüye karşı korunmalıdır. Ekranlı kabloların kullanılması ve doğru topraklama tekniklerinin uygulanması, yanlış tetiklemeleri ve iletişim hatalarını önler. Güç kaynaklarının stabilize ve yeterli kapasitede olması, kontrol sistemlerinin sağlıklı çalışması için esastır. Güç ve sinyal kablolarının ayrı kanallardan geçirilmesi, indüktif yüklerden (motorlar, solenoidler) kaynaklanan gürültünün kontrol sinyallerini etkilemesini engeller.

Sık Karşılaşılan Sorunlar ve Çözümleri
Bu tür karmaşık bir entegrasyon projesinde, sahada çeşitli sorunlarla karşılaşmak olasıdır. Aşağıda sık karşılaşılan bazı sorunlar ve çözüm önerileri sunulmuştur:
-
Modbus İletişim Hatası (Connection Timeout, CRC Error vb.):
Sorun: Mach3, PLC ile Modbus bağlantısı kuramıyor veya veri alışverişinde hatalar oluşuyor.
Çözüm:
- IP Adresi ve Port Kontrolü: Mach3’teki ve PLC’deki IP adresi, alt ağ maskesi ve Modbus Port numarasının (genellikle 502) doğru ve eşleştiğinden emin olun.
- PLC Slave ID: Mach3’teki Modbus ayarlarında belirtilen PLC Slave ID’sinin, PLC’nin kendi Modbus yapılandırmasındaki ID ile aynı olduğundan emin olun.
- Ağ Bağlantısı: Ethernet kablosunun sağlam olduğunu, doğru takıldığını ve ağ switch’inin (varsa) çalıştığını kontrol edin. PLC’nin ve PC’nin aynı ağda olduğundan emin olun.
- Güvenlik Duvarı: PC’deki veya ağdaki güvenlik duvarının Modbus portunu engellemediğinden emin olun. Gerekirse istisna ekleyin.
- PLC Durumu: PLC’nin RUN modunda olduğundan ve Modbus TCP/IP sunucu özelliğinin etkinleştirildiğinden emin olun.
- Kablolama: Uzun mesafelerde veya yüksek gürültülü ortamlarda ekranlı Ethernet kablosu kullanın ve topraklamayı kontrol edin.
-
Takım Değiştirme Sırası Takılması veya Hatalı Çalışması:
Sorun: Takım değiştirme işlemi belirli bir adımda takılıyor, beklenenden farklı davranıyor veya tamamlanmıyor.
Çözüm:
- PLC Mantık Kontrolü: PLC programındaki takım değiştirme sırası mantığını adım adım kontrol edin. Her bir sensör girişinin ve aktüatör çıkışının doğru çalıştığından emin olun.
- Sensör Durumları: Takım magazini pozisyon sensörleri, takım var/yok sensörleri, kol pozisyon sensörleri gibi tüm sensörlerin doğru tetiklendiğini ve PLC’ye doğru sinyal gönderdiğini kontrol edin. Sensörlerin mekanik ayarlarını ve temizliğini gözden geçirin.
- Zamanlamalar: PLC programındaki zamanlayıcıların (timeout) doğru ayarlandığından emin olun. Çok kısa zamanlamalar, mekanik hareketlerin tamamlanmasına izin vermeyebilir.
- Mekanik Sıkışmalar: Takım magazini veya kolunda mekanik bir sıkışma, aşırı sürtünme veya hizalama sorunu olup olmadığını kontrol edin.
- Mach3 Makro Kodu: M6 makrosunun PLC’ye doğru Modbus komutlarını gönderdiğini ve PLC’den gelen durum sinyallerini doğru okuduğunu doğrulayın.
-
Takım Tanıma veya Pozisyonlama Sorunları:
Sorun: Yanlış takım seçiliyor veya takım iş miline doğru bir şekilde yerleştirilemiyor.
Çözüm:
- Takım Magazin Kalibrasyonu: Magazinin her takım yuvasının doğru pozisyonda olduğundan ve bu pozisyonların PLC tarafından doğru okunduğundan emin olun.
- Takım Tutucu ve Kol Hizalaması: Takım tutucuların ve otomatik takım değiştirme kolunun iş mili ile mükemmel bir şekilde hizalandığından emin olun. Mekanik boşlukları (backlash) kontrol edin ve ayarlayın.
- Takım Numarası Eşleşmesi: Mach3’ün T komutu ile gönderdiği takım numarasının, PLC’nin beklediği ve magazin pozisyonlarıyla eşleştirdiği numara ile aynı olduğundan emin olun.
- Sensör Ayarları: Takım var/yok sensörlerinin ve magazin pozisyon sensörlerinin hassasiyetini ve tetikleme mesafelerini tekrar ayarlayın.
-
Gecikmeler veya Performans Sorunları:
Sorun: Takım değiştirme süresi çok uzun veya sistem genelinde yavaşlama hissediliyor.
Çözüm:
- Modbus Çevrim Süresi: Mach3’teki Modbus tarama hızını veya PLC’deki Modbus haberleşme ayarlarını optimize edin. Çok sık tarama gereksiz yük oluşturabilir, çok yavaş tarama gecikmelere neden olabilir.
- PLC Tarama Süresi: PLC programının karmaşıklığını ve tarama süresini gözden geçirin. Gerekirse programı optimize edin veya daha hızlı bir PLC kullanmayı düşünün.
- Ağ Trafiği: Ağ üzerinde yoğun trafik olup olmadığını kontrol edin. Gereksiz ağ iletişimini azaltın.
- Mekanik Hızlar: Takım değiştirme kolu veya magazin motorunun hız ayarlarını kontrol edin. Güvenlikten ödün vermeden hızları artırabilirsiniz.
Uzman Tavsiyesi
Mach3’te TCP Modbus ile harici PLC üzerinden takım değiştirme sistemi kurmak, CNC otomasyonunda önemli bir adımdır ve üretim verimliliğini, işleme hassasiyetini ve operatör güvenliğini artırma potansiyeli taşır. Bu entegrasyon, Mach3’ün esnekliğini PLC’nin endüstriyel sağlamlığı ve karmaşık mantık işleme yeteneğiyle birleştirerek, manuel takım değiştirme süreçlerinin getirdiği zaman kaybı ve hata riskini ortadan kaldırır. Ancak, bu sistemin başarılı bir şekilde uygulanması, mekanik, elektriksel ve yazılımsal disiplinlerde derinlemesine bilgi ve dikkatli planlama gerektirir.
Uzman tavsiyesi olarak, bu tür bir projeye başlarken kapsamlı bir tasarım dokümanı oluşturmanız kritik öneme sahiptir. Bu doküman, Modbus adres haritasından PLC’nin takım değiştirme mantığına, Mach3 makro kodundan sensör ve aktüatör bağlantı şemalarına kadar her detayı içermelidir. Güvenlik her zaman en üst öncelik olmalı; acil durdurma devreleri, mekanik kilitler ve yazılımsal güvenlik kontrolleri eksiksiz uygulanmalıdır. Sistemin devreye alınmasından önce, her bir bileşenin ve tüm entegre sistemin titizlikle test edilmesi, olası arızaların erken aşamada tespit edilmesini sağlar. Özellikle, farklı takım tipleriyle ve çeşitli senaryolar altında (örn. güç kesintisi sonrası kurtarma) kapsamlı testler yapılmalıdır. Ayrıca, gelecekteki bakım ve hata giderme süreçlerini kolaylaştırmak adına PLC programını ve Mach3 makrolarını detaylı bir şekilde yorumlamak ve dokümante etmek vazgeçilmezdir. Bu, sistemin uzun ömürlü ve güvenilir çalışmasını garantileyecek, aynı zamanda gelecekteki modifikasyon veya genişletmeler için sağlam bir temel oluşturacaktır. Unutmayın, iyi planlanmış ve özenle uygulanan bir otomasyon çözümü, yatırımınızın karşılığını fazlasıyla verecektir.

