Cnc Router imalatı

Mach3 Modbus’ta Baud Rate, Slave ID, Register Address ve Function Code Nasıl Ayarlanır?

11 dk okuma Mermak CNC Teknik İçerik
Mach3 Modbus’ta Baud Rate, Slave ID, Register Address ve Function Code Nasıl Ayarlanır?
İçindekiler
  1. Mach3 Modbus’ta Baud Rate, Slave ID, Register Address ve Function Code Nasıl Ayarlanır? Nedir?
  2. Çalışma Prensibi ve Teknik Veriler
  3. Sahada Dikkat Edilmesi Gerekenler
  4. Sık Karşılaşılan Sorunlar ve Çözümleri
  5. Uzman Tavsiyesi

Mach3 Modbus iletişiminde Baud Rate, Slave ID, Register Address ve Function Code ayarları, Mach3 yazılımının Modbus eklentisi (Plugin) üzerinden yapılır. Bu parametreler, Mach3’ün ana kontrolör (master) olarak davranarak harici Modbus cihazlarıyla (VFD, PLC, sensörler) doğru ve güvenilir bir şekilde iletişim kurabilmesi için cihazın Modbus dokümantasyonunda belirtilen değerlerle birebir eşleşmelidir.

Mach3 Modbus’ta Baud Rate, Slave ID, Register Address ve Function Code Nasıl Ayarlanır? Nedir?

 

Endüstriyel otomasyon sistemlerinde, özellikle CNC makinelerinde kullanılan Mach3 yazılımı, çeşitli harici cihazlarla iletişim kurmak için Modbus protokolünü destekler. Modbus, endüstriyel cihazlar arasında veri alışverişi için yaygın olarak kullanılan bir seri iletişim protokolüdür. Mach3, genellikle bir Modbus RTU master’ı olarak yapılandırılır ve frekans invertörleri (VFD’ler), sıcaklık kontrolörleri, PLC’ler veya sensörler gibi Modbus slave cihazlarını kontrol etmek veya bunlardan veri okumak için kullanılır. Bu iletişimin başarılı bir şekilde gerçekleşebilmesi için dört temel parametrenin doğru bir şekilde ayarlanması kritik öneme sahiptir: Baud Rate, Slave ID, Register Address ve Function Code.

Baud Rate (Baud Hızı), seri iletişimde saniyede aktarılan bit sayısını ifade eder. Her iki tarafta da (Mach3 ve slave cihaz) bu hızın aynı olması gerekir (örneğin, 9600, 19200, 38400 bps). Yanlış Baud Rate ayarı, veri bozulmasına veya iletişimin tamamen kesilmesine neden olur.

Slave ID (Köle Kimliği), Modbus ağındaki her bir slave cihazı benzersiz bir şekilde tanımlayan bir adres numarasıdır. Genellikle 1 ile 247 arasında bir değer alır. Mach3, belirli bir slave cihaza komut göndermek veya ondan veri almak istediğinde, bu Slave ID’yi kullanarak hedef cihazı belirler. Bir ağda birden fazla slave cihaz varsa, her birinin benzersiz bir ID’ye sahip olması zorunludur.

Register Address (Kayıt Adresi), slave cihaz içindeki belirli bir veri depolama konumunu veya kontrol parametresini gösterir. Modbus protokolünde farklı türde kayıtlar bulunur: bobinler (coils), ayrık girişler (discrete inputs), tutma kayıtları (holding registers) ve giriş kayıtları (input registers). Her bir kayıt türü, belirli bir amaca hizmet eder (örneğin, bir motoru çalıştırmak için bir bobini ayarlamak veya bir sensörden sıcaklık değerini okumak için bir giriş kaydını okumak). Bu adresler genellikle 0’dan başlayıp belirli bir aralığa kadar devam eder ve slave cihazın kullanım kılavuzunda ayrıntılı olarak belirtilir. Mach3’te bu adresler, okunacak veya yazılacak belirli bir veriye işaret etmek için kullanılır.

