Question

Which Modbus function code is used to READ the Holding Registers (16-bit read/write registers) of a slave?

ModbusLearnFunction codesMedium
Answer

C — 0x03 (Read Holding Registers)

0x03 (Read Holding Registers) targets the 16-bit read/write register space and is by far the most used code for reading analogue values such as temperatures, pressures, counters and setpoints. 0x01 is wrong because Read Coils returns 1-bit read/write outputs, not 16-bit registers. 0x02 is wrong because Read Discrete Inputs returns 1-bit read-only digital inputs. 0x04 is wrong because Read Input Registers targets a separate 16-bit READ-ONLY register table, not the Holding Registers. The full picture includes 0x05/0x06 for single writes and 0x0F/0x10 for multiple writes.

Preparation tip

When in doubt, start with 0x03 on most slaves: it is the function code that vendor documentation maps almost everything to.

All proposed choices (exam context)
  1. A.0x01 (Read Coils)
  2. B.0x02 (Read Discrete Inputs)
  3. C.0x03 (Read Holding Registers)
  4. D.0x04 (Read Input Registers)
Waitlist

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
Want more?

See the 9 other Modbus practice questions

Related questions

Question from our independent practice bank. Modbus is a registered trademark of Modbus Organization, not affiliated with CertifBus.

Last updated: 19 May 2026

Join the waitlist
Modbus waitlist