Modbus Protokolü

Roltek > Genel  > Modbus Protokolü
Modbus_protokolu

Modbus Protokolü

Modbus bir seri haberleşme protokolü olup 1979 yılında Modicon tarafından PLC’ ler ile çalışması için geliştirilmiştir. Modbus sunucu/istemci tabanlı bir protokol olup endüstri ortamında en çok kullanılan protokollerden birisidir. Tercih edilmesinin en büyük sebepleri arasında kullanımının kolay olması ve herkes tarafından telif ücreti gerektirmeden kullanılabilir olması sayılabilir.

Endüstriyel ortamlarda Modbus protokolünün sıkça kullanılmasının nedenleri aşağıda sıralanmıştır.

  • Akıllı endüstriyel uygulamalar için geliştirilmiş olması,
  • Açık bir protokol olmasıi
  • Telif hakkı gerektirmeden kullanabilir olması,
  • Kullanımının çok kolay ve hızlı olması,
  • Kendini kanıtlamış bir protokol olması,

Modbus protokolünde RS232 , RS485 ve Ethernet üzerinden iletişim kurabilen birçok versiyon bulunmaktadır. Günümüzde en yaygın kullanılan versiyonlar Modbus RTU ve Modbus TCP/IP’dir. Modbus protokolünde mesajların çerçevelenmesi versiyonlara göre farklılıklar göstermektedir.

Modbus RTU ve Modbus ASCII çerçevelemesinde RS232 ve RS485 standartları kullanılır. RS485 standardı 1200 metreye kadar kullanılabilir olması nedeniyle daha çok tercih edilir. Modbus TCP/IP haberleşmesinde Ethernet kullanılır.

Otomasyon sistemlerinde, günümüzde kablosuz iletişim teknikleri sıkça kullanılmaya başlanmış ve birçok işletme kablosuz modbus modem geliştirmeye başlamıştır. Bu konudaki ürünlerimize göz atmak için ürünlerimizi inceleyebilirsiniz.

 

MODBUS PROTOKOLÜNÜN ÇALIŞMA YAPISI

Modbus protokolünde, haberleşme mesajlarla yapılır. Mesajların doğru bir şekilde iletimi olmadan sağlıklı bir haberleşme yapılamaz. Modbus protokolü haberleşmesinde master – slave ilişkisi kullanılır. Modbus RTU ve Modbus ASCII çerçevelemesinde bir modbus ağında 1 master cihaz ve maksimum 247 slave cihaz bulunabilir. Slave ünitelerin adresleri buradan anlaşılacağı üzere 1 ile 247 arasında olabilir.

Slave cihazlar sürekli olarak hattı dinlerler. Master üniteden gelen mesajları sürekli olarak kontrol ederler. Slave ünite kendi adresine ait bir mesaj geldiğinde gerekli işlemleri yaparak mesaja cevap verir. Genel olarak modbus protokolünün çalışması bu şekildedir.

Modbus TCP/IP çerçevelemesinde birden fazla master olabilir. İletişim iki yönlüdür. Kullanılan cihazlar master ve slave olarak kullanabilir. Çalışma esnasında slave olan cihaz master , master olan cihaz slave olabilir. Bu sayede iletişim iki yönlü olarak çalışmaya devam edecektir.

 

MODBUS PROTOKOLÜNDE MESAJ ÇERÇEVELEMESİ

Modbus protokolünde her versiyonun farklı bir mesaj çerçevelemesi vardır. En yaygın olarak kullanılan Modbus ASCII , Modbus RTU ve Modbus TCP/IP haberleşmelerine ait mesaj çerçevelemeleri aşağıda gösterilmiştir.

 

MODBUS RTU MESAJ ÇERÇEVELEMESİ

 

 

MODBUS ASCII MESAJ ÇERÇEVELEMESİ

 

MODBUS TCP/IP MESAJ ÇERÇEVELEMESİ

 

Modbus RTU ve Modbus ASCII için Modbus protokolünde mesajlar 4 bölümden oluşmaktadır. Modbus TCP/IP protokünde ise mesajlar 2 bölümden oluşmaktadır.

Modbus RTU ve Modbus ASCII çerçevelemelerinde mesajı adres , fonksiyon , data ve hata kontrol bölümleri oluşturmaktadır.

Modbus TCP/IP çerçevelemesinde mesajı MBAP başlığı ve Modbus TCP/IP PDU bölümleri oluşturmaktadır. MBAP başlığı işlem tanımlayıcı , protokol tanımlayıcı , uzunluk ve birim tanımlayıcı olmak üzere 4 bölümden oluşmaktadır. Modbus TCP/IP PDU bölümü fonksiyon kodu ve data bölümü olmak üzere 2 bölümden oluşmaktadır.

 

MODBUS ASCII VE MODBUS RTU MESAJ BÖLÜMLERİ

Modbus ASCII ve Modbus RTU çerçevelemeleri başlangıç ve bitiş bölümleri hariç 4 bölümden oluşur. Adres , fonksiyon , data ve hata kontrol bölümleri mesajları oluşturur.

 

ADRES BÖLÜMÜ

Modbus ASCII ve Modbus RTU çerçevelemesinde gönderilecek mesajın hangi slave üniteye gönderileceği veya hangi slave üniteden gönderildiğini belli eden bölüm adres bölümünü oluşturur. Modbus protokolünde adres bölümü 1 ile 247 arasında bir değer alabilir. 0 adresi yayın adresidir. 248 ve 255 arasındaki adresler ayrılmıştır.

Master ünitesi gönderilecek mesajın gönderileceği slave’in adresini mesaja ekler. Slave ünitesi kendi adresine gelen mesaja cevap göndereceği zaman kendi adresini tekrar mesaja ekleyerek gönderir.  Bu sayede master ünitesi gönderdiği mesaja karşı gelen cevabın hangi slave üniteden geldiğini anlayabilir.

