When Modbus was invented they thought 9,999 items of each memory type were enough.
Most vendors ignore this limit today – they make clients that can read more and they make devices which can serve more if required.
Older clients cannot poll for more than 9,999 items.
Even thought 9,999 was an arbitrary choice there is a paractical limit imposed by the protocol. The Modbus message uses a 16 bit word to identify the point number to be read/written. The largest number that can fit in 16 bits is 65535 and hence the highest point number that can be read is point 65535. Most vendors, these days, allow there software to read any points in this range.
400001, 400002 … 409999….. We call this five digit addressing
So now we come to a naming problem.
5 Digit vs 6 Digit Addressing
If 40001 is the 1st, 40002 the 2nd …. We get to 49,999 and then what ? 50,000 No !
We introduce an extra zero.
Instead of 40001 we talk about 400001, 40002 becomes 4000002
400001, 400002 … 409999, 410000, 410001 ….. We call this six digit addressing