İçeriğe geç

Haberleşme

Modbus RTU ve ASCII haberleşmesi

Bilgisayarın seri portuna (COM) bağlı RS-485 ya da RS-232 hattındaki Modbus cihazlarıyla konuşur. Tag adresleri ve veri tipleri Modbus TCP ile aynıdır.

Genel bilgi

Sürücü listesinde iki giriş vardır: Modbus RTU (seri) ve Modbus ASCII (seri). Enerji analizörü, sıcaklık kontrolörü ya da hız sürücüsü gibi seri hatta bağlı cihazlar için kullanılır. Bağlantının adresi IP yerine seri porttur, örneğin COM3. USB seri çevirici de bir COM portu olarak görünür.

Okuma planı, adres biçimi, veri tipleri ve 32 bit bayt sırası Modbus TCP sürücüsüyle ortaktır. Yalnızca çerçeve ve taşıma değişir.

Sürücü Çerçeve Varsayılan seri ayar
Modbus RTU İkili çerçeve, CRC16 denetimi. Çerçeveler arasında hat en az 3,5 karakter süresi sessiz kalır. 9600 baud, 8 veri biti, çift parite, 1 dur biti (8E1)
Modbus ASCII : ile başlayan, CR LF ile biten onaltılık metin, LRC denetimi. 9600 baud, 7 veri biti, çift parite, 1 dur biti (7E1)

Cihaz ve hat tarafında yapılacaklar

  1. Cihaz adresini öğrenin

    Hattaki her cihazın 1 – 247 arasında farklı bir Modbus adresi (slave ID) olmalıdır. Aynı adresli iki cihaz yanıtları bozar.

  2. Seri ayarları eşleyin

    Hız, parite, veri biti ve dur biti cihazın ayarıyla aynı olmalıdır. Hattaki bütün cihazlar da aynı ayarı kullanmalıdır.

  3. COM numarasını bulun

    Windows’ta Aygıt Yöneticisi › Bağlantı noktaları (COM ve LPT) listesinde portun numarası yazar. USB seri çeviriciyi başka bir USB yuvasına takınca numara değişebilir.

  4. Portu boşaltın

    Seri port aynı anda tek programda açılabilir. Cihazın kendi yapılandırma programı açıksa kapatın.

Studio’da bağlantı kurma

Bağlantılar bölümünde Ekle’ye tıklayın, Haberleşme sürücüsü olarak Modbus RTU (seri) ya da Modbus ASCII (seri) seçin. Adres hücresine portu yazın: COM1 – COM256; com 3 yazarsanız COM3 olarak düzeltilir. Port kolonu boş kalır. Seri parametreler Denetçi’dedir.

Alan Değerler
Cihaz adresi (slave ID) 1 – 247, varsayılan 1.
32 bit bayt sırası ABCD (varsayılan), CDAB, BADC, DCBA. Modbus TCP ile aynıdır.
Hız (baud) 1200, 2400, 4800, 9600 (varsayılan), 19200, 38400, 57600, 115200.
Parite Yok (N), Çift (E, varsayılan), Tek (O).
Veri biti RTU’da 8 olmalıdır. ASCII’de 7 (varsayılan) ya da 8.
Dur biti 1 (varsayılan) ya da 2.
Zaman aşımı (ms) Cihazın yanıtı için beklenen süre. Düşük hızlarda ve uzun okumalarda artırın.

Aynı hatta birden çok cihaz

RS-485 hattındaki her cihaz için ayrı bir bağlantı açın ve hepsine aynı COM portunu yazın. Bağlantılar portu paylaşır; istekler hatta sırayla gider. Her bağlantının kendi cihaz adresi, okuma döngüsü ve bağlantı durum tag’i olur.

Aynı portu kullanan bağlantıların Modbus türü, hızı, paritesi, veri biti ve dur biti aynı olmalıdır. Farklıysa Studio, Projeyi denetle’nin Sorunlar listesinde hata verir; Live ikinci bağlantıyı açmaz.

