Bir RS485 cihazını yapılandırmak zor olabilir. Modbus ve RS-485 protokolleri arasındaki uyumluluk genellikle bir problemdir. Bu iki protokol iletişim yığınının farklı katmanlarında çalıştığı için uzun bir hata ayıklama oturumuyla karşı karşıya kalabilirsiniz.
RS485 protokolü, yığının fiziksel katmanında çalışan bir elektrik standardıdır. Kablo uzunluğu, kabul edilebilir voltaj seviyeleri ve tek bir veri yolunu paylaşabilecek cihaz sayısı gibi unsurları tanımlar.
Modbus protokolü uygulama katmanında çalışır ve iletilerin nasıl yapılandırıldığına, adreslendiğine ve alıcı tarafından nasıl yorumlandığına odaklanır. Bir sorunu etkili bir şekilde çözmek için soruna hangi katmanın neden olduğunu bilmeniz gerekir.
Modbus ile RS485 arasındaki farklar
Aşağıdaki tablo, uyumluluklarını etkileyen bu iki kritik protokolün en önemli parametrelerini karşılaştırmaktadır.
| RS485 | Modbus | |
| Katman | Fiziksel (OSI Katman 1) | Uygulama (OSI Katman 7) |
| Tarafından tanımlandı | EIA/TIA-485 | 1979’da Modicon; artık açık |
| Tür | Elektrik standardı | İletişim protokolü |
| Topoloji | Çoklu düşümlü veriyolu, tekrarlayıcı olmadan 32 düğüme kadar destekler | 1 master ve 247 slave’e kadar Master/Slave |
| İşlev | Kablolama, sinyal seviyeleri ve diğer elektriksel özellikleri tanımlar | Mesajı, veri çerçevelemesini ve fonksiyon kodlarını tanımlar |
| Veri formatı | Diferansiyel gerilim sinyalleri | RTU (ikili) veya ASCII çerçeveler |
| Hata tespiti | Belirtilmemiş | CRC (RTU) veya LRC (ASCII) |
| Maks hız | Kısa mesafelerde 10 Mbps’ye kadar | Genellikle RS485 üzerinden RTU/ASCII ile 9.600 – 115.200 bps |
| Maks mesafe | 100 kbps’de 1.200 m | Fiziksel katmana bağlıdır |
| Varyantlar | RS422 (noktadan noktaya), RS232 (kısa menzil) | Modbus RTU, Modbus ASCII, Modbus TCP/IP |
Modbus nedir?
Modbus, Modicon tarafından 1979’da geliştirilen bir uygulama katmanı iletişim protokolüdür. Bir ana cihaz ile bir veya daha fazla köle arasında gönderildiğinde mesajların nasıl yapılandırıldığını tanımlayan açık, ücretsiz bir protokoldür. Modbus; RS485, RS232, RS422 veya Ethernet (TCP/IP) dahil olmak üzere çeşitli taşıma çözümleri üzerinden çalışır.
Temel Özellikler
• Mimari: Bir master, 1–247 olarak numaralandırılmış, adreslenebilir en fazla 247 slave ile iletişim kurar; ID 0 yayın (broadcast) için ayrılmıştır.
• İletişim modeli: Master, slave’lere istek göndererek tüm iletişimi başlatır; slave’ler yalnızca yanıt verebilir.
• Adresleme: Tüm istekler hedef Slave ID’yi içerir ve bu ID her yanıt tarafından geri yansıtılır.
• Veri türleri: 1 bitlik coil’ler ve ayrık girişler, 16 bitlik giriş ve holding register’ları.
• Hata tespiti: ASCII modunda LRC ve RTU modunda CRC-16.
Veri modeli
• Bobinler (1-bit, okuma/yazma) ayrık çıkış durumunu sağlar.
• Ayrık Girişler (1-bit, salt okunur) ayrık giriş durumu için.
• Giriş Yazmaçları (16-bit, salt okunur) ölçülen giriş değerlerini depolar.
• Tutma Yazmaçları (16-bit, okuma/yazma) yapılandırma ve çıkış değerlerini tutar.
Varyantlar: RTU, ASCII, TCP/IP
• Modbus RTU, hızı ve kompakt boyutu nedeniyle RS485 ile kullanım için standarttır. İkili kodlama ve CRC-16 hata denetimi içerir.
• Modbus TCP/IP, Ethernet üzerinden kullanılır ve TCP iletişim bütünlüğünü sağladığı için CRC/LRC’ye ihtiyaç duymaz.
• Modbus ASCII, hex karakter kodlaması ve LRC hata denetimi kullanır. Bu varyant genellikle RS232 üzerinde kullanılır ve insan tarafından okunabilirdir.
RS485 nedir?
RS485 (EIA-485), sinyallerin kablolar üzerinden nasıl iletildiğini tanımlayan fiziksel katmanda çalışan bir elektrik standardıdır. Protokol; kablo empedansı, gerilim seviyeleri, maksimum kablo uzunluğu ve veri yolu topolojisi gibi unsurları belirtir. RS485, daha üst katman protokollerinin, mesaj biçimlerinin veya veri içeriğinin farkında değildir.
Temel Özellikler
• Sinyalleme: A ve B kabloları arasındaki diferansiyel, yani gerilim farkı, elektriksel gürültüye karşı oldukça dayanıklıdır.
• Topoloji: Tek bir kablo çifti üzerinde, tekrarlayıcı olmadan 32 birim yüküne kadar çoklu-düşüşlü bir veri yolunu destekler.
• Maks. mesafe: 100 kbps’de yaklaşık 1.200 m; daha yüksek veri iletim hızlarında daha kısa mesafeler.
• Maks. veri hızı: 15 m’nin altındaki kısa mesafelerde 10 Mbps’ye kadar destekler.
• Dubleks: Varsayılan olarak tek bükümlü çift ile yarı-dubleks’tir. İki çift ile tam-dubleks uygulanabilir.
İlgili Standartlar: RS232 ve RS422
• RS232, yaklaşık 15 m azami menzile sahip tek uçlu, noktadan noktaya bir protokoldür. Sinyaller RS485 ile uyumlu değildir. Doğrudan adaptörler genellikle RS485-USB veya RS-485-Ethernet uygulamaları için kullanılır.
• RS422, RS485 gibi diferansiyel sinyal sağlar, ancak çoklu düşüş desteği olmadan noktadan noktaya iletişim için hat başına bir sürücü ile sınırlıdır.
Modbus Verilerini İzleme ve Analiz Etme Aracı
İletişim sorunlarını gidermek, RS485 ile Modbus arasındaki farkı anlamayı ve veriyolunda iletilenlerin görünürlüğünü kazanmayı gerektirir. Bu görünürlüğü elde etmenin en etkili yolu, ham seri port trafiğini analiz etmektir. Bu analiz, register değerlerini doğrulayarak ve adresleme hatalarını keşfederek sorunları verimli bir şekilde ayıklamanızı sağlar. Serial Port Monitor (SPM), bu bilgiyi sağlayan bir yazılım çözümüdür.
Modbus Test Yazılımı, RS232/RS422/RS485 arayüzleri üzerinden Modbus iletişimine ilişkin bilgi sağlayan bir protokol analizörüdür. Yazılım, kullanıcıların Modbus iletişimini test ederken ve hata ayıklarken sorunları kolayca tespit edip çözmelerine olanak tanır. En değerli özelliklerinden biri, bir sistemin seri portundan geçen verileri görüntüleme ve günlüğe kaydetme yeteneğidir.
Modbus Test Yazılımı
Modbus Analyzer, bir sistemin RS485 portları üzerinden iletildiği sırada Modbus RTU ve ASCII seri verilerini kullanıcıların görüntülemesine, kaydetmesine ve hata ayıklamasına olanak tanır.
Bu profesyonel Modbus test yazılımı kullanıcıların şunları yapmasını sağlar:
• Başka bir program tarafından zaten kullanılıyor olan seri portlara bağlanın ve bunları izleyin. Port tarafından alınan tüm verilerin gerçek zamanlı görüntülenmesi, anında izleme ve hata ayıklama için kullanılabilir.
• Birden fazla seri portu aynı anda izleyin. Tek bir oturumda birden çok seri portun etkinliğini eşzamanlı olarak analiz edebilirsiniz. Her iki yönde akan veriler, görüntüleme kolaylığı için tek bir günlükte ilk giren ilk çıkar esasına göre sunulur.
• Verilerinizi tablo, terminal, satır ve döküm görünümleri dahil olmak üzere çeşitli formatlarda görüntüleyin. Birden fazla görünüm aynı anda görülebilir ve izlemenizi ince ayar yapmak için filtreler kullanabilirsiniz.
• Belirli komutlara maruz kaldığında etkinliği izlemek için bir seri cihaza aktarılan verilerin emülasyonunu gerçekleştirin.
Sıkça Sorulan Sorular
Hayır, bunlar farklı ve birbirini tamamlayan protokollerdir. Modbus bir mesajlaşma protokolüdür, RS485 ise fiziksel elektriksel arayüzü tanımlar. RS485, Modbus’un bir mesaj ilettiği yoldur.
RS485 standardı, tekrarlayıcılar olmadan bir veri yolunda 32 ünite yüküne kadar desteklerken, Modbus 247 slave’e kadar izin verir. Genellikle, 32 düğümlük fiziksel sınır standarttır; desteklenen cihaz sayısını artırmak için tekrarlayıcılar kullanılır.
Modbus RTU, CRC hata denetimiyle verileri ikili biçimde ileten kompakt ve verimli bir protokoldür. RS485 ile kullanım için tercih edilen protokoldür. Modbus ASCII, verileri insan tarafından okunabilir onaltılık karakterler olarak iletir ve LRC hata denetimi kullanır. Daha az verimli bir çözümdür, ancak RS232 bağlantılarında daha kolay hata ayıklamayı sağlar.
Evet. Modbus, RS232, RS422 veya Ethernet (Modbus TCP/IP) bağlantıları üzerinden de çalışabilir. RS485, çoklu cihaz bağlantısı (multi-drop) yetenekleri ve gürültüye karşı bağışıklığı nedeniyle endüstriyel ortamlarda Modbus için tercih edilen fiziksel katmandır.