Function Code (Fonksiyon Kodu), Modbus talebinin türünü tanımlar. Yani, master (Mach3) slave cihazdan ne yapmasını istediğini bu kod ile belirtir. Yaygın fonksiyon kodları şunlardır:

  • 01 (Read Coils): Birden fazla bobinin (açma/kapama durumu) durumunu okur.
  • 02 (Read Discrete Inputs): Birden fazla ayrık girişin (sensör durumu) durumunu okur.
  • 03 (Read Holding Registers): Birden fazla tutma kaydının (parametre değerleri, ölçümler) içeriğini okur.
  • 04 (Read Input Registers): Birden fazla giriş kaydının (sensör okumaları) içeriğini okur.
  • 05 (Write Single Coil): Tek bir bobinin durumunu yazar.
  • 06 (Write Single Register): Tek bir tutma kaydının içeriğini yazar.
  • 15 (Write Multiple Coils): Birden fazla bobinin durumunu yazar.
  • 16 (Write Multiple Registers): Birden fazla tutma kaydının içeriğini yazar.

Mach3’te bu parametrelerin doğru bir şekilde yapılandırılması, CNC makinenizin Modbus tabanlı çevresel birimlerle sorunsuz bir şekilde entegrasyonu ve kontrolü için temel bir adımdır.

Çalışma Prensibi ve Teknik Veriler

Mach3’te Modbus ayarlarını yapmak için öncelikle Mach3 yazılımının kurulu olması ve Modbus eklentisinin (plugin) etkinleştirilmiş olması gerekmektedir. Ayarlar genellikle “Config” menüsü altındaki “Plugins” seçeneğinden erişilen Modbus ayar penceresi üzerinden yapılır. İşte adım adım teknik yapılandırma süreci:

  1. Mach3 Modbus Plugin’ini Etkinleştirme ve Ayarlara Erişim:

    • Mach3’ü başlatın.
    • Üst menüden “Config” -> “Plugins” seçeneğine gidin.
    • Açılan pencerede “Modbus Serial” veya benzeri bir Modbus eklentisi bulun ve yanında bulunan kutucuğu işaretleyerek etkinleştirin.
    • Eklentiyi etkinleştirdikten sonra, genellikle aynı pencerede eklentinin üzerine çift tıklayarak veya “Config” menüsünde “Modbus” veya “Serial Modbus” gibi yeni bir seçenek bularak Modbus ayar penceresine erişebilirsiniz.
  2. Seri Port ve Baud Rate Ayarları:

    • Modbus ayar penceresinde, öncelikle Mach3’ün Modbus iletişimi için kullanacağı fiziksel COM Portunu seçmeniz gerekir (örneğin, COM1, COM2). Bu port, bilgisayarınızdaki fiziksel RS-232 veya RS-485 dönüştürücünüzün bağlı olduğu port olmalıdır.
    • Ardından, Baud Rate (Baud Hızı) ayarını yapın. Bu değer, slave cihazınızın (örneğin, VFD) Modbus iletişim hızına tam olarak uymalıdır. Yaygın Baud Rate değerleri 9600, 19200, 38400, 57600 veya 115200 bps’dir. Slave cihazınızın kullanım kılavuzunda bu bilgi bulunur.
    • Diğer seri port parametrelerini (Data Bits, Stop Bits, Parity) de slave cihazınızın ayarlarına göre yapılandırın. Genellikle 8 Data Bits, 1 Stop Bit ve None Parity (8N1) kullanılır, ancak bu durum cihazdan cihaza değişebilir. Özellikle RS-485 için “Half Duplex” seçeneğinin işaretli olduğundan emin olun.
  3. Slave ID ve Cihaz Ekleme:

    • Modbus ayar penceresinde, “Devices” veya “Slaves” gibi bir bölüm bulunacaktır. Buradan yeni bir slave cihaz ekleyebilirsiniz.
    • Eklediğiniz her slave cihaz için benzersiz bir Slave ID (1-247 arası) atamanız gerekir. Bu ID, fiziksel olarak slave cihazınızda (örneğin, VFD’nin parametre ayarlarında) yapılandırılmış olan ID ile aynı olmalıdır.
    • Birden fazla slave cihazınız varsa, her biri için ayrı bir giriş oluşturup farklı Slave ID’ler atayın.
  4. Register Address ve Function Code Eşleştirme:

    • Her bir slave cihazın altına, Mach3’ün okuyacağı veya yazacağı Modbus kayıtlarını (Registers) tanımlamanız gerekir. Bu, genellikle “Registers”, “Inputs” veya “Outputs” sekmesinde yapılır.
    • Yeni bir kayıt eklediğinizde, aşağıdaki bilgileri girmeniz istenir:
      • Slave ID: İlgili slave cihazın ID’si otomatik olarak atanır.
      • Register Address: Slave cihazın Modbus dokümantasyonunda belirtilen, okunacak veya yazılacak verinin adresi. ÖNEMLİ: Bazı cihazlar 0 tabanlı (0x0000), bazıları 1 tabanlı (40001) adresleme kullanır. Mach3 genellikle 0 tabanlı adresleme bekler. Eğer slave dokümantasyonu 40001 gibi 1 tabanlı bir adres veriyorsa, Mach3’e 40001 – 40000 = 1 veya 40001 – 1 = 0 (eğer 40000’i kaldırırsanız) gibi bir değer girmeniz gerekebilir. Bu, “offset” olarak bilinen bir durumdur ve cihazın kılavuzunda belirtilir.
      • Function Code: Bu kayda hangi işlemin uygulanacağını belirler (örneğin, 03 “Read Holding Registers” veya 06 “Write Single Register”). Bu da slave cihazın kılavuzunda hangi verinin hangi fonksiyon kodu ile okunup yazılabileceği şeklinde belirtilir.
      • Data Type: Kayıtın veri tipini belirtin (örneğin, Integer, Float, Word). Özellikle VFD hız ayarı gibi değerler için Float (kayan nokta) gerekebilir.
      • Mach3 Destinasyonu: Okunan veya yazılan verinin Mach3 içerisinde nereye eşleneceğini belirtin. Bu bir DRO (Digital Readout) numarası (örneğin, DRO200), bir LED numarası veya bir OEM Code olabilir. Örneğin, VFD’den okunan motor hızı bir DRO’ya atanabilir, veya Mach3’teki bir G-kodu ile VFD’ye belirli bir hız değeri yazılabilir.
    • Tüm gerekli kayıtları (motor hızı okuma, motor başlatma/durdurma, yön değiştirme vb.) bu şekilde tanımlayın.