Slave üniteler gelen mesajın adres bölümünü kontrol ederler. Gelen mesajın adresi kendi adresine ait değilse o mesaj değerlendirilmez ve herhangi bir cevap verilmez.

 

FONKSİYON BÖLÜMÜ

Fonksiyon bölümü, master üniteden slave üniteye veri gönderiminde slave ünitenin yapacağı işlem çeşidini belirtir. Slave üniteden master üniteye veri gönderimlerinde ise işlem ile ilgili cevap gönderilir. Fonksiyon bölümü işlemin herhangi bir sebepten dolayı yapılamaması gibi sebeplerden dolayı hata kodu içerebilir.

Fonksiyon bölümü  1 ile 255 arasında bir değer alabilir. 0 değeri fonksiyon kodu için geçerli değildir. Fonksiyon bölümünde 128 ile 255 arası ayrılmıştır. Özel durumlarda kullanılabilir.

 

DATA BÖLÜMÜ

Data bölümü gelen fonksiyon koduna göre hangi verinin kullanılacağını belirtir. Yani gelen fonksiyon koduna göre ek bilgiler içerir. Modbus mesaj paketlerinde data bölümü hiç bulunmayabilir. Bu durumda fonksiyon bölümü herhangi bir ek bilgiye ihtiyaç duymaksızın tek başına yapılacak işlemi belirtir.

Modbus RTU çerçevelemesinde data bölümü uzunluğu 0 – 252 byte arasında olabilir. Modbus ASCII çerçevelemesinde 0 –  2 x 252 karakter uzunluğunda olabilir.

 

HATA KONTROL BÖLÜMÜ

Modbus protokolünde haberleşme mesajlarla sağlandığından dolayı mesajların bütünlüğünün kontrol edilmesi gerekmektedir. Hata kontrol bölümü için Modbus RTU ve Modbus ASCII çerçevelemelerinde farklı hata kontrol yöntemleri kullanılmaktadır.

Modbus RTU çerçevelemesinde CRC yöntemi kullanılmaktadır. CRC kodu modbus RTU çerçevelemesinde 16 bit uzunluğundadır. Modbus ASCII çerçevelemesinde LRC yöntemi kullanılmaktadır. LRC kodu modbus ASCII çerçevelemesinde 2 karakterden oluşmaktadır.

 

MODBUS TCP/IP MESAJ BÖLÜMLERİ

Modbus TCP/IP versiyonunda mesajlar 2 ana bölümden oluşur. MBAP ve PDU bölümü mesajın bütünlüğünü oluşturur.

 

MBAP BAŞLIĞI BÖLÜMÜ

Modbus TCP/IP çerçevelemesinde MBAP başlığı 4 bölümden oluşur. MBAP başlığının uzunluğu 7 byte’dır. MBAP bölümü haberleşme işlevine yöneliktir. Master ve slave ünitelerin birbiriyle haberleşebilmesi için bir takım bilgileri taşır.

 

Transaction Identifier ( İşlem Tanımlayıcı )

Master ve slave noktalarını birbirine ilişkilendirerek iki cihazın birbiriyle haberleşebilmesini sağlayan bölümdür. İşlem tanımlayıcı bölümü 2 Byte uzunluğundadır.  

 

Protocol Identifier ( Protokol Tanımlayıcı )

Çoklu sistemler için düşünülmüştür. Modbus için 0 değerini alır. Gelecekte kullanılabileceği düşünülerek bu alan ayrılmıştır. Protokol tanımlayıcı bölümü 2 Byte uzunluğundadır.

 

Length ( Uzunluk )

Uzunluk bölümü , birim tanımlayıcı bölümü ve Modbus TCP/IP PDU bölümlerini kapsayan veri uzunluğunu byte olarak belli eder. Uzunluk bölümü 2 Byte uzunluğundadır.

 

Unit Identifier ( Birim Tanımlayıcı )

Bu alan sistem için yönlendirme amacıyla kullanılır. Ağ üzerinde bulunmayan uzak birimi belirleme amacıyla kullanılır. Birim tanımlayıcı bölümü 1 Byte  uzunluğundadır.

 

MODBUS TCP/IP PDU BÖLÜMÜ

Modbus TCP/IP PDU bölümü fonksiyon kodu ve data olmak üzere 2 bölümden oluşmaktadır. Modbus TCP/IP çerçevelemesinde Modbus TCP/IP PDU bölümü temel olarak işleve yönelik kodları içerir.

 

FONKSİYON KODU

Fonksiyon kodu bölümü, master üniteden slave üniteye mesaj gönderiminde yapılması talep edilen işleve yönelik koddan oluşur. Slave üniteden master üniteye cevap gönderiminde ise talebe karşılık gelen fonksiyon kodundan oluşur. Fonksiyon kodunun uzunluğu 1 byte’dır.

 

DATA BÖLÜMÜ

Data bölümü master üniteden slave üniteye mesaj gönderiminde yapılması talep edilen işleve yönelik özel veriler içerir. Slave üniteden master üniteye cevap gönderiminde ise talebe karşı gönderilecek cevap verileri veya hata kodlarından oluşur. Data bölümü değişken uzunluktadır.

 

Temel olarak modbus protokolü , protokolü oluşturan mesajların yapısı genel bilgilendirme amaçlı olarak bu şekilde açıklanabilir. Bu temel bilgilerin detaylarına modbus’ın kendi sitesindeki dökümanlarından erişilebilir. Kablosuz modbus data iletişimi sağlayan ürünlerimize göz atmak için ürünlerimizi inceleyebilirsiniz.

 

admin
No Comments

Post a Comment

Comment
Name
Email
Website