100% found this document useful (3 votes)
3K views30 pages

FIBER OCEAN Lithium Battery BMS Communication Protocol

The document describes a communication protocol for a lithium battery pack. It defines the frame structure for communication information, including start and end bits, protocol version, device address, command/response codes, length, checksum and more. It also provides details on command and response formats, data types, error checking and examples of implementing the length checksum calculation in C code.
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
100% found this document useful (3 votes)
3K views30 pages

FIBER OCEAN Lithium Battery BMS Communication Protocol

The document describes a communication protocol for a lithium battery pack. It defines the frame structure for communication information, including start and end bits, protocol version, device address, command/response codes, length, checksum and more. It also provides details on command and response formats, data types, error checking and examples of implementing the length checksum calculation in C code.
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/ 30

FIBER OCEAN Lithium Battery

BMS communication
protocol

Version: 01

Date: 01-August-2022

1 |P a g e
Contents
1. Communication Project Requirements ................................................................. 3

2. Communication Protocol ...................................................................................... 3

3. Communication commands .................................................................................. 9

4. Remote control commands ................................................................................ 14

5. Obtaining and returning remote adjustment information .................................. 16

6. Remote setting command .................................................................................. 21

7. Get communication protocol version number .................................................... 21

8. Obtain equipment vendor information............................................................... 22

9. Get Historical Data ............................................................................................. 23

10. Get Time ......................................................................................................... 26

11. Sync Time ........................................................................................................ 27

12. Production calibration ..................................................................................... 27

13. Production Settings ......................................................................................... 28

14. Timed record................................................................................................... 29

15. Description...................................................................................................... 30

2 |P a g e
1. Communication Project Requirements
According to the requirements of the communication standard technical report "Standby
Lithium-Ion Battery Pack for Communication," the communication items required for the battery
pack to provide the communication equipment or analog device to work normally are shown in
Table-1 (the communication items between the battery pack and the upper computer should
include but not be limited to the requirements in Table-1) and can be monitored and managed in
real time.

Table-1 Requirements for Communication Items of Battery Pack

State Quantity Charging and discharging status of the battery pack; Capacity of the battery
pack; Output voltage; Output current, etc.
Environmental Battery pack temperature; Ambient temperature of the battery pack; PCB board
Analog temperature; Single cell temperature.
Battery pack charging voltage alarm and protection; Battery charging current
Alarm quantity alarm and protection; Under-voltage alarm and protection of battery discharge;
Battery pack polarity reversing alarm and protection; Discharge overcurrent
alarm and protection of the battery pack; High temperature alarm and
protection of the battery pack
Ambient high temperature alarm and protection of the battery pack; Low
battery pack capacity alarm and protection; Battery pack temperature sensor
failure alarm; Battery pack voltage sensor failure alarm; Battery pack current
sensor failure alarm
Single cell high temperature alarm and protection; Single cell charging
overvoltage alarm and protection
Single cell discharge undervoltage alarm and protection; Single cell charging
overcurrent alarm and protection; Single cell discharge overcurrent alarm and
protection;

2. Communication Protocol
1. Description
In the Front-end Intelligent Equipment Communication Protocol, the communication protocol, the
data protocol of the battery tester SM and SU are defined in detail (B.12) According to the actual
application and characteristics, define the SM and SO data protocols. The protocol aims to conform
to the basic format of the unified data protocol. Reference B.12 Data protocol development.

3 |P a g e
2. Communication Information Frame Definition
2.1 The frame structure of communication information is shown in Table-A1.

Table-A1 Communication Information Frame Structure Table


No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

2.2 Detailed description of the communication information frame is shown in Table-A2.

Table-A2 Basic Format


No. Symbols Signify Comments
1 SOI Start bit flag ASCII Code 7EH(Fixed)
2 VER Protocol Version Number
3 ADR Device Address HEX code 00 H(Fixed)
4 CID1 Device identification code HEX code 46 H(Fixed)
Command information: Control ID
5 CID2
Response message: Return code
Info byte length(Includes LENID and
6 LENGTH
LCHKSUM)
Command information: Control data
Information (COMMAND_INFO)
7 INFO
Answer information: Answer data
Information (DATA_INFO)
8 CHKSUM Checksum code
9 EOI End code ASCII 0DH(Fixed)
VER-See Protocol Version Resolution
ADRs-00H

INFO (including COMMAND_INFO and DATA_INFO) is explained as follows:


a) COMMAND_INFO is included in the command information, and its content is shown in one
or a combination of several in Table-A3
Table-A3 COMMAND_INFO
COMMAND_GROUP 1 byte Indicates different group numbers of devices of the same type
COMMAND_TYPE Indicates different remote-control commands or different
1 byte
control commands in historical data transmission ling
COMMAND_ID Indicates different monitoring points in the same group of
1 byte
devices of the same type
COMMAND_TIME 7 bytes Indicates the time period. See Table 9 for details.
COMMAND_DATAI Command information with integer number

