Getting BBU telemetry into DCIM: CAN, Modbus, SNMP

A rack battery that cannot be read is a black box with a warranty. This is the commissioning-level walkthrough: which interface carries what, what a register map has to contain before you sign, how often each point should be polled, and which thresholds should open a contactor rather than raise a ticket.

The interface stack, layer by layer

A BBU shelf is not one device with one port. It is a stack of four interfaces, each with a different job, a different poll owner and a different failure mode. Buyers who treat them as interchangeable end up splicing a CAN segment into a campus VLAN, or pointing a DCIM poller at a Modbus map that shifted at the next firmware release.

InterfaceWhat connects to itTypical useWhat it does not carry
CAN 2.0B, 250 or 500 kbpsParallel shelves on the same supervised bus, plus the shelf controllerPrimary intra-rack bus: current sharing, bridge coordination, per-cell-group data, node identityNot routable across a campus network without a gateway. No native security layer, so it must not leave the cabinet.
RS485 Modbus RTUPlant controllers, BMS and EMS layers, building managementRegister-level reads of pack voltage, current, SOC, temperatures and alarm wordsNo spontaneous data. A master must ask, so an unpolled point is an unrecorded event.
SNMP v2c / v3 via the shelf controllerDCIM, capacity planning and workload scheduling systemsAggregated shelf state, traps on state change, identity and firmware stringsNot a waveform. Cell-group detail and fast transients are lost in the polling interval.
PMBus on the 1U in-server moduleThe host node's BMC or power management controllerIn-band telemetry inside the server: bridge events, module SOC, module temperatureNothing outside the node. It is invisible to a rack-level DCIM until the BMC is polled.

The stack is the same across the line. VB-5125, the 3U 51.2V shelf, and VB-H400, the 2U ±400VDC shelf, both expose CAN 2.0B, RS485 Modbus and SNMP; the difference is the point set, not the protocol. The VB-E3 1U module keeps a 48V/54V bus inside the node and reports over PMBus. One naming convention and one alarm vocabulary across all three is what makes a mixed fleet readable.

A published snapshot from the platform shows the shape of the data: BUS 51.18V, CUR -46.2A, CELL delta-V 18 mV, delta-T 2.1 C, SOC 87.4%, SOH 99.2%, STATE BRIDGE-READY. Six numbers and one state string. The negative current is the discharge sign convention in that snapshot; whichever convention your site adopts, write it into the integration document, because a flipped sign silently inverts every load-sharing calculation built on top of it.

Register maps: what "documented" has to mean

A register map is a contract. It has to be delivered with the sample, before the purchase order, and it has to contain seven things for every point: register address, data type and length, scale factor and unit, read or write permission, valid range, the meaning of every enumeration and bit position, and the defined behaviour on an out-of-range or failed read. A map missing any one of those turns into a support ticket during commissioning, when the DCIM integrator is on site and the rack is already powered.

PointAddress (illustrative)Type and lengthScaleUnit
Pack voltage0x0000uint16, 1 register0.01 per countV
Pack current0x0001int16 signed, 1 register0.1 per count, sign convention stated in the mapA
State of charge0x0002uint16, 1 register0.1 per count%
Cell group voltages, 1 to 160x0010 – 0x001F16 consecutive uint16 registers0.001 per countV
Temperature probes, 1 to 80x0020 – 0x00278 consecutive int16 registers0.1 per countC
Status word0x0030uint16 bit fieldbit position per state, enumerated
Alarm word0x0031uint16 bit fieldbit position per alarm, latched or live stated
Cycle count0x0032 – 0x0033uint32 unsigned, 2 registers, low word first1 per countcycles
State of health0x0034uint16, 1 register0.1 per count%
Contactor and protection state0x0035uint16 bit fieldbit position per state, enumerated
Identity and firmware revision0x0040 – 0x00478 registers, ASCII packed two characters per registernone

The addresses above illustrate the layout and the scaling conventions a usable map follows. They are not product facts, and they are not an extract from a shipped document. The map that arrives with your sample is the authority; treat any third-party address list, including this one, as a layout sketch until the signed map confirms it.

