MODBUS Protokolü

modbus1Modbus Protoklü, genelde otomasyon için kullanılan cihazlar arasında veri alış verişini sağlayan uygulama protokolüdür. Basitçe bir istemci-sunucu protoklü olan Modbus, istemci tarafından gönderilen talebe karşı, sunucunun verdiği cevabı içeren iletiler olarak özetlenebilir. İletim halinde olan cihazlar “Master” ya da “Slave” olarak nitelendirilirler. Burada master, istemci; slave ise sunucudur.  

 

Aradaki iletişim Protocol Data Unit (PDU) tabir edilen basit paketlerle yapılır. Protokole göre 3 tip PDU söz konusudur:

  • Talep için PDU: Fonksiyonu belirten bir kod (1 byte) ve fonksiyona özel veriler (değişken sayıda byte)

  • Cevap için PDU: Talebe karşılık gelen fonksiyon kodu (1 byte) ve cevap olarak gönderilecek veriler (değişken sayıda byte)

  • Kural dışı cevap için PDU: Talebe karşılık gelen fonksiyon kodu + 0x80 (128), (hata kodu, 1 byte) ve kural dışılığın belirtildiği kod (Exception code, 1 byte)

Fonksiyonların her biri için 1 ile 127 aralığında bir kod atanmıştır. 129 ve 255 arasında ise hata kodları bulunur. Bu fonksiyonlar için spesifikasyonun ilk versiyonunda sınıf 1.. sınıf 3 olmak üzere 3 ayrı sınıf tanımlanmıştır. Yeni sürümlerde ise fonksiyonlar için public, kullanıcı tarafından tanımlanan ve rezerve olarak gruplama söz konusudur. Otomasyon amacıyla kullanılan fonksiyonlar public grubundaki fonksiyonlardır.

Modbus veri tipleri

Discrete input --------------------------------- tek bit ve read-only

Discrete output (coils) ---------------------- tek bit ve read-write

Input Registers ---------------------------------16 bit word ve read only

Holding Registers (ya da Registers)--------16 bit word ve read only

Spesifikasyon bir cihazda verilerin nasıl sınıflandırılması gerektiğine girmez; ancak bu değerlere erişim için kullanılacak fonksiyonlar açısından veri tipi önemlidir. Modbus ile bağlanılacak bir cihazda hangi basit fonksiyonların kullanılacağı konusunda manuelinin incelenmesi gerekir.

Modbus Uygulamaları

Modbus kablo, fiber, radyo gibi tüm bağlantı tipleri için kullanılabilir; ancak en yaygın iki tipi: Seri ve IP modbus uygulamalarıdır.

1.      Seri: Asenkron Master /Slave

Modbus ilk olarak asenkron seri ağ iletişimi için kullanılmıştır. Uygulama protokolü seri bir ara yüz üzerinde ve seri iletişim standartlarına göre çalışır. Kablo üzerinde en yaygın olanları:

RS232 (EIA232) : İki nokta arası kısa mesafe iletişiminde kullanılır.

RS422/RS485: RS 422, RS232 gibi, ancak iki yönlü versiyonudur ve daha uzun mesafeleri de destekler. RS-485 ise fazla sayıda nokta arasında iletişim için kullanılabilir (Aynı hat üzerinden birden fazla cihaz olabilir) ve bu cihazlardan biri master, digerleri slave olarak çalışırlar.

 

 

 

 

 

 

 

 


Bu bağlantılarda fiili haberleşmede PDU ilave alanlarla uzatılır. Yani PDU’ya bir başlık (Header) bir de hata (Error) checksum paketi eklenir. Bu uzatılmış pakete Application Data Unit (ADU) ismi verilir ve maksimum paket boyutu 256 byte’dır. Bu limit tüm modbus protokol uygulamaları için geçerlidir.

 

 

 

                                                                Seri ADU

 

Header içeriğinde 1 byte’lık adres alanı bulunur. Check sum bölümünde ise header alanı da dahil olmak üzere tüm paket üzerindeki hata bulunur. Modbus mesajı (ADU) bası ve sonu belli bir paket içine yerleşir. Böylece mesajın basşı ve sonu bellidir; kısmi mesajlar da ayrılabilir. İki farklı iletim modu vardır. Bu modlarda kodlama paketleme ve checksum farklıdır.

ASCII: Paketler byte basına iki ASCII karakterle kodlanır (hexadecimal gösterim). Error check sum Longitudinal Redundancy Check (LRC; 1 byte) ile gösterilir ve mesajlar : ile başlar (“:”, 0x3A) ve – ile biter ("CRLF", 0x0D0A). CRLF: Carriage Return – Line Feed. Karakerler arası 1 sn’lik duraklamalar söz konusu olabilir.