Bu adımların tamamlanmasının ardından, Mach3 Modbus iletişimini başlatmaya hazır olacaktır. Her zaman slave cihazınızın detaylı Modbus adresleme ve fonksiyon kodu kılavuzuna başvurmak, doğru yapılandırma için hayati önem taşır.

ParametreDeğer/Açıklama
Baud Rate9600, 19200, 38400, 57600 veya 115200 bps (Slave cihazla eşleşmeli)
Data Bits7 veya 8 (Genellikle 8)
Stop Bits1 veya 2 (Genellikle 1)
ParityNone, Even, Odd (Slave cihazla eşleşmeli, genellikle None)
Slave ID1 – 247 arası benzersiz adres (Slave cihazda ayarlanmalı)
Register Address0 – 65535 arası (Slave cihazın kılavuzuna göre, offset dikkate alınmalı)
Function Code (Okuma)01 (Coils), 02 (Discrete Inputs), 03 (Holding Registers), 04 (Input Registers)
Function Code (Yazma)05 (Single Coil), 06 (Single Register), 15 (Multiple Coils), 16 (Multiple Registers)
Veri TipiInteger, Float, Word (Slave cihazın veri formatına göre)
Mach3 Modbus’ta Baud Rate, Slave ID, Register Address ve Function Code Nasıl Ayarlanır?