4 |P a g e
b) DATA_INFO is included in the response information, and its content is shown in one or a
combination of several in Table-A4.
Table-A4 DATA_INFO
DATAI Fixed Point Number Answer Information
DATAF Floating Point Answer Information(This Agreement does not use floating
point numbers)
DATA_FLAG Data identification information
RUN_STATE Device Running Status
WARN_STATE Equipment alarm status
DATA_TIME Time of event, see Table A9 for details

2.3 Basic data format


Each byte of the information frame is written in hexadecimal and consists of two digits. During
transmission, except for SOIs and EOI (SOI=7EH, EOI=ODH), each byte is divided into two bytes.
Each byte is represented by two ASCII codes, that is, the upper four bits are represented by one
ASCII code, and the lower four bits are represented by one ASCII code. During transmission, the
ASCII code with the upper four bits is transmitted first, and then the ASCII code with the lower four
bits is transmitted.
Example: The ASCII code of CID2=4BH and 4 is 34 H, and the ASCII code of CID2=4BH is 42 H.
During transmission, two bytes of 34 H and 42 H are sent in sequence.

2.4 LENGTH data format.

Table-A5 LENGTH Data Format


High byte Low byte
Checksum LCHKSUM Length identification code LENID
(Represent the number of ASCII code bytes in the transmission of INFO)
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

The LENGTH consists of two bytes: LENID and LCHKSUM. LENID indicates the number of ASCII code
words of the INFO item. When LENID=0, the INFO is blank, that is, there is no such item. The
LENGTH splits four ASCII codes for transmission, first the high byte and then the low byte.
Check code calculation: D11D10D9D8+D7D6D5D4+D3D2D1D0. The sum is obtained.
Modulo 16 remainder plus 1.
Example: The number of bytes of the ASCII code of the INFO item is eighteen, that is,
LENID=000000010010B.
D11D10D9D8+D7D6D5D4+D3D2D1D0=0000B+0001B+0010B=0011B. After the sum is obtained,
the remainder of the modulo 16 is 0011B. If 0011B is inversely added by one, 1101B is obtained,
that is, LCHKSUM is 1101B.
It can be concluded that LENGTH is 1101000000010010B, that is, D012H.

5 |P a g e
The C code routine for the LCHKSUM calculation is as follows:
Void Count_Lchksum (Uint linfo_length, uchar *lchksum_result)
//uint linfo_length : Data Length
//uchar *lchksum_result: Data length check calculation result dump pointer
{
uint lchksum_temp;
//LCHKSUM compute register
//LCHKSUM 模 lchksum_temp =
(linfo_length&0x000F)+((linfo_length>>4)&0x000F)+( (linfo_length>>8)&0x000F );
lchksum_temp% =16; //MODULE DIVISION 16 RETRIEVAL
lchksum_temp = ~lchksum_temp+1; //minus one complement
*lchksum_result= unsigned char lchksum_temp&0x000F;//Convert to Bytes
}

2.5 CHKSUM Data Format


CHKSUM is calculated by summing up other characters except SOI, EOI and CHKSUM according to
the ASCII code. The resulting remainder is 65536 plus one. The CHKSUM is divided into four ASCII
codes for transmission, first the high byte and then the low byte. Example:
The received and issued character sequences are: "~20014043E00200FD3BCR"
("~20014043E00200FD3BCR" is SOI and "Cr" is EOI), then the FD3B in the last six characters
"FD3BCR" is CHKSUM, calculated as:
‘2’+‘0’+‘0’+…+‘E’+…+‘0’
=32H+30H+30H+…+45H+…+30H
=02C5H

The ASCII code of the character '2' is 32 H, and the ASCII code of the character' E 'is 45 H. The
remainder of 65536 on the 02C5H module is 02C5H, and 02C5H minus one is FD3BH.
The C code routine for the CHKSUM calculation is as follows:
Void Count_Chksum(uchar *buffer_ptr,uint info_length,uint
*chksum_result)
//uchar *buffer_ptr : Pointer to data BUFFER to compute checksum
//uint info_length : Data INFO length to calculate checksum
//uint *chksum_result: data frame check calculation result dump pointer
{
unsigned long chksum_temp; //CHKSUM compute register uint chksum_cnt; //CHKSUM
accumulation counter chksum_temp=0; //. Find the CHKSUM module.
for(chksum_cnt=1;chksum_cnt<=info_length+12;chksum_cnt++)
chksum_temp+=buffer_ptr[chksum_cnt];
chksum_temp%=65536; //MODULE DIVISION 65536 RETRIEVAL
chksum_temp = ~chksum_temp+1;//invert plus one complement
*chksum_result = (unsigned int)(chksum_temp&0x0000FFFF); //Conversion to Shaped Number
}

6 |P a g e
2.6 DATA_INFO Data Format
Analog data can be transmitted in two forms: Fixed point number and floating-point number.
Anyone can be selected.
a) Floating Point Format
The floating-point number is thirty-two bits long. The four-byte floating-point number is
transferred in the order of first low byte and then high byte. That is, the transfer order is as
follows: First low byte D7~D0, then D15~D8, then D23~D15, and finally high byte D31~D24.
The floating-point format is shown in Table-A6.

Table-A6 Floating Point Format


