0% found this document useful (0 votes)
577 views14 pages

New RS485 MODBUS Based Communication Protocol Between BMS and PCS V2.1 - 20190323

This document provides a summary of a communication protocol for a battery management system (BMS) and power control system (PCS). It outlines the protocol version history and describes the physical layer, message format, register addresses, and methods for reading and writing single and multiple registers using Modbus functions. The BMS acts as a slave device with a default address of 0x01, while the PCS is the master device.

Uploaded by

alphacore1
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)
577 views14 pages

New RS485 MODBUS Based Communication Protocol Between BMS and PCS V2.1 - 20190323

This document provides a summary of a communication protocol for a battery management system (BMS) and power control system (PCS). It outlines the protocol version history and describes the physical layer, message format, register addresses, and methods for reading and writing single and multiple registers using Modbus functions. The BMS acts as a slave device with a default address of 0x01, while the PCS is the master device.

Uploaded by

alphacore1
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/ 14

th

Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

ication protocol for BMS and PCS


Communication
Version Description Date Auther
V2.0 Init 2017-02-25
V3.0 Add insulation value register; 2017-04-25
Separate
rate Temperature Fault From Charge State and
Discharge State;
Add Slave Unit Functional Fault Warning and Error;
V3.1 Increase alarm informations 20190705

1. Brief introduction:

his document is designed for the communication between Battery Management


1. This

System(BMS) and PCS in the Energy Storage System;

2. The protocol is based on standard Modbus communication protocol, and define


defines

the register address and specific meaning;

3. For the method and sequenceto read/write one or more register values, you

can get detail information from the standard Modbus


odbus protocol;

4. Physical
hysical Layer: RS485/MODBUS-RTU;
RS485/

5. Default Commun ion port port


Communicatication baud baud
rate rates
is 9600 bit/s
57600 ;
bit/s

6. The communication port link is eight data bits, 1 stop bit, no parity bit
bit;

7. BMS works as the slave device, while the PCS is the master device;

8. BMS has a default address for this protocol, which is 0x01, you can contact

us if there is a conflict in the address distribution;

9. The interval time between two different read/write operation cannot be less

than 300ms;
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

2. Message
essage Format

odbus protocol message


Modbus m format:

Device Address Function Code Data CRC

1B 1B NB 2B


Device Address:

In the communication net, devices cannot share a same address.


address. Each device must

have its unique device address in the network, and the value must be between 0 to

255;

Function Code:

unction code describes the method of each operation. Part of the function codes
Function

and methods are listed below:

Function code Method Description


03H Read registers Read values from registers

06H Write single register Write single value to the specific register
10H Write multi registers Write
rite multi values to corresponding register
registers

CRC

polynomial :CRC-16/MODBUS
16/MODBUS x16+x15+x2+1;
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

3. Register read/write method:

Read register(03H)
(03H)

Request:

Address 1B 0x01(default)

Function
unction code 1B 0x03

Starting address Hi. 1B


0x0000
x0000 to 0xFFFF
Starting address Lo. 1B

Register Quantity Hi. 1B 1 to 127

Register Quantity Lo. 1B 2 bytes per register

CRC
C 2B Low byte first

Normal respond:

Address 1B 0x01(default)

Function
unction code 1B 0x03

Byte count 1B 2 to 254

Register value 2*nB n = register quantity

CRC 2B Low byte first

Exceptionrespond:

Address 1B 0x01(default)

Error code 1B 0x83

Exception type 1B See table 3.0 for detail

CRC 2B Low byte first


th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

Single register write(06H)


write

Request:

Address 1B 0x01(default)

unction code
Function 1B 0x06

Starting address Hi. 1B


x0000 to 0xFFFF
0x0000
Starting address Lo. 1B

Register value Hi. 1B

Register value Lo. 1B

CRC
C 2B Low byte first

Normal respond:

Address 1B 0x01(default)

Function
unction code 1B 0x06

Starting address Hi. 1B


0x0000
x0000 to 0xFFFF
Starting address Lo. 1B

Register value Hi. 1B

Register value Lo. 1B

CRC
C 2B Low byte first

Exceptionrespond:

Address 1B 0x01(default)

Error code 1B 0x86

Exception type 1B Seetable3.0 for detail

CRC 2B Low byte first


th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

Multi
ulti register write(10H)
write

Request:

Address 1B 0x01(default)

unction code
Function 1B 0x10

Starting address Hi. 1B


x0000 to 0xFFFF
0x0000
Starting address Lo. 1B

