Continental Control Systems · Energy meter
WattNode Modbus WNC-3Y-208-MB / -3Y-400-MB / -3Y-480-MB / -3Y-600-MB / -3D-240-MB / -3D-400-MB / -3D-480-MB Modbus register map
Default configuration
- Protocol
- RS485
- Port
- 502
- Unit ID
- 0
- Addressing
- 1-based
- Byte order
- Big endian
- Word order
- Low word first
- Baud rate
- 9600
- Parity
- None
- Data bits
- 8
- Stop bits
- 1
This device has an RS-485 interface. Reach it through a Modbus RTU-to-TCP gateway, configured with the factory serial settings above.
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 1001 | 2 | EnergySum (total net energy) Net real energy of all active phases; negative energy is subtracted. Preserved across power failures. | Float32 | kWh | 1 | R |
| 1003 | 2 | EnergyPosSum (total positive energy) | Float32 | kWh | 1 | R |
| 1005 | 2 | EnergySumNR (total net energy, non-resettable) | Float32 | kWh | 1 | R |
| 1007 | 2 | EnergyPosSumNR (total positive energy, non-resettable) | Float32 | kWh | 1 | R |
| 1009 | 2 | PowerSum (real power, sum of active phases) | Float32 | W | 1 | R |
| 1011 | 2 | PowerA (real power, phase A) | Float32 | W | 1 | R |
| 1013 | 2 | PowerB (real power, phase B) | Float32 | W | 1 | R |
| 1015 | 2 | PowerC (real power, phase C) | Float32 | W | 1 | R |
| 1017 | 2 | VoltAvgLN (average line-to-neutral voltage) | Float32 | V | 1 | R |
| 1019 | 2 | VoltA (phase A to neutral voltage) | Float32 | V | 1 | R |
| 1021 | 2 | VoltB (phase B to neutral voltage) | Float32 | V | 1 | R |
| 1023 | 2 | VoltC (phase C to neutral voltage) | Float32 | V | 1 | R |
| 1025 | 2 | VoltAvgLL (average line-to-line voltage) | Float32 | V | 1 | R |
| 1027 | 2 | VoltAB (line-to-line voltage A-B) | Float32 | V | 1 | R |
| 1029 | 2 | VoltBC (line-to-line voltage B-C) | Float32 | V | 1 | R |
| 1031 | 2 | VoltAC (line-to-line voltage A-C) | Float32 | V | 1 | R |
| 1033 | 2 | Freq (power line frequency) | Float32 | Hz | 1 | R |
| 1101 | 2 | EnergyA (net energy, phase A) | Float32 | kWh | 1 | R |
| 1103 | 2 | EnergyB (net energy, phase B) | Float32 | kWh | 1 | R |
| 1105 | 2 | EnergyC (net energy, phase C) | Float32 | kWh | 1 | R |
| 1107 | 2 | EnergyPosA (positive energy, phase A) | Float32 | kWh | 1 | R |
| 1109 | 2 | EnergyPosB (positive energy, phase B) | Float32 | kWh | 1 | R |
| 1111 | 2 | EnergyPosC (positive energy, phase C) | Float32 | kWh | 1 | R |
| 1113 | 2 | EnergyNegSum (negative energy, sum of active phases) | Float32 | kWh | 1 | R |
| 1115 | 2 | EnergyNegSumNR (negative energy, sum of active phases, non-resettable) | Float32 | kWh | 1 | R |
| 1117 | 2 | EnergyNegA (negative energy, phase A) | Float32 | kWh | 1 | R |
| 1119 | 2 | EnergyNegB (negative energy, phase B) | Float32 | kWh | 1 | R |
| 1121 | 2 | EnergyNegC (negative energy, phase C) | Float32 | kWh | 1 | R |
| 1123 | 2 | EnergyReacSum (reactive energy, sum of active phases) | Float32 | kVARh | 1 | R |
| 1125 | 2 | EnergyReacA (net reactive energy, phase A) | Float32 | kVARh | 1 | R |
| 1127 | 2 | EnergyReacB (net reactive energy, phase B) | Float32 | kVARh | 1 | R |
| 1129 | 2 | EnergyReacC (net reactive energy, phase C) | Float32 | kVARh | 1 | R |
| 1131 | 2 | EnergyAppSum (apparent energy, sum of active phases) | Float32 | kVAh | 1 | R |
| 1133 | 2 | EnergyAppA (apparent energy, phase A) | Float32 | kVAh | 1 | R |
| 1135 | 2 | EnergyAppB (apparent energy, phase B) | Float32 | kVAh | 1 | R |
| 1137 | 2 | EnergyAppC (apparent energy, phase C) | Float32 | kVAh | 1 | R |
| 1139 | 2 | PowerFactorAvg (power factor, average) | Float32 | - | 1 | R |
| 1141 | 2 | PowerFactorA (power factor, phase A) | Float32 | - | 1 | R |
| 1143 | 2 | PowerFactorB (power factor, phase B) | Float32 | - | 1 | R |
| 1145 | 2 | PowerFactorC (power factor, phase C) | Float32 | - | 1 | R |
| 1147 | 2 | PowerReacSum (reactive power, sum of active phases) | Float32 | VAR | 1 | R |
| 1149 | 2 | PowerReacA (reactive power, phase A) | Float32 | VAR | 1 | R |
| 1151 | 2 | PowerReacB (reactive power, phase B) | Float32 | VAR | 1 | R |
| 1153 | 2 | PowerReacC (reactive power, phase C) | Float32 | VAR | 1 | R |
| 1155 | 2 | PowerAppSum (apparent power, sum of active phases) | Float32 | VA | 1 | R |
| 1157 | 2 | PowerAppA (apparent power, phase A) | Float32 | VA | 1 | R |
| 1159 | 2 | PowerAppB (apparent power, phase B) | Float32 | VA | 1 | R |
| 1161 | 2 | PowerAppC (apparent power, phase C) | Float32 | VA | 1 | R |
| 1163 | 2 | CurrentA (phase A current) | Float32 | A | 1 | R |
| 1165 | 2 | CurrentB (phase B current) | Float32 | A | 1 | R |
| 1167 | 2 | CurrentC (phase C current) | Float32 | A | 1 | R |
| 1169 | 2 | Demand (real power demand) Real power averaged over the demand period (DemPerMins, default 15 minutes). | Float32 | W | 1 | R |
| 1171 | 2 | DemandMin (minimum power demand) | Float32 | W | 1 | R |
| 1173 | 2 | DemandMax (maximum power demand) | Float32 | W | 1 | R |
| 1177 | 2 | DemandA (real power demand, phase A) | Float32 | W | 1 | R |
| 1179 | 2 | DemandB (real power demand, phase B) | Float32 | W | 1 | R |
| 1181 | 2 | DemandC (real power demand, phase C) | Float32 | W | 1 | R |
| 1701 | 2 | SerialNumber (meter serial number) | UInt32 | - | 1 | R |
| 1703 | 2 | UptimeSecs (time since last power on) | UInt32 | s | 1 | R |
| 1705 | 2 | TotalSecs (total seconds of operation) | UInt32 | s | 1 | R |
| 1707 | 1 | Model (encoded WattNode model) | UInt16 | - | 1 | R |
| 1708 | 1 | Version (firmware version) | UInt16 | - | 1 | R |
| 1709 | 1 | Options (WattNode meter options) | UInt16 | - | 1 | R |
| 1710 | 1 | ErrorStatus (list of recent errors and events) | UInt16 | - | 1 | R |
| 1711 | 1 | PowerFailCount (power failure count) | UInt16 | - | 1 | R |
| 1712 | 1 | CrcErrorCount (Modbus CRC communication errors) | UInt16 | - | 1 | R |
| 1713 | 1 | FrameErrorCount (Modbus framing errors) | UInt16 | - | 1 | R |
| 1714 | 1 | PacketErrorCount (bad Modbus packets) | UInt16 | - | 1 | R |
| 1715 | 1 | OverrunCount (Modbus buffer overruns) | UInt16 | - | 1 | R |
| 1716 | 1 | ErrorStatus1 (newest error or event, 0 = no errors) | UInt16 | - | 1 | R |
| 1717 | 1 | ErrorStatus2 (next oldest error or event) | UInt16 | - | 1 | R |
| 1718 | 1 | ErrorStatus3 (next oldest error or event) | UInt16 | - | 1 | R |
Read this device live with Modbus Connect, free for Windows, macOS and Linux
Related guides
Notes
Source: Continental Control Systems 'WattNode Modbus Installation and Operation Manual', WNC-MB-1.16d, Rev 1.16d, firmware version 16, revision date 28 January 2011, https://ctlsys.com/wp-content/uploads/2016/10/WNC-MODBUS-Manual-V16.pdf. Serial defaults from Table 4 and the Modbus Communication chapter: 9,600 baud (DIP switch 8 down), 8 data bits, no parity and one stop bit; the manual states the meter does not follow the Modbus RTU even-parity default and that even parity is available as factory Option EP or through ParityMode 1654. Unit ID: as shipped the DIP-switch address is 0, which the manual describes as an invalid broadcast address that prevents communication, so 0 is stored here as the documented factory state - set DIP switches 1-7 (addresses 1-127) or register 1652 before polling; Option AD orders a pre-programmed address. Addressing: the manual documents one-based register numbers (EnergySum at 1001 = wire address 0x03E8) so the printed numbers are stored with addressing 'one_based'. Word order: for 32-bit float and long-integer registers the lower address holds the least significant 16 bits, so word_order is 'LowFirst'. The meter treats holding and input registers interchangeably; measurements are seeded as input registers and configuration registers as holding registers. Deliberate omissions: the parallel integer register lists (1201-1221, 1301-1362) duplicate the floating-point values in scaled integer form; the apparent-power demand register (1175) is left out because the register list prints 'W' next to a value named DemandApp (apparent demand, documented in VA elsewhere); the Averaging (1608), PowerIntScale (1609), DemPerMins (1610), DemSubints (1611), GainAdjust (1612-1614) and PhaseAdjust (1615-1617) default values are printed in a configuration table whose default column does not align with the register rows, so they are omitted rather than guessed; the custom register map block (2000+) is installation-specific.