Modbus Çerçeve Oluşturucu ve CRC Denetleyici
RTU ve TCP isteklerini oluşturun, baytları alan alan inceleyin ve yapıştırdığınız çerçevenin CRC’sini doğrulayın.
Oluşan çerçeve (onaltılık)
| Alan | Bayt | Anlamı |
|---|
| Alan | Bayt | Anlamı |
|---|
Modbus çerçevesi nasıl oluşur?
Her Modbus mesajının çekirdeği, protokolden bağımsız PDU’dur: bir fonksiyon kodu ve fonksiyona özgü veri. Bunun etrafındaki zarf, taşıyıcıya göre değişir:
- Modbus RTU — birim adresi + PDU + CRC-16. CRC, tüm baytlar üzerinden hesaplanır ve önce düşük bayt olacak şekilde eklenir.
- Modbus TCP — MBAP başlığı (işlem kimliği, protokol kimliği = 0, uzunluk, birim kimliği) + PDU. CRC yoktur; bütünlüğü TCP sağlar.
Okuma fonksiyonlarında (01–04) veri, başlangıç adresi ve adetten oluşur (her biri 2 bayt, büyük uçlu). Yazma fonksiyonları 05 ve 06 adres ve değeri taşır; 15 ve 16 ise adres, adet, bayt sayısı ve değerleri taşır. Aracın alan tablosu bu baytları tek tek açıklar.
Araç yalnızca çerçeveyi hesaplar; cihazla iletişim kurmaz. Üretime almadan önce cihazınızın Modbus belgelerindeki adres haritasını ve bayt sırasını doğrulayın.
Sık sorulan sorular
Modbus RTU CRC nasıl hesaplanır?
CRC-16/MODBUS: başlangıç değeri 0xFFFF, polinom 0xA001 (yansıtılmış 0x8005). Her bayt CRC ile XOR’lanır, ardından sekiz kez sağa kaydırılır; en düşük bit 1 ise polinomla XOR yapılır. Sonuç çerçevenin sonuna önce düşük bayt olacak şekilde eklenir.
Fonksiyon 03 ile 04 arasındaki fark nedir?
03 tutma yazmaçlarını (okunabilir ve yazılabilir), 04 giriş yazmaçlarını (salt okunur) okur. Hangi veri hangi tabloda duruyorsa onu seçmeniz gerekir; bu cihazın belgelerinde yazar.
Neden “illegal data address” hatası alıyorum?
Çoğu zaman 0 tabanlı ve 1 tabanlı adreslerin karışmasından kaynaklanır: dokümandaki 40001 numarası protokolde adres 0’dır. Adet, cihazın desteklediği aralığın dışına taşıyorsa da aynı hata gelir.
İlgili içerikler: Modbus · PLC · Modbus TCP ve RTU Rehberi: Yazmaçlar, Fonksiyon Kodları, Sık Hatalar
Bu hesabı gerçek bir projede otomatikleştirmek mi istiyorsunuz?
Verinin makineden panoya otomatik akması için HighByte Intelligence Hub ve GoodData ile birlikte bir mimari tasarlayalım.