Two entries in that table deserve a rule of their own. Bit fields must be documented with every bit position, not only the ones currently used, so an integrator can tell an undefined bit from a cleared one. And any multi-register value must state word order, because a uint32 read with the wrong word order produces a cycle count in the sixty-five-thousand range that looks plausible on a trend line and is entirely wrong.

What to poll, and how often

Polling is a budget. Every point you add costs bus time, gateway CPU and storage, and buys nothing if nobody acts on it. Tier the point set by how fast the underlying physical quantity can actually change.

PointInterfaceIntervalWhy
Pack voltageCAN or Modbus1 to 5 sBridge readiness and load sharing between parallel shelves. This is the number that tells you whether the bus is inside its window.
Pack current and state of chargeCAN or Modbus1 to 5 sCurrent split across shelves and the energy remaining for a migration window. Read together, never separately.
Contactor and protection stateTrap or event, not a pollOn changeA contactor event is a discrete fact. Polling it at 1 s adds delay to something the shelf already knows instantly.
Cell group voltages and delta-VCAN or Modbus30 to 60 sDrift detection. Sixteen registers per shelf is the heaviest read in the map and the slowest quantity to change.
Temperatures and delta-TCAN or Modbus30 to 60 sThermal margin against the charge and discharge windows. Thermal mass sets the floor on useful interval.
State of health and capacity fadeModbus or SNMPDailyFade moves over weeks. Daily reads build the trend without loading the segment.
Cycle count and event logModbus or SNMPDaily, or on changeFeeds the replacement decision. Event logs are large, so pull the delta, not the whole log.
Firmware and identity stringsSNMPOn discovery, and on changeAsset records. A shelf that reports a different revision than the register says is a configuration finding.

Now the arithmetic that decides whether this fits. A 250 kbps CAN segment carries 250,000 bits per second, and a standard 11-bit-ID frame with eight data bytes costs at most about 135 bits including stuffing and inter-frame space. Four frames per shelf per second across 15 shelves is 60 frames, or 60 x 135 = 8,100 bits per second, which is 3.2% of the segment. Push to 10 frames per shelf per second and 15 shelves produce 150 frames, or 20,250 bits per second, still 8.1% of capacity. CAN design guidance commonly keeps steady-state load below roughly 30% so the highest-priority frame still meets its deadline, so a 1-second poll of a small point set is not the constraint.

The same holds on the serial side. At 19,200 bps, 8N1, each byte costs 10 bit times. Reading 16 consecutive registers from one shelf is an 8-byte request plus a 5-byte header, 32 data bytes and a 2-byte CRC, about 47 bytes, or roughly 25 ms on the wire. Fifteen shelves polled sequentially with 20 ms of device turnaround each complete a full sweep in about 15 x 45 ms = 675 ms. A 5-second cycle therefore uses around 14% of the link and a 1-second cycle about 68%, which is why cell-group reads belong in the slow tier.

The real constraint is not bandwidth, it is ownership. Two systems polling the same shelf produce duplicate records, doubled bus load and conflicting alarm states in the DCIM. Name one owner per bus in the integration document, and let every other system read from that owner rather than from the shelf.

Key takeaway

Telemetry is a deliverable, not a commissioning task. The register map, the SNMP MIB and the Modbus map ship with the sample, so the DCIM integration can be built and tested before the purchase order, and the alarm-to-ticket mapping can be agreed with operations while there is still time to change it.

State of charge and state of health: two numbers with different jobs

SOC answers tonight's question: can this shelf carry the load through the migration window if the transfer happens in the next minute. SOH answers the five-year question: when does this shelf leave the fleet. They are read on different schedules, they are interpreted by different teams, and confusing them is how a healthy-looking rack ends up short of energy during a bridge event.

SOC on this platform is estimated to 0.5%-class accuracy, and it is still an estimate. A coulomb count drifts, more so after partial cycles and long float periods, so the BMS corrects it at rest or against a full-charge anchor. Treat a SOC reading taken during a heavy discharge as indicative, and the corrected value after a rest as authoritative.

