Skip to main content

The WattNode meter’s Comm LED flashes green when my Modbus Master software sends it a command message but I don’t get the expected response from the WattNode meter. The WattNode Modbus meter responds with an “illegal address” exception message when the Master’s command message specifies a non-existent register. This often happens due to the software programmer’s confusion between “one-based” and “zero-based” register addressing conventions and the fact that the leading digit of 4 (for holding registers) or 3 (for input registers) is not sent in the actual message. For example, the WattNode’s integer frequency holding register address was originally documented in the manual as “41221” (this has been changed to “1221” in recent editions). This is the Modbus.org standard convention for documenting a slave’s register addresses. However, the register address in the message request for the frequency register should contain “1220”, not “41221”. In other words, when writing your own software, drop the leading digit of 4 or 3 (i.e. the fifth most significant digit) and subtract one from the documented address in order to determine the start register address for the message. Note that the WattNode meter will respond with the same frequency value for either the “read holding register” or “read input register” function code (“03” or “04” respectively).