Modbus reports “Illegal data address” or exception 02
Check the register table, address convention, and the entire requested range.
Check the request
- Confirm you are reaching the intended field device through the correct gateway port, rather than SB1000's management interface.
- 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.
- 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.
- Check decimal versus hexadecimal input. Decimal 10 and hex 0x10 are different addresses.
- 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.
- 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.