D31 D30~D23 D22~D0
Floating Point Sign Bit Code Mantissa
Floating-point value ×1.Mantissa ×2 (Prefix -127)

b) Fixed-point format (INTEGER, two bytes)


Signed Integer Number: -32768 ~+ 32767 Unsigned Integer Number: 0~ 65535
Transfer order first high byte followed by low byte.
c) Unsigned character type(CHAR, 1 byte, 0-255)

2.7 The format of the datetime (COMMAND_TIME and DATA_TIME) is shown in Table-A7

Table-A7 Date Time Format


Year (1- 9999) INTEGER Integer 2 bytes, hexadecimal
Month (1-12) CHAR Character 1 byte, hexadecimal
Day (1-31) CHAR Character 1 byte, hexadecimal
Time (0--23) CHAR Character 1 byte, hexadecimal
Minute (0-59) CHAR Character 1 byte, hexadecimal
Sec (0--59) CHAR Character 1 byte, hexadecimal
Note: Year is transferred in integer format, actual value = transfer value

2.8 Smart Pack


Each Smart Pack manages multiple single cells, sensing the voltage of each single cell, sensing the
current, and managing six temperature sensors. Protect the voltage, current and temperature. The
protection parameters are set in the eeprom.
A group can have up to eight Smart Pack's (currently up to seven), one master and the other slave.
The master communicates with the BMS using the RS-232 bus, while it communicates with the rest
of the slave using an RS-485 bus. The battery management system can read the information of the
master and all slaves through the communication command with the master.
9600BPS baud rate, no check, one stop bit.

7 |P a g e
2.9 Definition of control identification code

No. CID2 Value (HEX) Signify


1 42H Obtaining Telemetry Information *
2 44H Obtain telecommand information *
3 45H Remote control commands *
4 47H Obtain remote adjustment information *
5 49H Set remote adjustment information *
6 4FH Get communication protocol version number
7 51H Obtain equipment vendor information
8 4BH Get Historical Data *
9 4DH Get Time
10 4EH Sync Time
11 A0H Production calibration
12 A1H Production Settings
13 A2H Timed record

Note: (*) indicate that RS-485 internal network slave can respond to packets.
RS-232 supports all commands in the above list.

2.10 Definition of return code

No. CID2 Value (HEX) Signify


1 00H Normal communication response
2 01H Protocol version error
3 02H Number and check error
4 03H Length check error
5 04H Command error not supported
6 05H Data format error
7 06H Invalid setting data
8 07H Addressing group number error
9 08H Storage Peripheral Error

8 |P a g e
3. Communication commands
3.1 Obtaining and returning telemetry information
Telemetry information is used for analog (fixed point) processing in the battery
management system. Including several single cell voltages, several single cell temperatures,
one ambient temperature, one power temperature, total battery pack voltage,
charge/discharge current, remaining battery capacity, total battery capacity, and acquisition,
display, and storage of battery cycle times.

3.1.1 Obtaining Telemetry Information (Command information)


Obtain the telemetry command of Radio 1, that is, the host.

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 42H E0H, 02H 01H 0D
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=02 H
Info One byte, PACK1 (master) battery data for COMMAND_GROUP:
COMMAND_GROUP=0x01. COMMAND_GROUP=0x02 Get PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data
Command information (HEX code): 7E 32 36 30 30 34 36 34 32 45 30 30 32 30 31 46 44 33
30 0D
Command information (ASCII code): ~26004642E00201FD30

3.1.2 Return information of the telemetry command (Response information)

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Info content is as follows:
Telemetry content and return sequence
No. Content Bytes
1 DATA_FLAG 1
Location of the PACK group to be 1
2
obtained by the upper computer
3 M(Number of single cells) 1
4 Single cell 1 voltage 2
5 Single cell 1 voltage 2
… … …

9 |P a g e
No. Content Bytes
M+3 Single cell M voltage 2
M+4 N(Temperature Quantity) 1
M+5 Cell Temperature 1 Data 2
M+6 Cell Temperature 2 Data 2
… … …
M+N+2 Cell Temperature N-2 Data 2
M+N+3 Ambient Temperature Data 2
M+N+4 Power Temperature Data 2
M+N+5 Battery Current Data 2
M+N+6 Total Battery Voltage Data 2
M+N+7 Remaining battery capacity 2
M+N+8 Custom telemetry quantity 1
M+N+9 Total battery capacity 2
M+N+10 Number of battery cycles 2
M+N+11 Battery SOH(0.01) 2
M+N+12 Battery Discharge Energy(1Kwh) 2

3.2 Obtaining and returning telecommand information


The telecommand information is used to process the alarm (fixed number of points) of the
battery management system, including the acquisition and display of voltage status of
several single cells, temperature status of several single cells, total voltage status of the
battery pack, charging/discharging current status, battery capacity status, voltage event,
current event, temperature event, capacity event, FET status, system status, and
equalization status.

3.2.1 Obtaining telecommand information (Command information)


