0% found this document useful (0 votes)
182 views5 pages

(LIB) BMS 485 Communication Protocol 20201208

The document provides detailed specifications for a Battery Management System (BMS), including pin definitions for BMS cards and remote boxes, communication parameters, and frame formats for device queries and responses. It outlines command types, error codes, and various data addresses for retrieving version information, general status parameters, warning information, and charger/discharge information. The document serves as a comprehensive guide for configuring and communicating with the BMS.

Uploaded by

Attila Habarics
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)
182 views5 pages

(LIB) BMS 485 Communication Protocol 20201208

The document provides detailed specifications for a Battery Management System (BMS), including pin definitions for BMS cards and remote boxes, communication parameters, and frame formats for device queries and responses. It outlines command types, error codes, and various data addresses for retrieving version information, general status parameters, warning information, and charger/discharge information. The document serves as a comprehensive guide for configuring and communicating with the BMS.

Uploaded by

Attila Habarics
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
You are on page 1/ 5

1.

BMS Pin Definition


1.1 BMS Card

Definition
PIN 4 RS485B
PIN 5 RS485A

1.2 Remote Box

Definition
PIN 3 RS485B
PIN 5 RS485A

2. Communication parameter configuration


Baud rate Start bit Data bit Parity bit Stop bit
9600 1 8 N 1

3. Communication frame format


Device query command format
Index 1 2 3 4 5
Command Start Address
Function Slave ID Data Length *CRC
type of data
Bytes 1 1 2 2 2
Function
BMS address MSB LSB MSB LSB LSB MSB
code
*The CRC check range is all of the bytes before the CRC field,

Command type table


Index Command type Description
1 0x03 Read Data
2 0x10 Write Data

BMS normal response format


Index 1 2 3 4 5
Function Slave ID Command type Data Length Data information CRC
Bytes 1 1 2 Data length * 2 2
BMS
Function code MSB LSB MSB LSB LSB MSB
address

BMS abnormal response format


Index 1 2 3 4
Function Slave ID Command type + 128 Error code CRC
Bytes 1 1 1 2

Error code
Index Error code Note
Slave ID should be within 1~16. Slave ID error if
1 0x01
out of range
2 0x02 Command type error if command didn’t exist,
3 0x03 CRC error

4. Command lists
4.1 Version information
Data Address Byte Size Parameter Parameter Unit
0x0001 2 Protocol type
0x0002 2 Protocol version
0x0003 4 BMS firmware version
0x0005 4 BMS hardware version
4.2 BMS general status parameters inquiry
Data Address Byte Size Parameter Parameter Unit
0x0010 2 Number of cell: L pcs
0x0N11 2 Cell N*20+1 voltage
0x0N12 2 Cell N*20+2 voltage
0x0N13 2 Cell N*20+3 voltage
0x0N14 2 Cell N*20+4 voltage
0x0N15 2 Cell N*20+5 voltage
0x0N16 2 Cell N*20+6 voltage
0x0N17 2 Cell N*20+7 voltage
0x0N18 2 Cell N*20+8 voltage
0x0N19 2 Cell N*20+9 voltage
0x0N1A 2 Cell N*20+10 voltage
0.1V
0x0N1B 2 Cell N*20+11 voltage
0x0N1C 2 Cell N*20+12 voltage
0x0N1D 2 Cell N*20+13 voltage
0x0N1E 2 Cell N*20+14 voltage
0x0N1F 2 Cell N*20+15 voltage
0x0N20 2 Cell N*20+16 voltage
0x0N21 2 Cell N*20+17 voltage
0x0N22 2 Cell N*20+18 voltage
0x0N23 2 Cell N*20+19 voltage
0x0N24 2 *Cell N*20+20 voltage
Number of temperature sensor:
0x0025 2 pcs
M
0x0N26 2 Temperature Sensor N*10+1
0x0N27 2 Temperature Sensor N*10+2
0x0N28 2 Temperature Sensor N*10+3
0x0N29 2 Temperature Sensor N*10+4
0x0N2A 2 Temperature Sensor N*10+5 0.1K
0x0N2B 2 Temperature Sensor N*10+6 (Kelvin temperature)
0x0N2C 2 Temperature Sensor N*10+7
0x0N2D 2 Temperature Sensor N*10+8
0x0N2E 2 Temperature Sensor N*10+9
0x0N2F 2 Temperature Sensor N*10+10
0x0030 2 Module charge current 0.1A
0x0031 2 Module discharge current 0.1A
0x0032 2 Module voltage 0.1V
0x0033 2 SOC %
0x0034 4 Module total capacity mAH
*If the parameter doesn’t exist, return 0x0000
4.3 BMS warning information inquiry
Data Address Byte Size Parameter Note
0x0N40 2 Number of cell: L
0x0N41 2 Cell N*20+1/ N*20+2 voltage state
0x0N42 2 Cell N*20+3/ N*20+4 voltage state
0x0N43 2 Cell N*20+5/ N*20+6 voltage state
0x0N44 2 Cell N*20+7/ N*20+8 voltage state 00H: normal
0x0N45 2 Cell N*20+9/ N*20+10 voltage state 01H: below lower limit
0x0N46 2 Cell N*20+11/ N*20+12 voltage state 02H: above higher limit
0x0N47 2 Cell N*20+13/ N*20+14 voltage state F0H: other error
0x0N48 2 Cell N*20+15/ N*20+16 voltage state
0x0N49 2 Cell N*20+17/ N*20+18 voltage state
0x0N4A 2 Cell N*20+19/ N*20+20 voltage state
Number of temperature sensor:
0x0050 2
M
0x0N51 2 BMS Temperature N*10+1/ N*10+2 state
00H: normal
0x0N52 2 BMS Temperature N*10+3/ N*10+4 state
01H: below lower limit
0x0N53 2 BMS Temperature N*10+5/ N*10+6 state
02H: above higher limit
0x0N54 2 BMS Temperature N*10+7/ N*10+8 state
F0H: other error
0x0N55 2 BMS Temperature N*10+9/ N*10+10 state
0x0060 2 Module charge voltage state
0x0061 2 Module discharge voltage state
0x0062 2 Cell charge voltage state
0x0063 2 Cell discharge voltage state
0x0064 2 Module charge current state 00H: normal
0x0065 2 Module discharge current state 01H: below lower limit
Module charge temperature 02H: above higher limit
0x0066 2
state F0H: other error
Module discharge temperature
0x0067 2
state
0x0068 2 Cell charge temperature state
0x0069 2 Cell discharge temperature state
*If the parameter didn’t exist, return 0x0000

4.4 BMS charger and discharge information inquiry


Data Address Byte Size Parameter Parameter Unit
0x0070 2 Charge voltage limit 0.1V
0x0071 2 Discharge voltage limit 0.1V
0x0072 2 Charge current limit 0.1A
0x0073 2 Discharge current limit 0.1A
0x0074 2 Charge, discharge status
Charge, discharge status:
Bit Content Note
7 Charge enable 1: yes 0: request stop charge
6 Discharge enable 1: yes 0: request stop discharge
5 Charge immediately 1: request: 0: no request
4 Charge immediately2 1: request: 0: no request
3 Full charge request 1: request: 0: no request
2
1
0
0x0075 4 Run time to empty S

*Bit 5: Set when SoC is very low, like 5~9%, device need charge immediately until this flag
disappear.
*Bit 4: Set when SoC is low, like 10~14%, it will be better that device charge immediately
until this flag disappear.
*Bit 3: Set when BMS need device fully charged.

You might also like