Elpro 905u G / Adams 5000

A

Thread Starter

Adam Rayner

Hi There,
Trying to read Reg 400001 from a Adams 5000E to a elpro 905u-G.

The radio will only allow max reg of 40001, but the adams Unit starts at 400001.

I am using Modbus/RTU.

I have read somewhere that the reg request should be 0 as this equals 400001? Can anyone help?

Thanks

 
E

Elmer Bulman

Modicon Register 400001 is a misprint, should be Modicon Register 40001 which is polled as ModBus Register 0. Sample of "Read Holding Register 40001" HEX poll at ModBus Address 1 for 2 Registers is:

01 03 00 00 00 02 C4 0B
 
The "4" at the beginning of the numbers isn't really part of the address. It just indicates that it refers to holding registers. The real Modbus address for 400001 is either "0" or "1" (try both) in the Holding Registers.

If you read the Modbus specifications, there is no mention of numeric prefixes. According to Modbus, there are four separate address spaces called "coils", "discrete inputs", "holding registers", and "input registers". Addresses in each of those spaces start at "0" and extend up to "65,535" (the number of addresses actually implemented is device dependent of course).

However, some people like to use the addressing convention used for the data table in some PLCs. In these cases, the address is prefixed by a "0", "1", "3", or "4". This is analogous to the "I", "Q", "V", "C", etc. used by some other PLCs. The addresses in these cases may start at either "0" or "1" (depending upon how someone decided to write it).

However, this has *nothing* to do with Modbus. Modbus addresses are simply 16 bit unsigned natural integers starting with 0. You use different functions to address the different address spaces, so there is no need to use any sort of prefix.

Addresses 400001 and 40001 should refer to the same Modbus address. The thing you have to be careful of though is that some people start counting at "0" (which is the first address in Modbus), while some start counting at "1" (which is the first address used by some PLC data tables). You have to read their documentation to find out what the first address is.

The thing to keep in mind is that neither of the vendors in this case is using actual Modbus addresses in their documentation. You have to translate the PLC addresses they documented to actual Modbus address to understand what they are doing. The PLC addresses are just for the documentation and user interface. What actually gets sent out on the wire is Modbus.
 
E

Elmer Bulman

>So should i set the radio to read register 40001 or just 0?<

Probably 40001 and it will convert to register 0 when it prepares the "holding register" poll.... so, another example, register 40005 will convert to register 4, 40010 is 9 and so on...
 
Thread starter Similar threads Forum Replies Date
A General Communications Chat 0
N General Communications Chat 2
Top