RTU (Remote Terminal Unit): Daha yüksek iletim yoğunluğu için karakterler binary olarak gönderilir. Error check sum, Cyclic Redundancy Check (CRC) ile ifade edilir. Mesajlar 3.5 karakter zamanına denk gelen bir sessizlikle başlar ve biter. Bu en basitçe ağ üzerindeki baud rate uyarınca geçen karakter zamanının çarpımıdır. 2 byte arasında geçen maksimum sessiz süre 1.5 karakter zamanıdır. RTU uygulaması yalnızca master tarafını destekler. Gecikme süresi düşük gerçek zamanlı sistemlerde güvenli şekilde kullanılamayabilir.

  

2.      IP: Master/Slave

TCP/IP tabanlı Modbus uygulaması (Modbus/TCP) 502 no’lu com portu üzerinden yürütülür. Bu uygulamada PDU başındaki paket IP’ye özel bir başlangıçtır. Bu uygulamalarda birden fazla master söz konusu olabilir ve iletişim iki yönlüdür (cihazlar hem master hem de slave olarak çalışabilir).

Text Box: MBAP HeaderText Box: Fonksiyon verisiText Box: Fonksiyon Kodu


                                                                                 ADU (TCP)

IP’ye özel header paketi spesifikasyonda MBAP olarak geçer ve 7 byte uzunluğundadır. İçinde:

  • Başlatma berleyicisi (2 byte) iki tarafı ilişkilendirerek aralarında iletişimi sağlar. – Transaction identifier

  • Protokol belirleyicisi (2 byte) modbus için 0’dır. İleride gelebilecek versiyonlar için ayrılmıştır.

  • Uzunluk (2 byte), sonra gelen byteların sayısıdır.

  • Birim belirleyicisi (1 byte) TCP/IP ağı üzerinde olmayan uzak birimi belirlemek için kullanılır.

 

Modbus UDP Spesifikasyonu

Çalışma prensibi TCP ile aynıdır. Ancak master/slave arasında paket kaybı olabilir. Master paket kaybını bildiği için talebi yenileyebilir.

 

Share
Powered by Bullraider.com
   

Twitter'da takip et  

   

Aylık Bülten  

Teknik Bülten

Ayın konusu ile ilgili, makale, bağlantı, yorum, reklam, tanıtım. Yayınlansın dediğiniz ne varsa gönderin. Tecrübe ve katkılarınız bizi memnun eder.  

Telemetri

Bugün uzaktaki makina ve ekipmanlarınızla konuştunuz mu?

Onları dinleyin! Söyleyecekleri şeyler önemli olabilir.

Makinaların genelde söyleyecekleri çok şey vardır ama gerekli ses ve görüntü ekipmanları ile donatılmamıştır. Telemetrik sistemleri kullanarak onları dinleyebilir, ölçülebilir her şey hakkında bilgi alabilirsiniz.

Telemetri deyince tam neyi kastediyoruz?  Devamını oku...

Veri Güvenliği

Kablolu sistemler kapalı alanda çalıştıkları için veri güvenliği açısından daha üstün gözükmelerine rağmen, gerçek tam da böyle değildir. GSM/GPRS ağı üzerinde çalışan telemetrik modüller Devamını oku...

RF Sistemler

Radyo dalgaları uzayda hareket eden ve pek çok iletişim sisteminin temelini oluşturan elektromanyetik dalgalardır. Değişen frekansları ile radyo yayınlarının yanı sıra kablosuz cihazlarda, telefon, televizyon, radar, navigasyon ve telemetrik sistemlerde kullanılmıştır.

Radyo dalgalarında frekans belirleyici özelliktir. Kısa dalgaların

Devamını oku...

Telemetrik Takip Uygulama Örnekleri

Asagıdaki uygulama örnekleri TURA Teknoloji Danışmanlık'ın gönderdiği uygulama örneklerinden seçilmiştir. Detaylar için www.turaconsulting.com 

Uzaktan Tank İzleme Sistemleri

Her geçen gün firmaların LNG (sıvılaştırılmış doğal gaz) depolama tanklarını İzleme taleplerinde artış olmaktadır. Bu tankların çoğu ya erişimi uzak bir yerde ya da şehir dışında bulunmaktadır. Bazı yerlerde ise bulunan tank sayısı birden fazla olabilmektedir.

Telemetri modülleri, Devamını oku...

   
Real-time visitors monitor and live stats
© MUHENDIX.Com 2012, Tum hakları saklıdır.