QUCC Modbus/RTU Communication protocol
一、 Form of agreement
1. Modbus RTU Overview of communication protocol
Electrical interface: RS485 half duplex
Baud rate: 9600 / 38400 / 115200 (adjustable)
address: 0-255 (adjustable)
Error detection: CRC16
Bits per byte: 1 start bit, 8 data bits (LSB sent first), no parity, 1 stop bit.
Supported MODBUS function codes:
03 (0x03) function code: read and hold register
06 (0x06) function code: write save register
10 (0x10) function code: write save register
Battery information register (0x1000-0x1036)
0x1000 2 Cell_Num unsigned int Total number of strings R 03 1 Up to 32S
Record the effective
Equipment running
0x1001 2 Run_Time unsigned int R 03 1 running time of the
time
equipment
0x1002 2 HSOC unsigned int Battery health R 03 1 Battery health
Total battery
voltage, if the value
0x1003 2 Voltage unsigned int Total cell voltage R 03 0.01V read in this register
is 5630, it means
56.30V
Current =
CurCadc/10-1000
Charge is negative
discharge and if the
0x1004 2 CurCadc unsigned int Real time current R 03 0.1A
value of reading the
register is 9800, it is
the charging current
20A
Temperature =
Temp1/10-40 If the
0x1005 2 Temp1 unsigned int Temperature 1 R 03 0.1℃
value of the register
is 755, it is 35.5 ℃
Same thing as
0x1006 2 Temp2 unsigned int Temperature 2 R 03 0.1℃
above
Same thing as
0x1007 2 Temp3 unsigned int Temperature 3 R 03 0.1℃
above
Same thing as
0x1008 2 Temp4 unsigned int Temperature 4 R 03 0.1℃
above
0x1009 2 Temp5 unsigned int Temperature 5 R 03 0.1℃ Same thing as
above
Same thing as
0x100A 2 Temp6 unsigned int Temperature 6 R 03 0.1℃
above
Same thing as
0x100B 2 Tmax unsigned int Max temperature R 03 0.1℃
above
Same thing as
0x100C 2 Tmin unsigned int Mini temperature R 03 0.1℃
above
The value of this
Max voltage of unit
0x100D 2 Vmax unsigned int R 03 1mV register is 3560, it
cell
means 3560 MV
Mini voltage of unit Same thing as
0x100E 2 Vmin unsigned int R 03 1mV
cell above
The high byte of the
register corresponds
to the highest
Series corresponding to voltage in the
Vmaxmin
0x100F 2 unsigned int the highest and lowest R 03 1 battery pack, and
No
voltage of cell the low byte
corresponds to the
lowest voltage in
the battery pack.
Remaining power of
0x1010 2 RSOC unsigned int R 03 1% 0%-100%
battery pack %
The register value is
0x1011 2 FCC unsigned int System full capacity R 03 0.01AH 6000, it means
60.00Ah
Current remaining
The register value
0x1012 2 RC unsigned int capacity of battery R 03 0.01AH
of 5080 is 50.80Ah
pack
The value of this
CycleCoun
0x1013 2 unsigned int Cycle discharge times R 03 1 register is 60, it
t
means 60 cycles
See the protection
0x1014 2 PROTECT unsigned int Reasons for protection R 03 /
reason table
It can be divided
into 1, 2 and 3
0x1015 2 ALARM unsigned int Alarm level R 03 /
grades. Grade 3 is
the most serious
See PackStatus
0x1016 2 PackStatus unsigned int System state R 03 /
table
The value of this
Voltage corresponding
0x1017 2 VCell1 unsigned int R 03 1mV register is 3560, it
to unit cell
means 3560mV
Same thing as
0x1018 2 VCell2 unsigned int R 03 1mV
above
Same thing as
0x1019 2 VCell3 unsigned int R 03 1mV
above
Same thing as
0x101A 2 VCell4 unsigned int R 03 1mV
above
Same thing as
0x101B 2 VCell5 unsigned int R 03 1mV
above
Same thing as
0x101C 2 VCell6 unsigned int R 03 1mV
above
Same thing as
0x101D 2 VCell7 unsigned int R 03 1mV
above
Same thing as
0x101E 2 VCell8 unsigned int R 03 1mV
above
Same thing as
0x101F 2 VCell9 unsigned int R 03 1mV
above
Same thing as
0x1020 2 VCell10 unsigned int R 03 1mV
above
Same thing as
0x1021 2 VCell11 unsigned int R 03 1mV
above
Same thing as
0x1022 2 VCell12 unsigned int R 03 1mV
above
Same thing as
0x1023 2 VCell13 unsigned int R 03 1mV
above
Same thing as
0x1024 2 VCell14 unsigned int R 03 1mV
above
Same thing as
0x1025 2 VCell15 unsigned int R 03 1mV
above
Same thing as
0x1026 2 VCell16 unsigned int R 03 1mV
above
Same thing as
0x1027 2 VCell17 unsigned int R 03 1mV
above
Same thing as
0x1028 2 VCell18 unsigned int R 03 1mV
above
Same thing as
0x1029 2 VCell19 unsigned int R 03 1mV
above
Same thing as
0x102A 2 VCell20 unsigned int R 03 1mV
above
Same thing as
0x102B 2 VCell21 unsigned int R 03 1mV
above
Same thing as
0x102C 2 VCell22 unsigned int R 03 1mV
above
Same thing as
0x102D 2 VCell23 unsigned int R 03 1mV
above
Same thing as
0x102E 2 VCell24 unsigned int R 03 1mV
above
Same thing as
0x102F 2 VCell25 unsigned int R 03 1mV
above
Same thing as
0x1030 2 VCell26 unsigned int R 03 1mV
above
Same thing as
0x1031 2 VCell27 unsigned int R 03 1mV
above
Same thing as
0x1032 2 VCell28 unsigned int R 03 1mV
above
Same thing as
0x1033 2 VCell29 unsigned int R 03 1mV
above
Same thing as
0x1034 2 VCell30 unsigned int R 03 1mV
above
Same thing as
0x1035 2 VCell31 unsigned int R 03 1mV
above
Same thing as
0x1036 2 VCell32 unsigned int R 03 1mV
above
二、03 function code read register
1. Command specific format (data is hexadecimal)
Reg start Data CRC16
Addr Fun
REG Hi REG Low REG Hi REG Low REG Low REG Hi
01H 03H 00H 00H 00H 06H C5H C8H
Function Cyclic redundancy
address Register start address Number of data read
code check code
2. Read data instance
Use 03 function to read 1 to 3 series voltage of control board
Query data frame 01 03 10 18 00 03 81 0C
Return to data frame 01 03 06 0C AF 0C AB 0C AC 82 6C
Explain:
01: slave address
03: function code
06: hexadecimal, decimal is 6, which means there are 6 bytes of data after it
826c: cyclic redundancy check code
1st series voltage: 0x0caf * resolution Namely: 0x0caf * 0.001 = 3.247V
2nd series voltage: 0x0cab * resolution Namely: 0x0cab * 0.001 = 3.243V
3rd series voltage: 0x0cac * resolution Namely: 0x0cac * 0.001 = 3.244V
Protection reason definition table
Bit 7 6 5 4 3 2 1 0
High NC NC NC Discharge Discharge Charging High temp Unit cell
byte low temp high temp low temp protection undervoltage
protection protection protection during
charging
Low Unit cell Total voltage Total Discharge Charging Discharge Differential Short circuit
byte overvoltage undervoltage voltage overcurrentovercurrentsecondary pressure protection
overvoltage overcurrentprotection
System status definition table PackStatus
Bit 7 6 5 4 3 2 1 0
High byte NC NC NC NC NC NC NC NC
Low byte State of Discharge NC NC NC NC Charge enable Discharge
charge state enable