SOC bandWhat it meansWhat it should trigger
Above 90%Bridge-ready. Full energy available for the migration window.No action. This is the design band for a shelf on standby.
70% to 90%Normal operating band after a partial discharge or an incomplete recharge.Schedule a recharge check at the next maintenance window. Do not raise a ticket yet.
50% to 70%Below plan for a standby asset.Investigate whether the bus is exporting power or a recharge cycle was missed, and confirm the charge path is enabled.
Below 50%Degraded for backup purposes, even if the cells are healthy.Treat as a degraded asset. Raise a ticket and hold the shelf out of any planned bridge test until recharged.
Below 30%Insufficient for a committed migration window.Block the planned maintenance window until the recharge completes, and check whether the load is drawing on the battery without a transfer event.

SOH is trended against the per-cycle log rather than computed from a single reading, and it is the input to a replacement decision. The VB-5125 is rated for at least 6,000 cycles at 25 C and 80% DOD and carries a 5-year warranty; those two figures are a design envelope, not a service date. A fleet that replaces on the calendar discards cells with usable capacity, and a fleet that never replaces runs shelves past the point where the bridge window still closes. Plan the swap from the SOH trend and the cycle log, and let the warranty period bound the decision rather than set it.

Alarm thresholds and the ladder

Thresholds are only half the design. The other half is what the threshold does when it is crossed. A warning that lights a dashboard and nothing else is a log entry; a protection threshold that opens a contactor moves the load, and it needs to be worth the transfer.

ParameterWarningAlarmAction driven
Cell group over-voltage3.55 V per cell group, 56.8 V pack on a 16S string3.65 V per cell group, 58.4 V packTaper and stop charge; open the contactor if the group voltage holds above the alarm threshold
Cell group under-voltage2.80 V per cell group, 44.8 V pack2.50 V per cell group, 40.0 V packDerate the discharge, hand the load back, and open at the cut-off
Cell delta-V50 mV100 mVFlag the shelf for cell-level review and block it from a bridge test until the spread is explained
Pack over-current90 A sustained, against the 100 A continuous ratingAbove the 200 A peak held past its 10 s windowDerate first, open the contactor if the current does not fall back inside rating
High temperature45 C charging, 55 C discharging55 C charging, 60 C dischargingInhibit charge at the top of the charge window, derate discharge at the top of the discharge window
Low temperature5 C charging, -10 C discharging0 C charging, -20 C dischargingInhibit charge below the charge window floor until the pack warms; derate discharge toward the cold limit
Insulation and earth fault, where monitoredSite threshold agreed at commissioningConfirmed fault at half the warning thresholdLock-out rather than derate: an insulation fault is not a condition to operate through
Communication loss3 missed polls10 missed polls, or three times the poll interval, whichever is longerRaise to the named alarm owner. Bridge behaviour and protection are local to the shelf, so a lost link costs visibility, not backup.

The healthy reference for the spread matters as much as the threshold. The published telemetry snapshot sits at CELL delta-V 18 mV, delta-T 2.1 C, SOC 87.4% and SOH 99.2%, which is what a well-matched 16S string of graded 21700 LFP cells looks like in service. A 50 mV warning is roughly three times that reference, so it is a drift signal, not a nuisance alarm.

The ladder has four steps and every step is time-stamped and retrievable over any interface. Warning: logged, visible, no change to operation. Derate: charge or discharge current reduced, bridge capability retained. Open contactor: the protection trips and the load transfers. Lock-out: the shelf is held out of service until the condition is cleared and acknowledged. Underneath the ladder, over-charge, over-discharge, over-current and short-circuit protection are hardware-enforced, so they do not depend on software state, a live network link or a polling cycle. Anything reachable only through a register read is monitoring; anything that must happen in a millisecond is hardware.

The compliance context around those thresholds is covered in more detail in the compliance map for rack batteries: this platform is designed and tested to IEC 62619:2022, follows a UL 1973 certification path through accredited labs, and holds a -48V DC interface per ETSI EN 300 132-2 with a -40.5 to -57.0 VDC window. Thresholds should sit inside those declared windows, not inside whatever the first integrator found convenient.

Integration path: from CAN to the dashboard