Sahada Dikkat Edilmesi Gerekenler

  • Slave Cihaz Dokümantasyonu Hayati Önem Taşır: Her Modbus slave cihazının (VFD, PLC vb.) kendine özgü bir Modbus adresleme haritası ve parametre listesi vardır. Baud Rate, Slave ID, her bir parametrenin Register Address‘ı, hangi Function Code ile okunup yazılabileceği ve veri formatı (integer, float, word order) bu dokümanlarda detaylı olarak açıklanır. Bu kılavuz olmadan doğru yapılandırma yapmak neredeyse imkansızdır.
  • RS-485 Kablolama ve Sonlandırma Dirençleri: Modbus RTU genellikle RS-485 fiziksel katmanı üzerinden çalışır. RS-485, iki telli (A ve B) bir diferansiyel sinyal sistemidir ve uzun mesafelerde ve gürültülü endüstriyel ortamlarda daha güvenilirdir. Kablolama sırasında A ve B uçlarının polaritesine dikkat edilmelidir. Ayrıca, bus hattının her iki ucuna 120 Ohm’luk sonlandırma dirençleri (terminating resistors) takmak, sinyal yansımalarını önleyerek iletişimin stabilitesini artırır. Topraklama ve ekranlama da elektromanyetik girişimi (EMI) azaltmak için önemlidir.
  • Adres Ofsetleri ve Veri Formatı: Modbus kayıt adresleri konusunda sıklıkla kafa karışıklığı yaşanır. Bazı cihazlar 0 tabanlı adresleme (örneğin, 40000 yerine 0), bazıları 1 tabanlı adresleme (örneğin, 40001) kullanır. Mach3’ün beklediği adres formatına göre bir “offset” uygulamak gerekebilir. Örneğin, slave cihaz 40001 adresini belirtiyorsa, Mach3’e 0 veya 1 girmeniz gerekebilir. Ayrıca, 32-bit float değerler genellikle iki 16-bit kelime olarak aktarılır ve bu kelimelerin byte sırası (big-endian/little-endian) cihazdan cihaza değişebilir. Mach3’teki Modbus ayarlarında bu “Word Order” seçeneğini doğru ayarlamak önemlidir.
  • Tek Tek Test ve Sorun Giderme: Tüm ayarları bir kerede yapmak yerine, önce temel iletişimi (Baud Rate, COM Port, Slave ID) doğrulamak için basit bir okuma işlemi ile başlayın. Ardından, birer birer kayıt adreslerini ve fonksiyon kodlarını ekleyerek sistemi kademeli olarak test edin. Modbus sniffer veya test yazılımları (örneğin, Modbus Poll, Modscan) kullanarak iletişim hattındaki veriyi izlemek, sorunları teşhis etmek için çok değerli olabilir.
  • Mach3 ve Modbus Plugin Güncellemeleri: Mach3’ün ve Modbus eklentisinin güncel olduğundan emin olun. Eski sürümlerde bilinen hatalar veya uyumluluk sorunları olabilir. Güncel sürümler genellikle daha iyi performans ve kararlılık sunar.
Mach3 Modbus’ta Baud Rate, Slave ID, Register Address ve Function Code Nasıl Ayarlanır?

Sık Karşılaşılan Sorunlar ve Çözümleri

