Home / Knowledge Base / Smart Meters

How to Fix Eastron SDM630 Modbus Float Decoding Errors

PROTOCOL: MODBUS RTU Applies to: Eastron SDM630, SDM120, SDM230, SDM72 Series

A classic hurdle when integrating EV chargers or EMS dashboards is the Eastron SDM630 Modbus float decoding trap. You establish a stable RS485 connection to the meter and query the Line 1 Voltage (Input Register 30001). Your monitoring software is giving you astronomical scientific notations or completely incomprehensible values, not a normal decimal value like 230.5V.

Modbus Polling Diagnostic Log
Polling Register: 30001 (L1 Voltage)
Raw Hex Output:   43 66 80 00
Parsed Int16:     17254
Parsed Float32:   1.12e-40 (Expected: ~230.5 V)

Description: Data type and Endianness mismatch. The master software is interpreting floating-point binary fragments as standard integers.

The Eastron SDM series does not transmit simple scaled integers (e.g., sending `2305` and requiring you to multiply by 0.1). Instead, Eastron relies entirely on the IEEE 754 32-bit Single Precision Floating Point standard to transmit exact decimal values over Modbus. If your master device does not know how to stitch these 32 bits back together correctly, the data is entirely unreadable.

Step 1: The Two-Register Requirement

Because the Modbus protocol is fundamentally based on 16-bit registers (Words), a 32-bit Float cannot fit into a single address. Eastron splits the IEEE 754 Float across two consecutive registers.

  • To read Line 1 Voltage (Register 30001), you must request a length of exactly 2 registers (30001 and 30002).
  • If you only ask for a length of 1, you are only reading half of the binary footprint of the float. Garbage will result from trying to parse half a float.

Step 2: Resolving the Byte Order (Endianness)

Even if you read two registers, the order in which the 4 bytes (A, B, C, D) are arranged might conflict with your software’s native architecture. Eastron generally transmits data in Big-Endian format.

The CDAB vs ABCD Swap

If you have read 2 registers and cast them to a Float, but the number is still slightly wrong or completely wild, your system’s byte order is inverted. Then in your SCADA, Node-RED or PLC software find the Modbus configuration settings and change the Byte Order/Word Swap setting fromABCD to CDAB (or vice versa) until `230.5` snaps into view.

The Burden on Traditional PLCs

Configuring a Float32 read with a CDAB byte swap in a modern SCADA or high level scripting language is simply a drop down menu selection. But if you are connecting the Eastron SDM630 to an old industrial PLC with ladder logic, rebuilding IEEE 754 floats is an engineering nightmare. Every single electrical parameter (Voltage, Current, Power, Energy) needs to be manually bit-shifted and pointer-memory-cast.

For large-scale integrations involving dozens of Eastron meters, engineers eliminate this PLC processing burden by deploying an edge protocol gateway. The hardware gateway acts as a decoding layer. It natively reads the raw Eastron registers, executes the IEEE 754 float reconstruction and CDAB byte swapping at the edge, and delivers clean, ready-to-use decimal values to the PLC or Cloud via Modbus TCP or JSON.

Writing complex byte-swap logic in your PLC?

Quit throwing ladder logic memory away on Modbus data conversion. Valtoris Edge Gateways natively decode IEEE 754 Floats, swap Endianness and present perfectly parsed telemetry from Eastron meters directly to your OT or IT networks.