Obtain the remote signaling command of Radio 1, that is, the host.

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 44H E0H, 02H 01H 0D
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=02 H
Info One byte, PACK1 (master) battery data for COMMAND_GROUP:
COMMAND_GROUP=0x01.
COMMAND_GROUP=0x02 Get PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data.
Command information (HEX code): 7E 32 36 30 30 34 36 34 34 45 30 30 32 30 31 46 44 32
45 0D
Command information (ASCII code): ~26004644E00201FD2E

10 | P a g e
3.2.2 Return information of the telecommand command (Response information)

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Info content is as follows:


Telecommand Content and Return Order

No. Content Bytes


1 DATA_FLAG 1
Location of the PACK group to be obtained by
2 1
the upper computer
3 M(Number of single cells) 1
4 Single battery 1 voltage alarm status 1
5 Single battery 2 voltage alarm status 1
… … …
M+3 Single cell M voltage alarm status 1
M+4 N(Temperature Quantity) 1
M+5 Cell temperature 1 alarm status 1
M+6 Battery core temperature 2 alarm status 1
… … …
M+N+2 Battery core temperature N-2 alarm status 1
M+N+3 Ambient temperature alarm status 1
M+N+4 Power temperature alarm status 1
M+N+5 Charging and discharging current alarm status 1
M+N+6 Battery total voltage alarm status 1
M+N+7 Quantity of custom alarms 1
M+N+8 Equalize Event Codes 1
M+N+9 Voltage Event Code 1
M+N+10 Temperature Event Code 2
M+N+11 Current Event Code 1
M+N+12 Remaining capacity alarm 1
M+N+13 FET Status Code 1
M+N+14 Equalization status code 2
M+N+15 System Status Code 1

Definition of telecommand data


Telemetry data 0X00 0X01 0X02 0X0F
Meaning of Lower limit Upper limit
No alarm Others
telemetry data alarm alarm

11 | P a g e
Balancing Event Code Definitions
Byte-bit Meaning
Bit0 The equalization module is enabled.
Bit1 Static equalization indication
Bit2 Static equalization timeout
Bit3 Overtemperature equalization is prohibited
Bit4 Cell failure alarm
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

Voltage Event Code Definitions


Byte-bit Meaning
Bit0 Single overvoltage alarm
Bit1 Single overvoltage protection
Bit2 Single undervoltage alarm
Bit3 Single undervoltage protection
Bit4 Total overvoltage alarm
Bit5 Total voltage overvoltage protection
Bit6 Total voltage under-voltage alarm
Bit7 Total voltage undervoltage protection

Definition of Temperature Event Codes


Byte-bit Meaning
Bit0 Charging temperature alarm
Bit1 Charging overtemperature protection
Bit2 Charging low temperature alarm
Bit3 Charging under temperature protection
Bit4 Discharge high temperature alarm
Bit5 Discharge overtemperature protection
Bit6 Discharge low temperature alarm
Bit7 Discharge under temperature protection
Bit8 Ambient high temperature alarm
Bit9 Environmental overtemperature protection
Bit10 Ambient low temperature alarm
Bit11 Environmental under temperature protection
Bit12 Power overtemperature protection
Bit13 Reserved
Bit14 Reserved
Bit15 Reserved

12 | P a g e
Current Event Code Definitions
Byte-bit Meaning
Bit0 Charging current alarm
Bit1 Charge overcurrent protection
Bit2 Discharge current alarm
Bit3 Discharge overcurrent protection
Bit4 Secondary overcurrent protection
Bit5 Output short-circuit protection
Bit6 Secondary overcurrent locking
Bit7 Output short-circuit lock

Remaining capacity alarm


Byte-bit Meaning
Bit0 Reserved
Bit1 Reserved
Bit2 Remaining capacity alarm
Bit3 Reserved
Bit4 Reserved
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

Switch Event Code Definition


Byte-bit Meaning
Bit0 Discharge switch on
Bit1 Charging switch on
Bit2 Current limit switch on
Bit3 Heating switch on
Bit4 Reserved
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

System Status Code Definition


Byte-bit Meaning
Bit0 Discharge
Bit1 Charging
Bit2 Float charge
Bit3 Full charge
Bit4 Standby
Bit5 Shutdown
Bit6 Reserved
Bit7 Reserved

13 | P a g e
Equalization Status Code Definition
Byte-bit Meaning
Bit0 Cell 1 equalization indication(On for 1)
Bit1 Cell 2 equalization indication(On for 1)
Bit2 Cell 3 equalization indication(On for 1)
Bit3 Cell 4 equalization indication(On for 1)
Bit4 Cell 5 equalization indication(On for 1)
Bit5 Cell 6 Equalization Indicator(On for 1)
Bit6 Cell 7 Equalization Indicator(On for 1)
Bit7 Cell 8 Equalization Indicator(On for 1)
Bit8 Cell 9 equalization indication(On for 1)
Bit9 Cell 10 equalization indication(On for 1)
Bit10 Cell 11 equalization indication(On for 1)
Bit11 Cell 12 equalization indication(On for 1)
Bit12 Cell 13 equalization indication(On for 1)
Bit13 Cell 14 Equalization Indicator(On for 1)
Bit14 Cell 15 Equalization Indicator(On for 1)
Bit15 Cell 16 Equalization Indicator(On for 1)