Mach3 Modbus entegrasyonunda karşılaşılan sorunlar genellikle yanlış yapılandırma veya fiziksel bağlantı hatalarından kaynaklanır. İşte sık karşılaşılan sorunlar ve çözüm önerileri:

  • İletişim Kurulamıyor / “No Response from Slave”:

    • Çözüm:
      • Kablolama Kontrolü: RS-485 A ve B uçlarının polaritesini kontrol edin (A-A, B-B). Kablo bağlantılarının sağlam olduğundan emin olun.
      • COM Port: Mach3’te seçilen COM portunun doğru olduğundan ve başka bir program tarafından kullanılmadığından emin olun. Aygıt Yöneticisi’nden COM port numarasını doğrulayın.
      • Baud Rate, Parity, Data Bits, Stop Bits: Mach3 ve slave cihazdaki bu seri port ayarlarının birebir aynı olduğundan emin olun.
      • Slave ID: Mach3’te tanımlanan Slave ID’nin fiziksel slave cihazdaki ID ile aynı olduğundan emin olun.
      • Sonlandırma Dirençleri: RS-485 hattının her iki ucunda 120 Ohm sonlandırma dirençlerinin takılı olduğundan emin olun.
      • Cihaz Gücü: Slave cihazın açık ve çalışır durumda olduğunu kontrol edin.
  • Yanlış veya Tutarsız Veri Okuma:

    • Çözüm:
      • Register Address Offset: Slave cihazın dokümantasyonunda belirtilen adres ile Mach3’e girilen adres arasındaki ofset farkını kontrol edin (0 tabanlı vs. 1 tabanlı). Genellikle slave dokümanındaki 4XXXX adresinden 40001 veya 40000 çıkarılarak Mach3’e girilecek adres bulunur.
      • Function Code: Okumak istediğiniz veri tipi için doğru Function Code’u kullandığınızdan emin olun (örneğin, Holding Register için 03, Input Register için 04).
      • Data Type ve Word Order: Okunan verinin tipi (Integer, Float) ve çoklu kelime verilerinde byte sırası (Big-endian, Little-endian) ayarlarının doğru olduğundan emin olun. VFD hızları gibi float değerler için bu kritik öneme sahiptir.
      • Kayıt Boyutu: Okunan kayıtın boyutunun (16-bit, 32-bit) Mach3’teki ayarla eşleştiğinden emin olun.
  • Veri Yazılamıyor / Komutlar İşlenmiyor:

    • Çözüm:
      • Yazma İzinleri: Slave cihazın belirli kayıtlarına yazma izninin olup olmadığını kontrol edin. Bazı parametreler sadece okunabilir olabilir.
      • Function Code: Yazma işlemi için doğru Function Code’u kullandığınızdan emin olun (örneğin, tek bir kayıt için 06, birden fazla kayıt için 16).
      • Register Address: Yazmak istediğiniz parametrenin doğru Register Address’ına sahip olduğunuzdan emin olun.
      • Değer Aralığı: Yazmaya çalıştığınız değerin slave cihazın izin verdiği aralıkta olduğundan emin olun.
  • Mach3 Donuyor veya Hatalar Veriyor:

    • Çözüm:
      • Plugin Çakışmaları: Başka bir eklenti ile Modbus eklentisi arasında çakışma olup olmadığını kontrol edin. Gerekirse diğer eklentileri geçici olarak devre dışı bırakın.
      • CPU Yükü: Mach3’ün sistem kaynaklarını aşırı kullanıp kullanmadığını kontrol edin. Gereksiz arka plan uygulamalarını kapatın.
      • Mach3 Güncellemesi: Mach3’ün ve Modbus eklentisinin en son kararlı sürüme güncellendiğinden emin olun.

Uzman Tavsiyesi

Mach3 ile Modbus tabanlı cihazlar arasında başarılı bir iletişim kurmak, CNC otomasyon projelerinde kritik bir adımdır. Bu süreçte Baud Rate, Slave ID, Register Address ve Function Code gibi temel parametrelerin doğru bir şekilde ayarlanması, sistemin güvenilirliği ve performansı için vazgeçilmezdir. Endüstriyel otomasyon alanında çalışan bir uzman olarak, bu ayarların “tak ve çalıştır” mantığıyla değil, titiz bir mühendislik yaklaşımıyla ele alınması gerektiğini vurgulamak isterim. Her Modbus slave cihazı kendi içinde bir mikro-sistem olduğu için, onun dilini ve davranışını anlamak (kılavuzunu okumak) başarının anahtarıdır. Özellikle register adreslerindeki ofsetler ve veri formatı (float, integer, word order) konuları, çoğu zaman gözden kaçan ancak ciddi iletişim hatalarına yol açan detaylardır. Sahada karşılaşılan sorunların büyük çoğunluğu, bu temel parametrelerin bir veya birkaçının yanlış ayarlanmasından kaynaklanır. Bu nedenle, sisteme yeni bir Modbus cihazı entegre ederken, öncelikle slave cihazın Modbus dokümantasyonunu baştan sona incelemek, Mach3 Modbus eklentisi ayarlarıyla bu dokümantasyondaki değerleri birebir eşleştirmek ve ardından kademeli olarak test etmek en doğru yaklaşımdır. İletişim sorunları yaşandığında, bir Modbus analizörü veya yazılımı kullanarak veri paketlerini izlemek, hatanın nerede olduğunu tespit etmek için çok değerli bilgiler sağlar. Unutmayın, doğru yapılandırılmış bir Modbus iletişimi, CNC makinenizin potansiyelini tam anlamıyla ortaya çıkaracak ve otomasyon süreçlerinizin verimliliğini artıracaktır.

⚙ Araçlar