Örnek: bir hatta üç cihaz
 Analizor_1   COM3   ID 1   RTU 9600 8E1 // enerji analizörü   Analizor_2   COM3   ID 2   RTU 9600 8E1 // ikinci analizör, aynı ayar   Sicaklik_1   COM3   ID 5   RTU 9600 8E1 // sıcaklık kontrolörü  

Adresler ve veri tipleri

Örnek adresler
 00001 // Bobin (coil), Bool, yazılabilir   10001 // Ayrık giriş, Bool, yazılamaz   30001 // Giriş yazmacı, yazılamaz   40001 // Tutma yazmacı, yazılabilir   40001.5 // Yazmacın biti (0 – 15), Bool  
  • Bool
  • Int
  • UInt
  • DInt
  • UDInt
  • Real
  • LReal
  • String

Modicon gösterimi, 0 / 1 tabanlı adres farkı ve tiplerin kapladığı yazmaç sayısı Modbus TCP sayfasında anlatılır. Aynı yapıdaki cihazlar için Yapılar (UDT) burada da çalışır.

Okuma, yazma ve sınama

  • Yakın tag’ler tek istekte okunur, reddedilen blok tek tek okunur. Yazmadan sonra tag geri okunur. Bu kurallar Modbus TCP ile aynıdır.
  • Port açılamazsa ya da kablo çıkarılırsa bağlantı kopar; sürücü 1 sn, 2 sn, 5 sn sonra, ardından 10 sn’de bir yeniden dener.
  • Çevrimiçi › Bağlantıları sına seri bağlantıları TCP ile sınamaz; listede atlandı olarak sayılır. Hat ve cihaz Live’da tag okunurken denenir.
  • Live’da sistem menüsünün Bağlantılar bölümü son hata iletisini gösterir.

Sınırlar

  • Yayın adresi (0), özel işlev kodları, dizi tag’leri ve 64 bit tam sayı yoktur. Modbus dışında seri protokol yoktur.
  • Modbus’ta kimlik doğrulama ve şifreleme yoktur.
  • Sürücüler otomatik testlerde benzetimli bir seri hatla sınanmıştır. Devreye almadan önce kendi portunuz ve cihazlarınızla deneme yapın.

Sık görülen hatalar

İleti Neden ve çözüm
COM3 bulunamadı: bu bilgisayarda böyle bir seri port yok. Port numarası yanlış ya da USB seri çevirici takılı değil. Aygıt Yöneticisi’ndeki numarayı yazın.
COM3 açılamadı: port başka bir programda açık ya da erişim reddedildi. Portu kullanan diğer programı kapatın.
Cihaz yanıt vermedi (zaman aşımı). Cihaz adresi, hız, parite ya da kablo yanlış. RS-485’te A / B uçlarının yerini denetleyin; düşük hızda Zaman aşımı değerini artırın.
Geçersiz Modbus yanıtı (CRC hatalı). · (LRC hatalı). Seri ayarlar cihazla uyuşmuyor ya da hatta parazit var.
Modbus RTU’da veri biti 8 olmalıdır. 7 veri biti yalnızca Modbus ASCII’de kullanılır.
COM3 başka bir bağlantıda farklı ayarla kullanılıyor. Aynı porttaki bağlantıların seri ayarlarını eşitleyin.

Sık sorulanlar

Bir RS-485 hattında kaç cihaz okuyabilirim?

Her cihaz için bir bağlantı açarsınız; cihaz adresi 1 – 247 arasında olur. İstekler hatta sırayla gittiği için cihaz ve tag sayısı arttıkça her cihazın yenilenme aralığı uzar.

Modbus TCP ağ geçidi yerine bu sürücüyü kullanabilir miyim?

Evet, Live bilgisayarında bir seri port varsa cihazlara doğrudan bağlanabilirsiniz. Tag adresleri iki sürücüde aynı olduğu için ağ geçidinden seri porta geçerken yalnızca bağlantıyı değiştirirsiniz.

İlgili sayfalar

Demoyu deneyin

Demo sürümünü indirin, örnek projeyi açın ve bu özelliği kendi ekranınızda görün.