Register quantity Hi. 1B 1 to 127

Register quantity Lo. 1B 2 bytes per register

Byte count 1B 2 to 254

Register value 2*nB n = register quantity

CRC
C 2B Low byte first

Respond:

Address 1B 0x01(default)

Function
unction code 1B 0x10

Starting address Hi. 1B


0x0000
x0000 to 0xFFFF
Starting address Lo. 1B

Register quantity Hi. 1B 0 to 127

Register quantity Lo. 1B 2 bytes per register

CRC
C 2B Low byte first

Exception respond:

Address 1B 0x01(default)

Error code 1B 0x90

Exception type 1B See table 3.0 for detail

CRC 2B Low byte first


th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

Exception code and type

Table3.0 Exception code


Exception code Description

01 Invalid function code

02 Illegal register address

03 Invalid register quantity

04 Error during operation

3. Register definition:

Register address = base address + offset address


Each battery cluster base address is listed below:
Cluster number Base address
Cluster 1 0x2000

We only list one cluster information in the


the further document, you can get access
to any cluster information by changing the base address, if there are
aremore than one
cluster.

BMScontrol
control register:
register

Offset
Name r/w Description
address

主回路接触器
接触器控制 读写
0x0010 0x1:On,0x0
0x1:On,0x0:Off
Power circuit control R/W
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

