Modbus reports “Illegal data address” or exception 02

Modbus reports “Illegal data address” or exception 02

Check the register table, address convention, and the entire requested range.

Check the request

  1. Confirm you are reaching the intended field device through the correct gateway port, rather than SB1000's management interface.
  2. Compare the function with the device map. Holding registers normally use FC03; input registers use FC04. The same offset refers to different data in those tables.
  3. Establish the map's numbering convention and the client's convention. In conventional 4xxxx notation, holding register 40011 is raw offset 10, or register 11 in a one-based register-number field. Do not subtract again from an address already described as a raw offset.
  4. Check decimal versus hexadecimal input. Decimal 10 and hex 0x10 are different addresses.
  5. Request only the documented point, with its full width. A 32-bit point needs two registers. A large block can cross an unsupported gap even if its first register exists.
  6. Confirm model, firmware, and any required option/configuration match the register map. Similar product names can use different maps.

An exception is a response to a request; it is different from silence. Increasing the timeout is not a remedy for a consistently invalid address/range.

Expected result

The corrected function, starting offset, and quantity return a normal data response. If they do not, include the map excerpt and exact request/exception in the support report.