Modbus pulling with over range tag#


Recommended Posts

  • 2 years later...

I have an application where the actual address without the 4x prefix, extend all the way to 49,999 (so yeah, 50K registers) range and I need to address almost all of them. Can those addreses be written and polled, and if so how should they be addressed? Could write my own implementation, but would rather avoid it if possible, obvioiusly.

Link to comment
Share on other sites

Just try read a tag over 50,000 on startup and that will tell DF that your device has that many registers and not adjust for the 40,000 addressing weirdness of Modbus. The tag doesn't need to exist, so you can just do something like:

device.myDevice.readHoldingS16(1, 50001, 1)


Link to comment
Share on other sites

I did add the read at 50,000 on startup, but the driver still seems to be stripping the 10 thousands digit on subsequent transactions.

For example, if I poll address 38501 it asks for address 0x2134, or 8500 decimal. polling 18501 also produces a poll to 0x2134

Details: I put the 50K read in a startup routine, and I'm doing the test polls by hand from the Alert/Command line.

Am I doing something wrong or is there an issue with the driver?

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.