Troubleshooting Modbus RTU: 7 Error Paling Sering & Solusinya
Rangkuman diagnostik cepat untuk 7 error paling umum di Modbus RTU: Timeout, CRC Error, Illegal Data Address, Illegal Function, Slave Device Busy, nilai data salah, dan konflik multi-perangkat

Kalau kamu sudah mengikuti seri ini dari konsep dasar, wiring, cara baca register, sampai setting Slave Address — kemungkinan besar kamu sudah pernah (atau akan) ketemu setidaknya satu dari 7 error di artikel ini.
Ini adalah rangkuman diagnostik cepat — bukan pengganti artikel-artikel sebelumnya, tapi referensi yang bisa kamu buka langsung saat sedang di lapangan menghadapi error dan butuh solusi cepat.
📌 Bagian dari seri Panduan Lengkap Modbus RTU. Simpan/bookmark artikel ini sebagai referensi troubleshooting cepat.
1. Connection Timeout / No Response
Gejala: software (Modbus Poll atau lainnya) menampilkan “Timeout” terus-menerus, tidak ada data yang masuk sama sekali.
Penyebab paling umum:
- Baud rate, parity, atau Slave Address di software tidak cocok dengan perangkat
- Wiring A/B tertukar
- Perangkat tidak mendapat daya / mati
- COM port yang dipilih salah
Solusi cepat:
- Cek ulang tiga parameter kunci: Slave Address, Baud Rate, Parity — cocokkan dengan datasheet
- Coba tukar kabel A dan B (aman untuk RS-485, tidak akan merusak perangkat)
- Pastikan LED indikator power di perangkat menyala
- Cek Device Manager untuk memastikan COM port yang dipakai benar
➡️ Detail lengkap ada di Wiring RS-485 yang Benar.
2. CRC Error / Checksum Error
Gejala: koneksi terhubung, ada respons dari perangkat, tapi software menandai data sebagai tidak valid/corrupt.
Penyebab paling umum:
- Noise elektromagnetik masuk ke jalur komunikasi (kabel tidak shielded, terlalu dekat dengan sumber noise seperti VFD/motor)
- Tidak ada terminating resistor 120Ω di ujung jalur bus
- Kabel terlalu panjang untuk baud rate yang dipakai
Solusi cepat:
- Pastikan terminating resistor 120Ω aktif di kedua ujung bus
- Ganti kabel biasa dengan kabel twisted pair shielded
- Jauhkan jalur kabel RS-485 dari kabel power/motor listrik
- Turunkan baud rate kalau kabel sangat panjang (>500 meter)

