Problems related to matching the modbus register

how to match modbus registers on a register list to modbus address on a power meter? I have a power logics pm5500 power meter and I have found registers reading data, but not really sure how to figure out which register it actually is on the device.

1 Like

The registers are 32-bit floating. I’ve just done a pile of PM5300 Meters today. The range is normally in the 3000.

Also, figure out scaling best thing to do I have found is to get Hz figured and reading correctly and that will get you started.

  1. Where’s the register list?

The Modbus register map for Schneider Power Meters is a separate spreadsheet file, not part of meter documentation.

https://www.se.com/ww/en/faqs/index?page=content&id=FA234017

The Modbus spreadsheet has 7 worksheets, worksheet #1 is the register map.

  1. What kind of registers?

The indexed register values start at one which implies one based addressing.

The column called ‘access’ clearly shows wheter the register is read-only or read/write. There are R (presumably read-only) and RW (read-write) and RWC (?). Input Registers are, by definition, are Read-only, so these are not likely Input Registers because some registers are read/write. I would conclude that the listed registers are Holding registers, targeted with Modbus Function Code 03.

Typical convention is to show Holding register addresses with a leading numeral 4, where the variable Frequency at 3110 would be (4)3110 in 5 digit addressing, or (4)03110 in 6 digit addressing.

  1. how does the master work?

Many times it is unclear what the master/client expects for target register/addresses.

Some masters use the leading numeral and one-based indexed address value. Some masters let you pick a memory area (Holding register/Input Register/ Coil / DI) and then only want the one-based indexed value Some masters let you pick a memory area and want hexadecimal zero-based addresses Some masters want a specific function code and the indexed address for the memory area addressed by the function code. And there are other methods that don’t come to mind at the moment.

So you might have to experiment to figure out how to use the master to poll any particular register address.