Sözlük · Protokol
Modbus nedir?
Modbus, cihazların register adı verilen 16 bitlik veri alanlarını master/slave (istemci/sunucu) mantığıyla okuyup yazdığı, seri hatta (RTU) veya Ethernet üzerinden (TCP) çalışan açık bir haberleşme protokolüdür.
VOLSOFT mühendislik ekibi ·
Modbus, sahadaki cihazların verilerini register adı verilen 16 bitlik alanlarda tuttuğu ve bir master’ın (istemci) bu alanları slave’lerden (sunucu) sorgu-cevap mantığıyla okuyup yazdığı açık bir haberleşme protokolüdür. Seri hatta Modbus RTU, Ethernet üzerinde Modbus TCP olarak çalışır. Basit ve lisanssız olduğu için PLC’lerde, enerji analizörlerinde, sürücülerde ve sensörlerde hâlâ en yaygın protokollerden biridir.
Modbus ne işe yarar?
Modbus’ın asıl işi, farklı üreticilerin cihazlarından ortak bir yolla değer okumaktır. Bir enerji analizöründen akım ve güç, bir sürücüden devir ve arıza kodu, bir PLC’den sayaç değeri aynı mantıkla alınır. Bu yüzden SCADA, izleme ekranları ve veri toplama yazılımları neredeyse her zaman Modbus desteğiyle gelir.
Nasıl çalışır?
Haberleşmeyi her zaman master başlatır: “şu adresten şu kadar register oku” der, slave cevap verir. Slave kendiliğinden veri göndermez. Veriler dört tipte tutulur:
| Veri tipi | Boyut | Erişim | Okuma / yazma kodu |
|---|---|---|---|
| Coil | 1 bit | Okuma-yazma | 01 / 05, 15 |
| Discrete input | 1 bit | Salt okunur | 02 |
| Input register | 16 bit | Salt okunur | 04 |
| Holding register | 16 bit | Okuma-yazma | 03 / 06, 16 |
05 ve 06 tek bir coil veya register yazar, 15 ve 16 ise birden çok değeri tek mesajda yazar. Seri hatta her slave’in 1 ile 247 arasında bir adresi olur; 0 adresi yayın (broadcast) için ayrılmıştır.
Modbus RTU ve Modbus TCP farkı
| Modbus RTU | Modbus TCP | |
|---|---|---|
| Fiziksel katman | RS-485 (bazen RS-232) | Ethernet |
| Hata kontrolü | CRC-16 | TCP’nin kendi kontrolü, mesajda CRC yok |
| Adresleme | Slave adresi (1–247) | IP adresi + unit identifier |
| Port | — | 502 |
| Eşzamanlılık | Hatta tek master, sırayla sorgu | Birden çok istemci bağlanabilir |
RTU hattında aynı anda tek sorgu yürüdüğü için cihaz sayısı ve baud hızı, okuma periyodunu doğrudan belirler. Seri cihazları Ethernet ağına almak için Modbus gateway (RTU–TCP dönüştürücü) kullanılır.
Veri dijital olarak toplanırken nelere dikkat edilmeli?
- Register haritası: Cihazın dokümanındaki adreslerin 0 tabanlı mı 1 tabanlı mı verildiği kontrol edilmelidir. Bir kayma, değerin tamamen yanlış okunmasına yol açar.
- 32 bit değerler: Float ve 32 bit tamsayılar iki register’a yayılır. Word ve byte sırası üreticiye göre değişir; ilk kurulumda bilinen bir değerle doğrulanmalıdır.
- Ölçekleme: Birçok cihaz değeri 10 veya 100 ile çarpılmış tamsayı olarak verir. Birim ve çarpan, veri modeline baştan yazılmalıdır.
- Okuma periyodu: Gereğinden sık sorgulamak hattı doldurur. Ardışık register’ları tek istekte okumak (03 ile en fazla 125 register) yükü azaltır.
- Zaman damgası ve kalite: Okunamayan değer son okunan değer gibi saklanmamalı, iletişim hatası ayrı işaretlenmelidir.
VOLSOFT, Modbus cihazlarından veri toplamayı Proxus platformu üzerinde kurar.