The reference architecture is three hops. Inside the rack, up to 15 shelves sit on one CAN segment at 250 or 500 kbps with a documented register map, moving roughly 77 kW of backup power as one group on an 80kW-class bay. A shelf controller or protocol gateway concentrator-polls that segment and exposes Modbus TCP or SNMP northbound, so the DCIM never touches the CAN bus directly. The DCIM then reads one aggregated shelf object per rack position instead of fifteen device objects, which is what keeps point counts and licences manageable.

Identity is the part that gets skipped. A shelf is addressed by rack position and slot, not by node ID or serial number alone, so its name in the DCIM survives a move, a swap and a firmware update. Node IDs stay unique inside the segment; the position supplies the human-readable name; the serial number stays the join key to the per-batch QC records behind it, which are retrievable by serial number through the quality system.

Before go-live, the commissioning checklist is short and entirely mechanical:

  • Termination and stub length on the CAN segment: 120 ohm at both physical ends, one contiguous trunk, stubs short enough that reflections stay inside the segment's margin.
  • Unique node IDs across all shelves and the gateway, with the assignment recorded in the integration document rather than on a label that will be lost.
  • Gateway poll timeout set longer than the slowest device response, so a busy shelf reads as slow rather than as failed.
  • SNMP trap destination reachable from the management network, and confirmed with a test trap, not with a ping.
  • Time synchronisation on the gateway and the DCIM, so an event timestamp lines up with the PDU, the switch and the workload scheduler.
  • Alarm-to-ticket mapping agreed with operations before go-live, including which alarms page a human at 03:00 and which wait for the morning queue.

All six checks belong in the integration document that ships with the sample, alongside the register map, the SNMP MIB and the Modbus map. If you need the protocol selection logic behind this layout, Guide DG-05 covers choosing CAN, Modbus, SNMP or PMBus per layer rather than per fashion, and the BMS and telemetry layer covers how the points are generated in the first place.

The three integration mistakes that cost the most

Three patterns account for most of the rework we see on rack battery integrations, and all three are decisions rather than defects.

  • Polling everything at 1 second. Sixteen cell-group registers plus eight temperature probes per shelf, read every second across fifteen shelves, buries the gateway in transactions and fills storage with flat trend lines. Fix: tiered polling. Keep voltage, current and SOC in the fast tier, put cell-group voltages and temperatures in the 30 to 60 second tier, and push SOH, cycle count and event logs to a daily pull.
  • Mapping alarms to a dashboard nobody owns. When the alarm word reaches the DCIM, someone has to be accountable for acting on it, with an escalation path and a defined response time. Fix: a named alarm owner per alarm class, an escalation path agreed in writing, and a periodic test of the path itself rather than of the dashboard.
  • Treating telemetry as a commissioning step instead of a day-one deliverable. Integration work discovered on site, after the racks are powered, is the most expensive hour in the project. Fix: integration documents shipped with the sample, so the register map, MIB and Modbus map can be loaded into the DCIM and tested against a bench unit well before the purchase order.

None of these are protocol problems. CAN 2.0B, Modbus RTU, SNMP and PMBus are all adequate for rack battery telemetry at the point counts described here. The failure is almost always in the tiering, the ownership and the timing of the integration work.

Sources

  • IEC 62619:2022 — safety requirements for industrial secondary lithium cells and batteries; the design and test baseline for the pack layer.
  • ANSI/CAN/UL 1973 3rd edition — stationary battery installation standard; the UL 1973 certification path for these packs runs through accredited labs.
  • ETSI EN 300 132-2 — DC power interface at the equipment input, -40.5 to -57.0 VDC window for the -48V interface.
  • Uptime Institute Annual Outage Analysis 2026 — outage cost distribution, 57% of operators' most recent significant outages above $100k and about one in five above $1M.
  • arXiv 2407.21783 — Meta Llama 3 infrastructure paper: 466 interruptions over 54 days of pre-training, 419 unexpected, about 78% hardware-related.

Get the register map before the purchase order.

Send your DCIM platform, protocol preference and the point list you need, and we will reply in 48 hours with the register map, SNMP MIB and Modbus map for the shelf you are specifying.