F
The Modbus application protocol spec defines a 16-bit address plus a number of function codes to direct that address to one of several data types.
It's also apparent that the upper digit of a decimal address is used to indicate data type. Quoting from one user manual, "Notice that the Modbus protocol uses a 5-digit representation for the slave data address which infers the point-type. For example, INPUT STATUS values are always represented in the range 10001-19999: HOLDING REGISTERS are displayed as 40000-49999...." Examining user guides for several instruments shows that all do indeed use addresses in the 4xxxx range for holding registers.
Where is the usage of the upper digit specified?
I cannot locate it in any of the Modbus specs, and the Application spec even states that mapping is "totally vendor device specific."
If usage isn't specified but is done by convention, could someone please clue me in to the convention?
Thx!
fcweed at mail. com
It's also apparent that the upper digit of a decimal address is used to indicate data type. Quoting from one user manual, "Notice that the Modbus protocol uses a 5-digit representation for the slave data address which infers the point-type. For example, INPUT STATUS values are always represented in the range 10001-19999: HOLDING REGISTERS are displayed as 40000-49999...." Examining user guides for several instruments shows that all do indeed use addresses in the 4xxxx range for holding registers.
Where is the usage of the upper digit specified?
I cannot locate it in any of the Modbus specs, and the Application spec even states that mapping is "totally vendor device specific."
If usage isn't specified but is done by convention, could someone please clue me in to the convention?
Thx!
fcweed at mail. com