Mark, I never asked which Modbus master you were using. Is it Citect? Anyhow, the 1999 tech note from Citect (belwo) has an explanation about 6 digit addressing (in 1999 it might not have been part of the Modbus spec, but a 65535 range has been since 2004):
---------------- note Q2800.pdf ---------------
Modbus 6-digit addressing
Article number: Q2800
Created on: 24/06/99
Product: Citect for Windows Versions 5.xx
Summary
I have reviewed the published Modbus spec (Ref: PI-MBUS-300 Rev J) several times and found no direct reference to 6-digit addressing. What is 6-digit addressing?
Solution
As this is not part of the Modbus specification per se, few people will be able to provide you a solid definition.
I have heard two meanings when people refer to six digit addressing in Modbus:
a) The function codes that Modbus defines to read the 4xxxx registers (FC3 for read and FC6 for write) theorectically have a 9999 register range (ie 40001 - 49999). However, the
actual coding in the protocol allows for 2 bytes (ie 0 - 65535). Some people refer to this as 6-digit addressing.
Citect's format is designed to be as close to what a Modicon user would see in his PLC program and thus the range is defined as 40001-49999. Users wanting to
access registers past the 49999 barrier have done so by using the register range of 400001 to 465535 instead of 40001 to 49999 (please note that for Citect's Modbus driver addresses 40001 to 49999 are equivalent to addresses 400001 to 409999).
b) The Modbus function codes FC20 & FC21 (Read Write General reference) are for accessing the 6xxxxx registers. I believe that this is more commonly the 6-digit addressing
that people refer to. Using FC20 & FC21, some 16Meg of address range is available. Keep in mind that transmitting 16Mb of data over a 19.2Kbaud link will take a while. The
Modbus/TCPIP specification may be more suited to this case when your primary concern is tranmitting large volumes of data (this is documented on Modicon's web site:
The Quantum PLC makes more use of this register area than
other models. The Citect Modbus driver is being modified to support the 6xxxxx registers.
Note: Whilst this KB article refers to the MODBUS driver, the comments can generally also be applied to the rest of the Modbus family of drivers (MBPLUS, MODBUSA, MBSLAVE,
MODNET, etc.).
Author: Bruce Kinchin
----------------- end --------------