3. Illegal Data Address (Exception Code 02)
Gejala: perangkat merespons, tapi mengembalikan pesan error spesifik “Illegal Data Address” alih-alih data yang diminta.
Penyebab paling umum:
- Nomor register yang diminta tidak ada di perangkat tersebut
- Salah paham soal offset penomoran register — sebagian datasheet menulis nomor register mulai dari 1 (misal 40001), tapi di software kadang perlu dimasukkan sebagai 0 (karena internal addressing dimulai dari 0)
Solusi cepat:
- Cek ulang datasheet perangkat untuk memastikan nomor register yang benar
- Coba kurangi 1 dari nomor register yang kamu masukkan (paling sering menyelesaikan masalah offset ini)
- Pastikan jumlah register yang diminta (quantity) tidak melebihi jumlah register yang tersedia di perangkat
4. Illegal Function (Exception Code 01)
Gejala: perangkat merespons dengan error “Illegal Function”.
Penyebab paling umum:
- Function code yang digunakan (misal Read Holding Register/03) tidak didukung oleh perangkat tersebut — perangkat mungkin hanya mendukung Read Input Register (04)
Solusi cepat:
- Cek datasheet untuk tahu function code apa saja yang didukung perangkat
- Coba ganti function code di software (misal dari 03 ke 04, atau sebaliknya)
5. Slave Device Busy (Exception Code 06)
Gejala: respons datang tapi berupa error “Slave Device Busy”, biasanya sesekali/tidak konsisten.
Penyebab paling umum:
- Perangkat sedang memproses request lain, atau internal processing-nya lebih lambat dari kecepatan polling yang diminta
- Scan rate/polling interval di software terlalu cepat untuk kemampuan perangkat
Solusi cepat:
- Perbesar interval polling (misal dari 100ms jadi 500ms atau 1000ms)
- Kalau ada banyak Slave dalam satu jalur, kurangi jumlah request bersamaan
6. Data Terbaca Tapi Nilainya Tidak Masuk Akal
Gejala: tidak ada error, data masuk, tapi angkanya aneh (misalnya negatif ekstrem, atau angka yang jauh dari ekspektasi).
Penyebab paling umum:
- Format data salah diinterpretasikan — perangkat mengirim data sebagai Float atau 32-bit, tapi software membacanya sebagai 16-bit Integer biasa
- Byte order (endianness) terbalik — sebagian perangkat mengirim byte dengan urutan berbeda dari yang diasumsikan software
Solusi cepat:
- Cek datasheet untuk tahu format data yang benar dipakai perangkat (Integer, Float, Signed/Unsigned)
- Di Modbus Poll, klik kanan pada nilai di grid dan coba ganti tampilan format (Decimal, Hex, Float, dll) sampai angkanya masuk akal
- Kalau memakai dua register untuk satu nilai (32-bit), cek apakah perlu diatur sebagai “byte swap” atau “word swap”
7. Beberapa Perangkat Bentrok di Jalur yang Sama
Gejala: sistem berjalan normal saat hanya satu perangkat terhubung, tapi jadi kacau/error random setelah perangkat kedua/ketiga ditambahkan ke jalur yang sama.
Penyebab paling umum:
- Dua perangkat memiliki Slave Address yang sama
- Topologi wiring berubah jadi star (bercabang) alih-alih daisy-chain saat menambah perangkat baru
Solusi cepat:
- Cek ulang Slave Address setiap perangkat — pastikan semua unik (lihat Cara Setting Slave Address)
- Pastikan wiring baru tetap mengikuti pola daisy-chain, bukan bercabang dari satu titik
- Test satu per satu: matikan semua perangkat kecuali satu, lalu nyalakan bergantian sambil memantau apakah error muncul saat perangkat tertentu aktif

Tabel Rangkuman Cepat
| Error | Gejala Utama | Cek Pertama |
|---|---|---|
| Timeout | Tidak ada respons sama sekali | Baud rate, Slave Address, wiring A/B |
| CRC Error | Data masuk tapi invalid | Terminating resistor, shielding kabel |
| Illegal Data Address | Error spesifik dari perangkat | Nomor register, offset (0 vs 1) |
| Illegal Function | Error spesifik dari perangkat | Function code yang didukung perangkat |
| Slave Device Busy | Error sesekali | Interval polling terlalu cepat |
| Nilai tidak masuk akal | Data masuk tapi salah | Format data (Integer/Float), byte order |
| Bentrok multi-perangkat | Error muncul setelah tambah perangkat | Slave Address unik, topologi daisy-chain |
Alur Diagnosis yang Direkomendasikan
Kalau bingung mulai dari mana, ikuti urutan ini:
- Cek fisik dulu — power, LED indikator, wiring A/B, terminating resistor
- Cek parameter software — Slave Address, Baud Rate, Parity, Stop Bits harus sama persis dengan perangkat
- Cek nomor register dan function code — sesuaikan dengan datasheet, coba variasi offset
- Cek format data — kalau angka aneh, eksperimen dengan format tampilan berbeda
- Baru curigai multi-device conflict — kalau semua di atas sudah benar tapi masih error, terutama saat jumlah perangkat lebih dari satu
Praktik Langsung dengan Hardware Asli
Cara paling cepat menguasai troubleshooting Modbus RTU adalah dengan sengaja membuat kesalahan kecil saat praktik, lalu belajar mengenali gejalanya.
🔧 Belum punya modul converter untuk praktik? Cek modul 4-20mA to Modbus RTU di Tokopedia: tokopedia.com/bisaioti — setiap pembelian dapat akses bonus ke kelas praktik “Batch Pendiri” di bisaioti.com/lab, termasuk panduan troubleshooting lengkap.
🎓 Mau dipandu langsung supaya tidak buang waktu debugging sendirian? Gabung kelas “Dari Sensor Industri ke Dashboard: Baca Data 4-20mA via Modbus RTU” di bisaioti.com/lab.
