In Modbus RTU, when you send a query (e.g., Read Holding Registers), the slave should reply with:
Even if bytes are not missing, always check CRC. A missing byte usually triggers a CRC error first, but not always. Verify both. modbus poll bytes missing error fixed
By systematically working through this list, starting with the Timeout and USB Latency, you will likely resolve the "Bytes Missing" error and establish a stable Modbus connection. Guide: Fixing "Modbus Poll Bytes Missing" Error 1
If you are using a cheap USB-to-RS485 converter, the chipset (often counterfeit Prolific or CH340) may struggle with high-speed data. A missing byte usually triggers a CRC error
Lesson: The bytes missing error was caused by the USB converter holding the last two bytes of the CRC in its buffer. The 1 ms latency timer forced an immediate flush.
The error would appear when the received frame length didn’t match the expected byte count based on the function code + register count. In my case, the inverter sometimes responded with a 3-byte delay between the slave address and CRC. Modbus Poll’s older parser was too strict—it timed out between bytes, assuming the frame was truncated. The result: dropped data, retries, and logging gaps.
Check the Communication Traffic: Use the Display > Communication window in Modbus Poll to see the raw Hex strings. Look for the RX (receive) line to see if the slave is actually sending fewer bytes than requested.