¿Cómo podemos ayudarle hoy?

HDPM6000 Modbus Read registers 'System Firmware Version' and '3-Phase Meter Firmware Version' do not match Webpage Firmware Versions

Issue
When reading firmware version information from the HDPM6000 using Modbus registers, the values in the "System Firmware Version" and "3‑Phase Meter Firmware Version" registers do not match the firmware versions displayed on the device webpage. Only the deprecated System firmware version decimal register (Register 1) aligns with the webpage. This leads to confusion when validating firmware levels through third‑party Modbus tools such as ModScan or through a BMS/EMS.

_____________________________________________________________
Product Line
HDPM6000, Branch Modules

_____________________________________________________________
Resolution

The mismatch is expected behavior. The values in the following registers are encoded and not readable as direct decimal firmware versions:

Register 3: System firmware version
Register 4: 3‑phase meter firmware version
(Registers 4 and 5 when viewed in ModScan due to 1‑based offset)

Firmware Version via Modbus

The binary format of the polled registers is shown below, and the discrepancy occurs because the values are encoded and must be parsed using the method described in the following section:

Firmware Registers Binary Format

The format is: Major.Minor.Patch version or first.middle.last -> For example, for 3 Phase Meter: 1.44.0 -> 1: Major version, 44: Minor version, 0: Patch version

4 MSBs are first number, next 8 bits are middle number, last 4 bits are last.

For 3 Phase Meter:

1.44.0 -> 0001,00101100,0000

For System Firmware:

64.2 -> 0000,01000000,0010

How to Decode the Modbus Register Values:

Encoding for registers 3 (System firmware version) and 4 (3-phase meter firmware version) which are Registers 4 and 5 in ModScan (1-based offset), isolate each version with logical AND, then shift:

To get 1st term: logical AND register with 0xF000. Then right shift 12 bits: Major = (Register AND 0xF000) >> 12

To get 2nd term: logical AND register with 0x0FF0. Then right shift 4 bits: Minor = (Register AND 0x0FF0) >> 4

To get 3rd term: logical AND with 0x000F (no shift): Patch = (Register AND 0x000F)

Schneider Electric España

Explorar más
Rango:
Explorar más
Rango:

¿Necesitas ayuda?

¿Necesitas ayuda?

Selector de productos

Selector de productos

Encuentra rápida y fácilmente los productos y accesorios adecuados para tus aplicaciones.

Pedir presupuesto

Pedir presupuesto

Comienza tu consulta de ventas en línea y un experto se pondrá en contacto contigo.

¿Dónde comprar?

¿Dónde comprar?

Encuentra fácilmente el distribuidor de Schneider Electric más cercano a ti.

Centro de ayuda

Centro de ayuda

Encuentra recursos de soporte para todas tus necesidades en un solo lugar.

  • Documentación de productos
  • Descargas de software
  • Selector de productos
  • Reemplazo de productos
  • Centro de ayuda y contacto
  • Encuentra nuestras oficinas
  • Pedir presupuesto
  • Dónde comprar
  • Closure of shop.se.com/es/es/ and shop.se.com/pro/es/es/
  • Schneider Electric Community
  • Carreras
  • Perfil corporativo
  • Denunciar una mala conducta
  • Accesibilidad
  • Sala de prensa
  • Inversores
  • EcoStruxure
  • Búsqueda de empleo
  • Blog
  • Política de privacidad
  • Aviso de Cookies
  • Condiciones de uso
  • Cambiar tu configuración de cookies