21 Aralık 2011 Çarşamba

Modbus RTU ile Modbus/ASCII arasındaki farklar





MODBUS RTU ve  MODBUS/ASCII ARASINDAKİ FARKLAR




Seri Modbus bağlantılarında ASCII ve RTU olmak üzere iki temel ileti modu vardır.Bu iki ileti moduna göre Modbus mesajları kodlanır.ASCII formatında mesajlar okunabilir iken  RTU mesajları binary kodludur ve izlenir iken okunamazlar.RTU mesajları daha küçük boyutda olup aynı zaman aralığında daha çok data nın alışverişine imkan sağlar.Dikkat edilmesi gereken şey Modbus networkü üzerinde yer alan tüm düğümlerin (nodes) aynı iletim modunda olmasıdır,souç olarak Modbus ASCII  ve Modbus RTU birbirleri ile haberleşemez.
MODBUS/ASCII de  mesajlar hexadecimal değerlikli encode dir,  ASCII karakterleri le tanımlanırlar.Bu encoding için kullanılan karakterler  0123456789 ve ABCDEF dir. Her bilgi byte ı için iki haberleşme byte'ı kullanılır,zira her haberleşme-byte'ı sadece hexadecimal sistemde sadece 4 bit'i tanımlar.Modbus RTU ise veri alışverişini binary formatda yapar ve data byte ı bir haberleşme byte ında kodlanır.
Seri bağlantı üzerindeki Modbus mesajları   düz (plain) formatda yayımlanmaz.Alıcılar mesajın başlangıç ve sonunu algılayacak yapıda krugulanmıştır.Karakterler ASCII modunda iken frame i başlatır ve sonlandırır.Bir mesaj başlangıcını flag ( belirtmek) etmek için ‘:’ iki nokta üst üste işareti kullanılır.her mesaj CR/LF kombinasyonu ile sonlanır.
Modbus RTU daha değişik bir yöntem izler,RTU da haberleşme hattındaki sessizlik boşlukları ölçülerek frame'ler oluşturulur.Her mesajdan önce en az 3.5 karakter boşluk olmalıdır.Yeni mesajlar hazırlamak için,alıcı 1.5 karakterlik boşluğu algılayınca buffer'ı temizler.Modbus/ASCII ile Modbus RTU arasındaki ana farklardan biriside,ASCII bir mesajın byte ları arasında en fazla 1 sn uzunluğunda boşluklara izin verir.Modbus RTU da sürekli akan mesajlar gönderilmelidir.


Hiç yorum yok:

Yorum Gönder