Main status information of a single battery cluster(Only


cluster(Only Read)

Offset Name Description


escription

例 : VOL =6912 , 对 应 电 压 为

电池总电压 691.2V
0x0100
Battery stack Voltage Unit:0.1V which 6912 means

691.2V

16 位有符号整型 范围:-500A~

500A

电池主回路电流 Unit: 0.1A signed value


0x0101
Battery circuit Current Scale: -500A
500A to 500A

例:CUR=1234:123.4A
123.4A

CUR=-1234:-1123.4A

0x0:standby;
充放电指示
0x0102 0x1:discharge;
Battery work State
0x2:charge

scale:0%~100%
0x0103 Battery stack SOC
unit 1%

scale:0%~100%
0x0104 Battery stack SOH
unit 1%

单体电压最高节电池序号 范围:1#~224#
0x0105
Position of Maximum cell voltage 1 to 224

例 : VOL=3201 , 对 应 电 压 为
单体最高电压值
0x0106 3.201v
Maximum cell voltage
Unit: 1mV, 3201 = 3201mV

单体最低电压值电池序号 范围:1#~224#
0x0107
Position of Minimum cell voltage 1 to 224
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

例 : VOL=3201 , 对 应 电 压 为
单体最低电压值
0x0108 3.201v
Minimum cell voltage
Unit: 1mV, 3201 = 3201mV

最高电池温度采样点序号 范围:1#~224#
0x0109
Maximum temperature position 1 to 224

16 位有符号整型 范围:-40~
最高电池温度值
0x010A 150℃
Maximum temperature value
Unit: 0.1℃signed
signed value

最低电池温度采样点序号 范围:1#~224#
0x010B
Minimum temperature position 1 to 224

16 位有符号整型 范围:-40~
最低电池温度值
0x010C 150℃
Minimum temperature value
Unit: 0.1℃signed
signed value

系统绝缘
0x0116 Unit:1K/bit
System Insulation value

电池补电状态 0x1:Need Charge;;


0x011D
Battery Charge State other:Useless
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

Warning and error alarm information registers

Offset address Name description


Bit11::充电电流过高报警
Charge Current High Alarm
Bit10:放电电流过高报警
Discharge Current High Alarm
Bit9:极耳温度过高报警
Pole Temperature Over High Alarm
Bit8:备用
Bit7: 电池温度差过大报警
Temperature Diff Over High Alarm
Bit6: 充电:电池温度过低报警
电池系统一级 Under Temperature Alarm (charge);
报警信息信息 1 Bit5: 充电:电池温度过高报警
0x0140 Over Temperature Alarm(charge);
Alarm level
Bit4: 电池温度过低报警
1_1 Under Temperature Alarm(discharge);
bit3: 电池温度过高报警
Over Temperature Alarm (discharge);
bit2: 单体压差过大报警
Battery cells unbalance alarm
bit1: 单体电压过低报警
Battery Cell Under Voltage Alarm
bit0: 单体过压报警
Battery Cell Over Voltage Alarm
其中:0-正常(no alarm),1-报警有效((valid alarm)
Bit11::充电电流过高报警
Charge Current High Alarm
Bit10:放电电流过高报警
Discharge Current High Alarm
Bit9:极耳温度过高报警
Pole Temperature Over High Alarm
Bit8:备用
Bit7: 电池温度差过大报警
Temperature Diff Over High Alarm
Bit6: 充电电池温度过低报警
电池系统二级 Under Temperature Alarm (charge);
报警信息 1 Bit5: 充电电池温度过高报警
0x0141 Over Temperature Alarm(charge);
Alarm level
Bit4: 电池温度过低报警
2_1 Under Temperature Alarm(discharge);
bit3: 电池温度过高报警
Over Temperature Alarm (discharge);
bit2: 单体压差过大报警
Battery cells unbalance alarm
bit1: 单体电压过低报警
Battery Cell Under Voltage Alarm
bit0: 单体过压报警
Battery Cell Over Voltage Alarm
其中:0-正常(no alarm),1-报警有效((valid alarm)
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

本支路
本支路运行状 0x0:正常 Normal
态 0x1:充满 Full
0x0142 0x2:放空 Empty
ClusterXRun 0x3:待机 Standby
State 0x4:停机 Stop

Bit11::充电电流过高报警
Charge Current High Alarm
Bit10:放电电流过高报警
Discharge Current High Alarm
Bit9:极耳温度过高报警
Pole Temperature Over High Alarm
Bit8:备用
Bit7: 电池温度差过大报警
Temperature Diff Over High Alarm
电池系统三级 Bit6: 充电:电池温度过低报警
报警信息 1 Under Temperature Alarm (charge);
Bit5: 充电:电池温度过高报警
0x0143 Alarm level Over Temperature Alarm(charge);
Bit4: 电池温度过低报警
3_1 Under Temperature Alarm(discharge);
bit3: 电池温度过高报警
Over Temperature Alarm (discharge);
bit2: 单体压差过大报警
Battery cells unbalance alarm
bit1: 单体电压过低报警
Battery Cell Under Voltage Alarm
bit0: 单体过压报警
Battery Cell Over Voltage Alarm
其中:0-正常(no alarm),1-报警有效((valid alarm)
Bit9:熔断器故障
Bit9:Fuse Alarm
Bit8:隔离开关状态
Bit8:Shielded Switch State
Bit7:BAU 通信故障
Bit7:BAU Communication Fault
Bit6:绝缘检测故障
Bit6:Insulation Check Fault
其它报警信息
Bit5:电流传感器故障
0x0144 Other Alarm
Bit5:Current Sensor Fault
Info
Bit4:EEPROM 故障
Bit4:EEPROM Fault
Bit3:内网通信故障
Bmu Communication Fault
Bit3:Bcu-Bmu
Bit2:接触器粘连状态
Bit2:Contactor Adhesion Fault
Bit1:主控 NTC 故障
Bit1:BCU NTC Fault
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012
Bit0:从控概要故障
Bit0:SlaveCtrl Summary Fault
其中:0-正常(no alarm),1-报警有效 报警有效((valid
alarm)
Bit11::单体电压极低报警
Battery Cell Very High Alarm
Bit10:单体电压极高报警
Battery Cell Very Low Alarm
Bit9:高压箱温度过高报警
Pack Temperature Over High Alarm
Bit8:SOH 过低报警
SOH Lower Alarm
Bit7: SOC 过高报警
SOC Over High Alarm
电池系统一级
电池系统一 Bit6:SOC 过低报警
System SOC Lower Alarm;
报警信息 2
0x0145 Bit5: 负端绝缘阻值过低报警
Alarm
level Neg Insulation Resistance Lower Alarm;
level 1_2 Bit4: 正端绝缘阻值过低报警
Pos Insulation Resistance Lower Alarm;
bit3: 绝缘阻值过低报警
Insulation Resistance Lower Alarm
Alarm;
bit2: 总电压压差过大报警
System Voltage unbalance alarm
bit1: 总压过低报警
SystemUnder Voltage Alarm
bit0: 总压过高报警
System Over Voltage Alarm
其中:0-正常(no alarm),1-报警有效((valid alarm)
Bit11::单体电压极低报警
Battery Cell Very High Alarm
Bit10:单体电压极高报警
Battery Cell Very Low Alarm
Bit9:高压箱温度过高报警
Pack Temperature Over High Alarm
Bit8:SOH 过低报警
SOH Lower Alarm
Bit7: SOC 过高报警
SOC Over High Alarm
电池系统二 级
Bit6:SOC 过低报警
报警信息 2 System SOC Lower Alarm;
0x0146
Alarm level Bit5: 负端绝缘阻值过低报警
Neg Insulation Resistance Lower Alarm;
2_
_2
Bit4: 正端绝缘阻值过低报警
Pos Insulation Resistance Lower Alarm;
bit3: 绝缘阻值过低报警
Insulation Resistance Lower Alarm
Alarm;
bit2: 总电压压差过大报警
System Voltage unbalance alarm
bit1: 总压过低报警
SystemUnder Voltage Alarm
bit0: 总压过高报警
System Over Voltage Alarm
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012
其中:0-正常(no alarm),1-报警有效((valid alarm)
Bit11::单体电压极低报警
Battery Cell Very High Alarm
Bit10:单体电压极高报警
Battery Cell Very Low Alarm
Bit9:高压箱温度过高报警
Pack Temperature Over High Alarm
Bit8:SOH 过低报警
SOH Lower Alarm
Bit7: SOC 过高报警
SOC Over High Alarm
电池系统三级 Bit6:SOC 过低报警
报警信息 2 System SOC Lower Alarm;
0x0147 Bit5: 负端绝缘阻值过低报警
level
Alarm Neg Insulation Resistance Lower Alarm;
level 3_2 Bit4: 正端绝缘阻值过低报警
Pos Insulation Resistance Lower Alarm;
bit3: 绝缘阻值过低报警
Insulation Resistance Lower Alarm
Alarm;
bit2: 总电压压差过大报警
System Voltage unbalance alarm
bit1: 总压过低报警
SystemUnder Voltage Alarm
bit0: 总压过高报警
System Over Voltage Alarm
其中:0-正常(no alarm),1-报警有效((valid alarm)
最大充电电流

0x016C Max Charge Unit: 0.1A signed value

Current

最大放电电流

0x016D Max Discharge Unit: 0.1A signed value

Current

从控故障信息:
Slave unit fault information
主控与从控通信告警 2

Master control and


0x0183 Bit0-Bit15:SlaveCtrl17、…
…、SlaveCtrl32
Slave control

Communication fault 2
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

主控与从控通信告警 1

Master control and


0x0184 Bit0-Bit15:SlaveCtrl1、…
…、SlaveCtrl16
Slave control

Communication fault 1
Bit11:主动均衡故障
Bit11:Active Balance Fault
Bit10:被动均衡温度故障
Bit10:Passive
it10:Passive Balance Temperature Fault
Bit9:被动均衡故障
Bit9:Passive Balance Fault
Bit8:EEPROM 故障
Bit8:EEPROM Fault
Bit7:接触器故障
Bit7:Contactor Fault
Bit6:温度传感器故障
Bit6:Temperature Sensor Fault
从控告警设备故障
Bit5: 电池温度采样故障
0x0185 Slave unit function Bit5: Temperature sampling fault
Bit4: 电压采样故障
fault
Bit4:Voltage sampling fault
Bit3: 采样芯片故障
Bit3:Sampleing Chip Fault
Bit2: 连接线故障
Bit2:Connecting Line Fault
Bit1: 采样线故障
Voltage sampling Line fault
Bit1:Voltage
Bit0:从控初始化故障
Bit0:Slave
Slave unit initialization fault
其中:0-正常(no fault)
,1--报警有效(valid

alarm)

电压寄存器 cell voltage register

Offset address Name description


escription

当前组第 1 节电池电压 例:VOL=3201,对应电压为


对应电压为 3.201v;
0x0800
Battery Voltage:
Voltage cell 1 Unit:1mV 3201 stands for 3201mV
th
Addr: 10 Floor, 80 Gucui Road, Xihu District, Hangzhou, Zhejiang Province Post code: 310012

… …

当前组第 216 节电池电压


0x08D7
Battery Voltage:
Voltage cell 216

… …
We only support 224cellsin
cellsin one cluster for now.

温度寄存器 temperature register

偏移地址 数据名 说明

当前组第 1 个温度测量点温度值
0x0C00
Battery Temperature: 1
16 位有符号整型 范围:-40~
… … 150℃
当前组第 108 个温度测量点温度值 单位 0.1℃
0x0C6b
Battery Temperature: 108 Unit: 0.1℃,, significant value

… …

We only support 224 temperature sensors in one cluster for now.

注:以上寄存器若未指明数据类型的默认均为
以上寄存器若未指明数据类型的默认均为无符号整形
Tip: All register values are unsigned numbers, unless otherwise noted.

You might also like