Modbus Poll is a full-featured Modbus® master program that can be used to monitor, configure, and test WattNode® Modbus meters. This article provides some pointers on using Modbus Poll successfully with the WattNode.
Saving Register Blocks
Before anything else, it is important to learn to save register block configurations, so that you do not have to reconfigure register blocks each time you start Modbus Poll. You can create new register blocks with File / New. You configure them with F8 (Setup / Read/Write Defintion…). Then save them with File / Save or File / Save As.
It is also possible to configure aliases (names) for each register by clicking in the correct box and typing. Use F2 if necessary to start editing an alias.
Zero vs. One Based Addressing
The Modbus standard describes register addresses as starting at 1, but indicates that the actual data packets sent to slave devices will use addresses starting at 0. In other words, a WattNode register like Frequency has an address of 1221, but a packet requesting this register will request register 1220.
Most Modbus tools (but not Modbus Poll) use this convention by default. In Modbus Poll, register numbers are zero based by default. In order to correct this, when defining blocks of registers, be sure to check the “PLC Addresses (Base 1)” option in the “Read/Write Definition” dialog box. You will need to do this for each block of registers you define.
We also recommend the “Fit to Quantity” option if you don’t have too many rows in one register block.
Correctly Formatting Registers
Many of the WattNode registers are 32-bit composite registers, commonly 32-bit integer or 32-bit floating-point. Modbus Poll supports these, but you need to configure it correctly. To combine two register into a single 32-bit value, do the following:
- Select both register values (so that they are highlighted).
- Right-click and hover over “Format”
- Then pick the correct format:
- “Long CD AB” for 32-bit integer registers (Int32)
- “Float CD AB” for 32-bit floating-point registers (Float32)
The following screenshot shows an example of setting the format for the SerialNumber register (Int32).