0% found this document useful (0 votes)
858 views2 pages

PACE BMS Modbus Protocol Summary

The document provides a summary of the Modbus RS485 protocol used by PACE Electronics BMS, detailing the holding register map and control register functionalities. It outlines the wiring connections for RS485 communication, specifies the baud rate and default slave ID, and recommends using the pymodbus library for Python integration. Additionally, it includes instructions for shutting down and resetting the BMS via the control register.

Uploaded by

wongsuwan.punya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
858 views2 pages

PACE BMS Modbus Protocol Summary

The document provides a summary of the Modbus RS485 protocol used by PACE Electronics BMS, detailing the holding register map and control register functionalities. It outlines the wiring connections for RS485 communication, specifies the baud rate and default slave ID, and recommends using the pymodbus library for Python integration. Additionally, it includes instructions for shutting down and resetting the BMS via the control register.

Uploaded by

wongsuwan.punya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Modbus RS485 Protocol Summary - PACE Electronics BMS

1. Holding Register Map (Modbus Function Code 0x03)

0x0000 Current (x10 mA) INT16

0x0001 Pack Voltage (x10 mV) UINT16

0x0002 SOC (%) UINT8 (lower byte)

0x0003 SOH (%) UINT8 (lower byte)

0x0009 Warning Flags (bitwise) UINT16

0x000A Protection Flags (bitwise) UINT16

0x000B Status Flags (bitwise) UINT16

0x0015-0x0024 Cell Voltage [1-16] (mV) UINT16

0x0031-0x0034 Temperature Sensor [1-4] (0.1 degC) INT16

0x0111 Control Command (Shutdown / Reset) Write-only

0x0150-0x0159 Version Info (ASCII) String

0x0160-0x0169 Model SN (ASCII) String

0x0170-0x0179 Pack SN (ASCII) String

2. Control Register (0x0111)

- To shutdown BMS: Write value 0x0001 or 0xFFFF to register 0x0111

- To reset BMS: Write value 0x0002 (if supported)

- Register is write-only, and may require authentication

3. Typical RS485 Wiring (PACE BMS to ESP32/USB-RS485)

Connect as follows:

- BMS RS485 A (D+) -> USB-RS485 A / MAX485 DI

- BMS RS485 B (D-) -> USB-RS485 B / MAX485 RO

- GND -> Shared Ground between devices

Baudrate: 9600 bps, 8N1

Default Modbus Slave ID: 0

Ensure 120-ohm termination at both ends if bus is long


4. Python Integration Tools

- Recommended library: pymodbus >= 3.x

- Read with: read_holding_registers(address, count, slave=ID)

- Encoding note: use UTF-8 when writing special symbols in CSV

You might also like