4. Remote control commands


The remote control implements some operations on the lower computer through the upper
computer, including discharging control, charging control, current limiting control, heating
control, system shutdown and factory restoration.

4.1 Command information of remote control

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 45H A0H, 06H 01H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=06 H
Info three bytes, COMMAND_GROUP, COMMAND_TYPE, COMMAND_ID:
COMMAND_GROUP=0x01 Get PACK1 (host) battery data. COMMAND_GROUP=0x02 Get
PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data. COMMAND_ID = 0 discharge current
……
COMMAND_ID = 5 Restore to factory COMMAND_TYPE=0x1F current control

14 | P a g e
Example commands:

(1) Discharge control


Command information (HEX code): 7E 32 36 30 30 34 36 34 35 41 30 30 36 30 31 30 30 31 46
46 43 35 36 0D
Command information (ASCII code): ~26004645A00601001FFC56

(2) Charging control


Command information (HEX code): 7E 32 36 30 30 34 36 34 35 41 30 30 36 30 31 30 31 31 46
46 43 35 35 0D
Command information (ASCII code): ~26004645A00601011FFC55

(3) Current limit control


Command information (HEX code): 7E 32 36 30 30 34 36 34 35 41 30 30 36 30 31 30 32 31 46
46 43 35 34 0D
Command information (ASCII code): ~26004645A00601021FFC54

(4) Heating control


Command information (HEX code): 7E 32 36 30 30 34 36 34 35 41 30 30 36 30 31 30 33 31 30
46 43 36 39 0D
Command information (ASCII code): ~26004645A006010310FC69

(5) System shutdown


Command information (HEX code): 7E 32 36 30 30 34 36 34 35 41 30 30 36 30 31 30 34 30 30
46 43 36 39 0D
Command information (ASCII code): ~26004645A006010400FC69

(6) Factory Restore


Command information (HEX code): 7E 32 36 30 30 34 36 34 35 41 30 30 36 30 31 30 35 30 30
46 43 36 38 0D
Command information (ASCII code): ~26004645A006010500FC68

Remote Control Command Definition


Parameters Meaning
0 Discharge control
1 Charging control
2 Current limit control
3 Heating control
4 System shutdown
5 Factory Restore
6 System restart
7~255 Reserved

15 | P a g e
Remote status control
Parameters Meaning
1F Off
0F On

4.2 Return information of remote control

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 45H 00H, 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=00 H

5. Obtaining and returning remote adjustment information


The remote adjustment information is used to process the parameters (fixed number of
points) of the battery management system.

5.1 Obtaining Remote Adjustment Information (Command information)

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 1 2 1
Data 7EH N 00H 46H 47H E00H, 02H 01H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=02 H
Info One byte, PACK1 (master) battery data for COMMAND_GROUP:
COMMAND_GROUP=0x01. COMMAND_GROUP=0x02 Get PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data.
Command information (HEX code): 7E 32 36 30 30 34 36 34 37 45 30 30 32 30 31 46 43
32 42 0D
Command information (ASCII code): ~26004647E00201FD2B

5.2 Return information of the remote modulation command (Return information)

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

16 | P a g e
Info information is as follows:

No. Content Bytes


1 Location of the PACK group to be obtained by the upper computer 1
2 Single high voltage alarm parameters 2
3 Single high voltage recovery parameters 2
4 Single low voltage recovery parameters 2
5 Single low voltage alarm parameters 2
6 Single overvoltage protection parameters 2
7 Single overvoltage recovery parameters 2
8 Single undervoltage recovery parameters 2
9 Number of custom parameters 1
10 Single undervoltage protection parameters 2
11 Single failure differential pressure parameter 2
12 Failure Recovery Dropout Parameters 2
13 Total voltage and high voltage alarm parameters 2
14 Total Pressure High Voltage Recovery Parameters 2
15 Total Low Voltage Recovery Parameters 2
16 Total low voltage alarm parameters 2
17 Total overvoltage protection parameters 2
18 Total overvoltage recovery parameters 2
19 Total undervoltage recovery parameters 2
20 Total voltage undervoltage protection parameter 2
21 Number of battery cells in series parameter 2
22 Charging high temperature alarm parameters 2
23 Charging High Temperature Recovery Parameters 2
24 Charging Cryogenic Recovery Parameters 2
25 Charging low temperature alarm parameters 2
26 Overtemperature protection parameters 2
27 Overtemperature recovery parameters 2
28 Charging Under Temperature Recovery Parameters 2
29 Charging under temperature protection parameters 2
30 Discharge high temperature alarm parameters 2
31 Discharge High Temperature Recovery Parameters 2
32 Discharge Low Temperature Recovery Parameters 2
33 Discharge low temperature alarm parameters 2
34 Discharge overtemperature protection parameters 2
35 Discharge overtemperature recovery parameters 2
36 Discharge Under Temperature Recovery Parameters 2
37 Discharge under temperature protection parameters 2
38 Cell Heating On Parameters 2
39 Cell Heating Stop Parameters 2
40 Ambient high temperature alarm parameters 2

