Function 0x05 "Write Single Coil" writes a single binary output on a Modbus slave. The ON value is encoded as 0xFF00 and OFF as 0x0000; any other value is invalid.
True
The 0x05 encoding convention is: 0xFF00 means ON (coil = true), 0x0000 means OFF (coil = false), and any other value triggers exception 0x03 "Illegal Data Value". The choice of 0xFF00 rather than 0x0001 is a historical Modbus convention that helps distinguish this command from others. The slave reply is an echo of the request, which serves as confirmation. The dual function code is 0x0F "Write Multiple Coils", which writes several coils in a single frame.
If your driver receives "Illegal Data Value" on a Write Single Coil, the bug is almost always that someone wrote 0x0001 instead of 0xFF00 in the value field.
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