Some exotic Modbus slaves implement non-standard function codes or vendor-specific behaviours (for example, Read Coils returning a uint16 instead of a single bit); the vendor documentation must always be checked before assuming compliance with the standard.
True
Common vendor deviations include Read Coils that return a uint16 (some vendors encode a 0/1 coil on 16 bits), custom function codes 65-72 (Schneider and others add proprietary FCs inside the user-defined range reserved by the spec), and packed data layouts where a single 16-bit register carries several values. The only reliable cure is RTFM before integration, plus Wireshark or mbpoll on the live device to verify that the actual on-wire behaviour matches the document.
If a slave's behaviour seems to violate the spec, trust the wire capture over the datasheet; on Modbus the silicon is almost always more honest than the PDF.
Modbus bank in preparation
The full Modbus bank isn't available yet. Drop your email to get notified at launch and grab an early-bird discount.
Join the waitlist →See the 9 other Modbus practice questions
Related questions
- A Modbus RTU bus on RS-485 supports up to 32 nodes per segment (extendable with repeaters), requires 120 ohm termination resistors at both ends of the bus, and biasing resistors to define the idle state.3. Modbus RTU · RS-485 Multi-Drop
- Which Modbus function code is used to READ the Holding Registers (16-bit read/write registers) of a slave?4. Function codes · Lesen Coils/Register
- Function 0x06 "Write Single Register" writes a single 16-bit Holding Register on a Modbus slave, with both the address and the value encoded on 16 bits each in the request.4. Function codes · Write Single Register (0x06)
- To carry a 32-bit IEEE 754 floating-point value over Modbus (whose registers are 16 bits), two consecutive registers are typically used, with the byte order documented by the slave manufacturer.5. Data encoding · 32-Bit-Float
- Modpoll (focus-sw.com) and mbpoll (Linux/macOS) are free command-line tools used to query a Modbus slave from a PC, indispensable for Modbus diagnostics and integration commissioning.6. Practical · Modpoll / mbpoll