17 | P a g e
No. Content Bytes
41 Ambient low temperature alarm parameters 2
42 Ambient Overtemperature Protection Parameters 2
43 Ambient Overtemperature Recovery Parameters 2
44 Ambient Under temperature Recovery Parameters 2
45 Environmental under temperature protection parameters 2
46 Power overtemperature protection parameters 2
47 Power overtemperature recovery parameters 2
48 Charging overcurrent alarm parameters 2
49 Charge Overcurrent Recovery Parameters 2
50 Discharge Overcurrent Recovery Parameters 2
51 Discharge overcurrent alarm parameters 2
52 Charging overcurrent protection parameters 2
53 Charging Overcurrent Delay Parameters 2
54 Discharge overcurrent protection parameters 2
55 Discharge overcurrent delay parameter 2
56 Secondary overcurrent protection parameters 2
57 Secondary overcurrent delay parameter 2
58 Output Short Circuit Protection Parameters 2
59 Output short Circuit delay parameter 2
60 Overcurrent recovery delay parameter 2
61 Overcurrent lock times parameter 2
62 Charging current limit setting parameters 2
63 Battery Rated Capacity Parameters 2
64 Battery Remaining Capacity Parameters 2
65 Remaining capacity alarm parameters 2
66 Charge Recovery Capacity Parameters 2
67 Standby sleep timing parameters 2
68 Equilibrium High Temperature Disable Parameters 2
69 Equilibrium low temperature prohibition parameter 2
70 Static Equalization Timing Parameters 2
71 Equalization ON VOLTAGE PARAMETERS 2
72 Equalizing On Dropout Parameters 2
73 Differential Pressure Parameter at End of Equalization 2
74 User-defined switch quantity parameter 1
75 Voltage Function Switch Parameters 1
76 Temperature function switch parameters 2
77 Current Function Switch Parameters 1
78 Capacity and other function switch parameters 1
79 Equalization function switch parameters 1
80 Indication function switch parameters 1
81 Other parameters (Protection Board Model) 10

18 | P a g e
Voltage function switch
Byte-bit Meaning
Bit0 Single overvoltage alarm function
Bit1 Single overvoltage protection function
Bit2 Single undervoltage alarm function
Bit3 Single undervoltage protection function
Bit4 Total overvoltage alarm function
Bit5 Total overvoltage protection function
Bit6 Total voltage under-voltage alarm function
Bit7 Total voltage undervoltage protection function

Temperature function switch


Byte-bit Meaning
Bit0 Charging high temperature alarm function
Bit1 Charging temperature protection
Bit2 Charging low temperature alarm function
Bit3 Charging low temperature protection function
Bit4 Discharge high temperature alarm function
Bit5 Discharge High Temperature Protection
Bit6 Discharge low temperature alarm function
Bit7 Discharge low temperature protection function
Bit8 Ambient high temperature alarm function
Bit9 Ambient High Temperature Protection
Bit10 Ambient low temperature alarm function
Bit11 Ambient low temperature protection
Bit12 Power High Temperature Protection
Bit13 Low temperature heating function of the cell
Bit14 Reserved
Bit15 Reserved

Current function switch


Byte-bit Meaning
Bit0 Charging current alarm function
Bit1 Charge overcurrent protection
Bit2 Discharge current alarm function
Bit3 Discharge overcurrent protection function
Bit4 Secondary overcurrent protection function
Bit5 Output short Circuit protection function
Bit6 Secondary overcurrent locking function
Bit7 Output short Circuit lock function

19 | P a g e
Capacity and other function switches
Byte-bit Meaning
Bit0 Remaining capacity alarm function
Bit1 Intermittent charging
Bit2 External Switch Control Function
Bit3 Static standby sleep function
Bit4 Historical Data Recording Function
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

Equalization function switch


Byte-bit Meaning
Bit0 Battery equalization function
Bit1 Static equalization function
Bit2 Static Equalization Timing Function
Bit3 Equalization temperature limit function
Bit4 Cell failure alarm function
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

Indication function switch


Byte-bit Meaning
Bit0 Buzzer sound indication
Bit1 LCD display function
Bit2 Reserved
Bit3 Reserved
Bit4 Reserved
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

20 | P a g e
6. Remote setting command
The remote setting command is used to set the parameters of the battery management
system.(Fixed Point Number)

6.1 Remote Setting Command

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 49H 80H, 08H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=06 H
Info three bytes, COMMAND_GROUP, COMMAND_DATAI:
COMMAND_GROUP=0x01 Get PACK1 (host) battery data. COMMAND_GROUP=0x02 Get
PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data. COMMAND_TYPE subcommand.
COMMAND_DATAI two bytes for the parameter value you want to set.
Command example (HEX code): 7E 32 36 30 30 34 36 34 39 38 30 30 38 30 31 30 30
30 46 33 43 46 42 45 34 0D
Example command (ASCII code): ~26004649800801000F3CFBE4

6.2 Return Information of Remote Setting Command

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H A0H, 06H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=00 H

7. Get communication protocol version number


