WattNode Modbus Firmware Versions
Contents |
Overview
This page lists the different WattNode® Modbus® meter (WNC series) firmware versions and release notes. The WattNode Modbus meter is not field upgradable and must be returned to the factory for firmware updates. We recommend against firmware upgrades unless necessary to fix a bug or for an essential new feature. There is a nominal charge for firmware updates unless they are needed to fix a bug under warranty.
This page does not list every firmware change, but only those likely to affect customers. Some changes are to enhance production or internal diagnostics.
Firmware Versions 1-9
- Development and limited release versions.
Firmware Version 10
Released: 12/29/2008
- UPDATE: Implemented the new duplicate address and bus contention detection algorithm that gives the new alternating red/yellow LED flashing indication and improved the Modbus LED behavior in general to provide less potentially confusing error/fault indications.
- UPDATE: Implemented the new automatic RS-485 reverse A/B polarity correction feature.
- UPDATE: Implemented the new alternate error reporting registers (or 8-register ErrorStack) from 41716 to 41723. Writing a zero to any of the eight registers resets them all.
- UPDATE: Added code to respond with a Modbus "slave device failure" exception whenever data registers (e.g. energies, power, volts, amps) are read when the WattNode needs calibration (unless the calibration passcode has been entered). This does not affect requests to read errors, configuration or calibration registers.
- UPDATE: Added new info-only error codes, duplicate address (249) and RS-485 bus contention (248).
- UPDATE: Implemented on-the-fly message CRC computation and error-checking in the Modbus FSM's ISR handling code to provide more reliable Modbus error LED indications and assertion reporting when invalid communications parameters are used. These changes also facilitate the duplicate address and bus contention detection algorithm. This also eliminates the long timing latency (several hundred milliseconds) that was previously due to deferral of final error checking to mainline code. This makes the WattNode much more tolerant of minor timing violations by the master and/or other slave devices.
- BUG: Not all of the energies saved in FRAM were protected by a checksum (CRC) so if a cosmic ray caused a bit to flip while the WattNode was powered down it might not be detected by the WattNode when the unit was powered up. Fixed.
Firmware Version 11
Released: 9/23/2009
- BUG: Although the factory and customer diagnostic registers could be written with a single-register write command, they could not be written with a multi-register write command. Fixed.
- BUG: ErrorStatus1 to ErrorStatus8 registers were updated in a way that resulted in the same error code being logged multiple times. Fixed.
- BUG: If bus contention occurred while the WattNode meter was sending a reply, the meter would fire an erroneous eaLPIntSpurTx2 assertion and do a reset. Fixed.
- BUG: Severe errors were being counted twice in the internal error log. Fixed.
- UPDATE: Added a register for configuring the unit for even parity and implemented logic to reset this option back to no parity if DIP switches are set to all zero for 10 seconds. Made the framing error count register also count parity errors.
- UPDATE: Added a factory command to make the unit compute a 16-bit checksum for verifying its program code.
- UPDATE: Added communications configuration registers for assigning baud rate of 38400, even parity and slave address greater than 127.
Firmware Version 12
Released: 10/30/2009
Manual: File:WNC-MODBUS-Manual-V12.pdf
Register List: File:WNC Modbus Register List V12.xls
- BUG: The creep limit feature didn't work, so customers would see sporadic red flashing of the phase LEDs due to small noise voltages when the CT inputs were floating. Fixed.
- BUG: The line-to-line voltages were computed incorrectly in version 11. Fixed.
- UPDATE: Support for reporting the Modbus Slave ID in response to function code 17 was added. The Slave ID byte value will be "2" for WNC series WattNode Modbus family. The WattNode always returns a Run Indicator Status byte of 0xFF to indicate it is running. The Slave ID text can be anything up to 124 characters long but by convention it will be assigned the company name, product family and model e.g. "Continental Control Systems LLC, WattNode MODBUS, WNC-3Y-208".
- UPDATE: Two new dummy registers were added at 40001 and 40002 that can be read by a Modbus master program to allow it to automatically discover the presence of slaves at all possible slave addresses by checking for a response to reading either of these registers. These registers always read back a zero value and cannot be written.
- UPDATE: Changed how the PowerFactorAvg (registers 41139 and 41339 for float and integer value respectively) is computed to: PowerSum / ApparentPowerSum. If all phases are inactive or zero then a value of 1.0 is reported.
- UPDATE: Added a factory command (6, estIgnoreEcho) for ignoring the transmitted byte echo and disabling bus contention detection for the RS232 and multi-drop TTL interface options. This command can be issued at any time by writing to the FactoryCommand register (42008).
- UPDATE: Added support in the configuration options register (42007) bits 3 and 4 for for RS-232 and TTL support to be enabled at calibration time. These options turn off bus contention detection.
Firmware Version 13
Beta version, released: 02/22/2010
- UPDATE: Ignore all RS-485 bus traffic after receiving the last byte of the master's command message for the first 5 ms. after receiving a message from the master before starting to transmit the response. This makes the WattNode meter more tolerant of misbehaving Modbus masters that glitch the bus after sending the last byte of a command message to the meter. This also makes the meter more fault-tolerant of an electrically noisy (e.g. unbiased) RS-485 bus.
Firmware Version 14
Released: 06/10/2010
Manual: File:WNC-MODBUS-Manual-V12.pdf
Register List: File:WNC Modbus Register List V12.xls
- BUG: When a high voltage model (e.g. WNC-3D-480-MB) is used with a large CT amps rating (e.g. 3000 amps) and the meter measures a power level that exceeds one megawatt on one or more phases, a false error code 76 ("impossible power register value") is reported and the meter stops reporting power. Energies for all three phases then accumulate at half the normal rate for as long as there's one or more phases measuring power greater than one megawatt.
Firmware Version 15
Released: 09/16/2010
Manual: File:WNC-MODBUS-Manual-V12.pdf
Register List: File:WNC Modbus Register List V12.xls
- BUG: Version 13 introduced an unintended side-effect that caused the WattNode meter to no longer respond to illegal function codes (i.e. function codes that it doesn't support) with a Modbus exception (01 - Illegal Exception) response. Instead of responding with the exception, the meter would flash the COM LED red and ignore the message. Version 15 reinstates the exception response so that Modbus master controllers can rely on it for slave device discovery purposes.
Firmware Version 16
Released: 11/16/2010
Manual: File:WNC-MODBUS-Manual-V16.pdf
Register List: File:WNC-Modbus-Register-List-V16.xls
Firmware Enhancements
- Digital Input/Output Options - Adds support for the new Option IO and Option SSR that configure the WattNode meter X terminal for counting pulses from an external meter, monitoring a digital status signal, or for controlling loads for shedding applications. This support includes the new PulseCount, IoPinData, and IoPinMode registers.
- Energy Presets - Adds the ability to reset or preset the resettable energy registers on a per-register basis. The preset feature is particularly useful if you are replacing an existing meter and want the reported energy to pick up where the old meter left off. The ConfigPasscode can be configured to ensure this feature isn't used for tampering.
- Improved Modbus Response Time - Improves the Modbus message response time. Before the V16 firmware, the worst-case response time was 300 milliseconds. This has improved to less than 25 ms.
- Configurable Reply Delay - ReplyDelay (1656) configures a user-defined minimum Modbus reply delay between 5 and 180 milliseconds (the default is 5 milliseconds). This is useful with some Modbus master devices or software that can miss response data if the WattNode meter responds to a request too quickly.
- Extended Phase Adjustment Limits - Changes the minimum and maximum limits for the PhaseAdjustA, PhaseAdjustB, and PhaseAdjustC registers from ±5000 millidegrees to ±8000 millidegrees (8 degrees).
- Per-Phase Demand Registers - Adds DemandA, DemandB, and DemandC registers that report the real power demand for each individual phase.
- Configurable Integer Current Scaling - Adds CurrentIntScale register for scaling the integer current registers. There was previously a virtual (could not be read or written) CurrentIntScale register; now it is a real register that can be changed.
- Improved Line-to-Line Voltage Estimation - Adds line-to-line voltage estimation for four-wire delta (wild phase) and grounded delta electrical service types.
- Simplified CtAmps Logic - Updates the functionality of the registers CtAmps, CtAmpsA, CtAmpsB, and CtAmpsC to prevent confusion.
- The global CtAmps register changes into a command register that assigns the specified value (amps) to all three phase registers (CtAmpsA, CtAmpsB, or CtAmpsC) whenever it is written.
- The global CtAmps register reads back zero unless all three per-phase CtAmps registers are the same, in which case it read backs the common value. This behaves much like it did on previous firmware versions, except that it reads back zero if the per-phase CtAmpsA, CtAmpsB, or CtAmpsC are different, which alerts the user to the fact that the per-phase registers must be read to ascertain the CT rating for each phase.
- Custom Register Map - Adds a configurable register mapping feature for the following two situations:
- You want to read a specific group of registers efficiently, but not all the registers are in the same block, so you would need two or more Modbus frames to read all the data. With a custom mapping, you can combine all the registers you need into a single block.
- The custom register map allows you to emulate another device by reorganizing the WattNode Modbus meter registers.
- Improved Modbus Error Detection - Improves framing error detection and incorrect baud rate detection for communications trouble-shooting indication on the Modbus Com LED. Older firmware versions would sometimes flash the Com LED yellow when the baud rate was incorrect; the new firmware will flash the LED red.
Additional Updates and Bug Fixes
- UPDATE: Added logic to ensure that any internal error that affects the accuracy of reported data will result in a Modbus exception "slave device failure" in response to commands for reading the data registers.
- UPDATE: Added code to make the Modbus COM LED follow the same Red-Yellow-Green power-up pattern as the other LEDs.
- UPDATE: Added OptCtAmpsA, OptCtAmpsB, OptCtAmpsC, OptModbusMode, OptAddress, OptBaudRate, OptParityMode, Opt232, OptTTL, OptIO, OptX5, OptSSR, and OptIoPinMode registers for showing the factory-define options.
- UPDATE: Added support for RoHS / lead-free hardware revision. All V16 and later WattNode Modbus meters will be fully RoHS compliant.
- BUG: If the register DemSubInts was set to zero (which should be treated like 1), an internal variable was incorrectly computed so the demand wasn't computed. Fixed.
- BUG: If the GainAdjustA, GainAdjustB or GainAdjustC registers were written with zero (which should have been treated like 10000) the WattNode reported error 41 (BadGainAdj), turned the phase LEDs red and rebooted every 10 seconds. Fixed.
Firmware Version 17
Released: 06/15/2011
Manual: File:WNC-MODBUS-Manual-V16.pdf - The V16 manual still applies
Register List: File:WNC-Modbus-Register-List-V16.xls - The V16 register list still applies
This is a minor maintenance release. There are no changes to the manual or the register list. If you are affected by one of the corrected bugs, you should contact CCS about getting a firmware upgrade.
- BUG: When the Averaging register 1608 was assigned a value higher than the default of 1 (for a 5 second averaging interval), the averaged readings didn't update properly. The averaged readings alternated between the present averaged value and an older, stale value that was no longer valid. Fixed.
- BUG: If zero was written to the CreepLimit register (1618), the phase LEDs turned red and the meter reset every 10 seconds. Fixed, a zero value can no longer be written and will cause an exception response.
- BUG: The OptIoPinMode register didn't always reflect the factory assigned setting. The IoPinMode register reported the correct value. Now both registers report the correct value.
- UPDATE: Restrict values written to ModbusMode register 1655 to 0 (RTU) or 1 (TCP-RTU). This prevents invalid values from being written, which could cause communication problems.
Firmware Version 18
Released: 11/26/2011
Manual: WNC-Modbus-Manual-V18.pdf
Register List: WNC-Modbus-Register-List-V18.xls - Same as the V16 register list.
- UPDATE: Implement double-buffering for all timestamps, floating point registers, and 32 bit integer registers so they all correspond to the same set of measurements. This facilitates synchronized accuracy testing by polling all energies and the timestamp with a single Modbus transaction.
- UPDATE: Eliminated yellow (low power factor) and yellow/red (low power factor, negative power) LED flashing patterns on the phase status LEDs.
If you have additional questions or problems. Please let us know by sending e-mail to techsupport@ccontrolsys.com.
Keywords: changes, version, versions, updates, firmware, release, bugs, enhancements