Obtain the version number of the communication protocol used for communication between
the upper and lower computers.

7.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 4FH 00H, 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=00 H VER is any value
Command information (HEX): 7E 32 36 30 30 34 36 34 46 30 30 30 30 46 44 39 34 0D
Command information (ASCII code): ~2600464F0000FD94

21 | P a g e
7.2 Return information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 00H, 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: After receiving the command, the SOs do not judge the VER of the command. In this
case, the VER is the version number, such as the 21 H transmitted by V2.1.

8. Obtain equipment vendor information


Obtain the collector information used by the protection board, the software version used by
the protection board, and the manufacturer name of the protection board.

8.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 51H 00H, 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=00 H
Command information (HEX code): 7E 32 36 30 30 34 36 35 31 30 30 30 30 46 44 41 38 0D
Command information (ASCII code): ~260046510000FDA8

8.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=40 H

Definition of INFO
No. Name Byte
1 Device Information 10
2 Vendor software version 2
3 Vendor Information 20

Note: The collector information and manufacturer information are ASCII codes. The version is
2 bytes, and each byte is an integer.

22 | P a g e
9. Get Historical Data
Obtain the battery information and system running status information recorded by the battery
management system.

9.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 4BH C0H, 04H 01H, 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=04 H
Info two bytes, COMMAND_GROUP, COMMAND_TYPE:
COMMAND_GROUP=0x01 Get PACK1 (host) battery data. COMMAND_GROUP=0x02 Get
PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data.

The COMMAND_TYPE=0x00 obtains the first piece of historical data.


COMMAND_TYPE=0x01 gets the next historical data. COMMAND_TYPE=0x02 resends the
previous historical data.

Read the first history command information (HEX code): 7E 32 36 30 30 34 36 34 42 43


30 30 34 30 31 30 30 46 43 43 30 0D

Read the first history command information (ASCII code): ~2600464BC0040100FCC0

Read the next command information (HEX code): 7E 32 36 30 30 34 36 34 42 43 30 30 34


30 31 30 31 46 43 42 46 0D

Read the next command information (ASCII code): ~2600464BC0040101FCBF

9.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

23 | P a g e
Info information is as follows:

No. Content Bytes


Location of the PACK group to be obtained by the upper
1 1
computer
2 Command Type 1
3 Date and Time 7
4 System mode 1
5 Number of alarm bytes 1
6 Cell status event 1
7 Single voltage event 1
8 Temperature event 2
9 Current event 1
10 Capacity events 1
11 Telemetry quantity
12 Charge/Discharge Current 2
13 Total battery voltage 2
14 Remaining capacity 2
15 Battery Temperature 1 2
16 Battery Temperature 2 2
... ...... ...
Battery temperature N (N indicates the number of
14+N 2
battery temperatures.)
14+N+1 Ambient temperature 2
14+N+2 Power Temperature 2
14+N+3 Cell 1 Voltage 2
14+N+4 Cell 2 Voltage 2
... ...... ...
14+M+N+3 Cell M voltage(M indicates the number of battery strings) 2

Cell status event


Byte-bit Meaning
Bit0 Reserved
Bit1 Reserved
Bit2 Reserved
Bit3 Reserved
Bit4 Cell failure alarm
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

24 | P a g e
Single voltage event
Byte-bit Meaning
Bit0 Single overvoltage alarm
Bit1 Single overvoltage protection
Bit2 Single undervoltage alarm
Bit3 Single undervoltage protection
Bit4 Total overvoltage alarm
Bit5 Total voltage overvoltage protection
Bit6 Total voltage under-voltage alarm
Bit7 Total voltage undervoltage protection

Temperature event
Byte-bit Meaning
Bit0 Charging temperature alarm
Bit1 Charging overtemperature protection
Bit2 Charging low temperature alarm
Bit3 Charging under temperature protection
Bit4 Discharge high temperature alarm
Bit5 Discharge overtemperature protection
Bit6 Discharge low temperature alarm
Bit7 Discharge under temperature protection
Bit8 Ambient high temperature alarm
Bit9 Environmental overtemperature protection
Bit10 Ambient low temperature alarm
Environmental under temperature
Bit11
protection
Bit12 Power overtemperature protection
Bit13 Reserved
Bit14 Reserved
Bit15 Reserved

Current event
Byte-bit Meaning
Bit0 Charging current alarm
Bit1 Charging current protection
Bit2 Discharge current alarm
Bit3 Discharge current protection
Bit4 Secondary overcurrent protection
Bit5 Output short-circuit protection
Bit6 Secondary overcurrent locking
Bit7 Output short-circuit lock

25 | P a g e
Capacity events
Byte-bit Meaning
Bit0 Reserved
Bit1 Reserved
Bit2 Remaining capacity alarm
Bit3 Reserved
Bit4 Reserved
Bit5 Reserved
Bit6 Reserved
Bit7 Reserved

10. Get Time


Gets the system time of the battery management system.

10.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 4DH 00H, 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=00 H.
Command information (HEX code): 7E 32 36 30 30 34 36 34 44 30 30 30 30 46 44 39 36 0D
Command information (ASCII code): ~2600464D0000FD96

10.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 20H, 0EH 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=0EH INFO consists of DATA_TIME. See Table-A7

26 | P a g e
11. Sync Time
Set the system time of the battery management system to the system time of the current
operating system.

11.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 4EH 20H, 0EH 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=0EH INFO consists of DATA_TIME. See Table-A7.


Example command HEX: 7E 32 36 30 30 34 36 34 45 32 30 30 45 30 37 44 44 30 43 30 35
30 42 30 41 33 32 46 41 36 46 0D
command ASCII: ~2600464E200E07DD0C050B0A32FA6F

11.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=00 H

12. Production calibration


It is used to calibrate some parameters of the battery management system, including current
zero calibration, current 10 A calibration and voltage calibration.

12.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H A0H A0H, 06H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI

Note: LENID=06 H INFO is the calibration value, three bytes

27 | P a g e
Zero calibration command (HEX code): 7E 32 36 30 30 34 36 41 30 41 30 30 36 30 30 30 30
30 30 46 43 36 36 0D
Zero calibration command (ASCII code): ~260046A0A006000000FC66
10A calibration command (HEX code): 7E 32 36 30 30 34 36 41 30 41 30 30 36 30 31 30 30
30 41 46 43 35 34 0D
10A calibration command (ASCII code): ~260046A00601000AFC54
3.3 V voltage calibration command (HEX code): 7E 32 36 30 30 34 36 41 30 41 30 30 36 30
32 30 43 45 34 46 43 33 38 0D
3.3 V voltage calibration command (ASCII code): ~260046A0A006020CE4FC38

12.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=00 H.

13. Production Settings


Set all parameters of the BMS.

13.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H A1H C1H, 12H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: NID=112 H.
Info includes COMMAND_GROUP, COMMAND_DATAI.
COMMAND_GROUP=0x01 Get PACK1 (host) battery data.
COMMAND_GROUP=0x02 Get PACK2 battery data.
……
COMMAND_GROUP=0xff Get all PACK battery data.
COMMAND_DATAI is the parameter value to set.
Production setting command information (HEX code): 7E 32 36 30 30 34 36 41 31 43 31
31 32 30 31 ParaArray 43 31 41 33 0D (ParaArray indicates that the format of the
parameter array is consistent with the return of the remote setting information.)
Production Setting Command Information (ASCII Code):
~260046A1C 11201 ParaArray C1A3 (ParaArray indicates that the format of the parameter
array is consistent with the return of the remote setting information.)

28 | P a g e
13.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=0.

14. Timed record


Set the start/end time of the data recorded by the battery management system.

14.1 Command information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H A2H C0H, 22H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=22. The value of INFO DATAIME is shown in Table A9.
Example command information HEX: 7E 32 36 30 30 34 36 41 32 43 30 32 32 31 30 30 37
44 44 30 43 30 35 30 41 32 38 30 44 30 37 44 45 30 42 30 36 30 42 30 45 30 43 30 30 30
41 46 36 31 41 0D
Example Command Information (ASCII Code):
~260046A2C0221007DD0C050A280D07DE0B060B0E0C000AF61A

14.2 Response information

No. 1 2 3 4 5 6 7 8 9
Bytes (HEX) 1 1 1 1 1 2 LENID/2 2 1
Data 7EH N 00H 46H 00H 0DH
Format SOI VER ADR CID1 CID2 LENGTH INFO CHKSUM EOI
Note: LENID=00 H.

29 | P a g e
15. Description
15.1 Data conversion method

Name Description
Number of signed integers in V. The actual value is the transfer
Single cell voltage value/1000. For example: 3256
The actual value of the corresponding voltage is 3.256 V.
Signed Integer Number, Unit Degrees C. The temperature is calculated as
follows: The unit of temperature in the response message is 0.1 K. For
Temperature
example, the actual temperature corresponding to: 2986 or 0.1 K is
2986-2731/10=25.5℃.
Number of signed integers in A. The actual value is the transfer
Charge/Discharge
value/100. For example: 4526
Current
The actual value of the corresponding current is 45.26 A.
Unsigned integer number in V. The actual value is the transfer value/100.
Total voltage For example: 4950
The corresponding actual voltage is 49.50 V.
Number of signed long integers in AH. The actual value is the transfer
Remaining
value/100. E.g.: 2499
capacity
The corresponding actual capacity is 24.99AH.
Number of signed long integers in AH. The actual value is the transfer
Total capacity value/100. E.g.: 5000
The corresponding actual capacity is 50.00AH.

Command description: Press Enter after the commands sent in the form of ASCII code in the
above commands. (When using the serial port assistant to test the command, pay attention to
this point.)

15.2 Change Description

1) One byte of temperature alarm information and one byte of capacity alarm information
are added to the telecommand. In addition, each event in the remote adjustment
information is described in detail.
2) In the remote adjustment return information, the parameter name is changed, and the
number of parameters is increased. (For details, please refer to the remote adjustment
return information.)
3) A detailed description of the information returned by the history information is added.
4) Changes were made to the production setup command and change descriptions were
added.

30 | P a g e

You might also like