0% found this document useful (0 votes)
68 views15 pages

BMS.rs485.Modbus.V1.0.en 1

The JEON BMS RS485 Modbus General Protocol (V1.0) outlines a master-slave communication method for data exchange using RS485 standards. It specifies the physical connection, message format, function codes for reading and writing registers, error feedback mechanisms, and the information transfer process. Additionally, it includes a detailed register map for various parameters related to battery management system operations.

Uploaded by

Manthan Alandkar
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)
68 views15 pages

BMS.rs485.Modbus.V1.0.en 1

The JEON BMS RS485 Modbus General Protocol (V1.0) outlines a master-slave communication method for data exchange using RS485 standards. It specifies the physical connection, message format, function codes for reading and writing registers, error feedback mechanisms, and the information transfer process. Additionally, it includes a detailed register map for various parameters related to battery management system operations.

Uploaded by

Manthan Alandkar
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/ 15

Subscribe to DeepL Pro to translate larger documents.

Visit www.DeepL.com/pro for more information.

JEON BMS RS485 Modbus General Protocol(V1.0)


Pole Air BMS RS485 Modbus general protocol uses master-slave response
method for data communication. Requests can only be initiated by the master
through a unique slave address, and the BMS (slave) responds to the master's
request, i.e., half-duplex communication.
. The protocol only allows the host to initiate a request and the slave to
respond passively, so the slave does not actively occupy the communication
line causing data conflicts.
I. Physical connection
The electrical characteristics of the communication physical connection ❑
Communication UART
are as follows:
connection
Level Standards RS485
baud 115200bps
data bit 8
stop bit 1
check digit not have

II. Form of agreement


Message transmission is asynchronous, using hexadecimal for
address code function code data area CRC check
communication
1 byte and message
1 byte frame format:
1 byte 2 bytes

1) address code
The address code is the first byte of each communication information
frame, supporting 1 to 247, each slave must be unique in its address on the
bus, and only slaves that match the address code sent by the host can
respond with return data.
2) function code
The function code is the second byte of each communication message
frame. The host sends, by means of the function code, to inform the slave
device what action should be performed. The function code is defined as
follows:
functio define manipulate
nality
03H registers Reads data from one or more registers
10H Write registers Data written to one or more registers
3) data area
The data area varies according to the function code and the direction of
the data, which can be different combinations of "register
first address + number of read registers", "register address +
operation data", "register first address + operation register
number + data length + data" and so on. These data can be "register first
address + number of registers read", "register address + operation data",
"register first address + operation register + length of data + data", etc. The
data areas of different function codes are explained in detail in "Function
Code Analysis".
3) CRC checksum
CRC checksums are used to ensure the
correctness and integrity of data transmission.
III. Error Feedback
Address and CRC checksum errors do not receive data feedback from the
slave, and other errors will return error codes to the master
. The second bit of the data frame plus 0X80 indicates that an error (illegal
function code, illegal data value, etc.) has occurred in the request, and the
error data frame is as follows:
address code function code error code CRC check
area
1 byte 1 byte 1 byte 2 bytes
The error codes are defined below:
(be) name (of a thing) clarification
worth
01H Illegal function codes This function code is not
supported to operate the
registers
02H Register address error Accessed a register that is
forbidden to be accessed by
the slave.
03H Illegal data Data logic not legal or out of
limits
04H CRC Checksum Error CRC Checksum Error
IV. Information transfer process
When a communication command is sent from the host to a slave, the
slave that matches the address code sent by the host receives the
communication command, performs the corresponding operation if the CRC
check is correct, and then returns the result (data) to the host. The return
message contains the address code, function code, data after execution, and
CRC check code. If the address does not match or the CRC check is wrong, no
information is returned.
V. Function code analysis
1) Function code 03H: Read registers
For example, if the master wants to read the data of 2 holding registers
with slave address 01H and start register address 05H, the master sends:
Host sends Data (HEX)
address code 01H
function code 03H
high byte 00H
Start Register (computing)
Address low byte 05H
high byte 00H
Number of (computing)
registers low byte 02H
low byte D4H
CRC check
high byte 0AH
(computing)
If the slave holds the data in registers 05H and 06H as 1122H and 3344H, the
Slave Return Data (HEX)
slave returns:address code 01H
function code 03H
byte count 04H
high byte 11H
Register 05 (computing)
2) Function code 10H: Write to registers
For example, the master wants to save the data 0005H, 2233H to the slave at
address 01H, and the start register address is
0020H of the 2 registers in which the host sends:
Host sends Data (HEX)
address code 01H
function code 10H
high byte 00H
Start Register (computing)
Address low byte 20H
high byte 00H
Number of (computing)
registers low byte 02H
Number of bytes 04H
written
0000H high byte 00H
Registers to be (computing)
written low byte 05H
0001H high byte 22H
Registers to be (computing)
written low byte 33H
low byte B9H
CRC check
high byte 03H
(computing)
Function code 10H operates and the slave returns:
Slave Return Data (HEX)
address code 01H
function code 10H
high byte 00H
Start Register (computing)
Address low byte 20H
high byte 00H
Number of (computing)
registers low byte 02H
low byte 40H
CRC check
high byte 02H
(computing)
Register MapRegister Map
starting Offset Index data type lengt unit Note
R/W Data Content
address HEX DEC Type hs (of
code Length mea
Address Field sure)
Unit
0x0000 0 UINT32 4 RW Enter sleep voltage VolSmartSleep mV
0x0004 4 UINT32 4 RW Monoblock undervoltage protection mV
VolCellUV
0x0008 8 UINT32 4 RW Monoblock Undervoltage Protection mV
Recovery VolCellUVPR
0x000C 12 UINT32 4 RW Monoblock overcharge protection mV
VolCellOV
0x0010 16 UINT32 4 RW Monoblock Overcharge Protection mV
Recovery Voltage VolCellOVPR
0x0014 20 UINT32 4 RW Trigger equalization differential mV
pressure VolBalanTrig
0x0018 24 UINT32 4 RW SOC-100% Voltage VolSOC100% mV
0x001C 28 UINT32 4 RW SOC-0% Voltage VolSOC0% mV
0x0028 40 UINT32 4 RW Auto Power Off Voltage VolSysPwrOff mV
0x002C 44 UINT32 4 RW Continuous charging current CurBatCOC mA
0x0030 48 UINT32 4 RW Charge overcurrent protection delay S
TIMBatCOCPDly
0x0034 52 UINT32 4 RW Charge overcurrent protection S
deactivated TIMBatCOCPRDly
0x0038 56 UINT32 4 RW Continuous discharge current mA
CurBatDcOC
0x003C 60 UINT32 4 RW Discharge overcurrent protection delay S
TIMBatDcOCPDly
0x0040 64 UINT32 4 RW Discharge overcurrent protection S
release TIMBatDcOCPRDly
0x0044 68 UINT32 4 RW Short circuit protection release S
TIMBatSCPRDly
0x0048 72 UINT32 4 RW Maximum equalization current mA
CurBalanMax
0x004C 76 INT32 4 RW Charge over-temperature protection 0.1°C
TMPBatCOT
0x0050 80 INT32 4 RW Charge Over Temperature Recovery 0.1°C
TMPBatCOTPR
0x0054 84 INT32 4 RW Discharge over-temperature protection 0.1°C
TMPBatDcOT
0x0058 88 INT32 4 RW Discharge overtemperature recovery 0.1°C
TMPBatDcOTPR
0x005C 92 INT32 4 RW Charge Low Temperature Protection 0.1°C
TMPBatCUT
0x0060 96 INT32 4 RW Charge Cryogenic Recovery 0.1°C
TMPBatCUTPR
0x0064 100 INT32 4 RW MOS overtemperature protection 0.1°C
TMPMosOT
0x0068 104 INT32 4 RW MOS Over Temperature Protection 0.1°C
Recovery TMPMosOTPR
0x006C 108 UINT32 4 RW CellCount bunc
h or
cluste
r
0x0070 112 UINT32 4 RW Charge switch BatChargeEN 1: open ; 0: close
0x0074 116 UINT32 4 RW Discharge switch BatDisChargeEN 1: open ; 0: close
0x0078 120 UINT32 4 RW Equalization switch BalanEN 1: open ; 0: close
0x007C 124 UINT32 4 RW Battery Design Capacity CapBatCell mAH
0x0080 128 UINT32 4 RW Short Circuit Protection Delay SCPDelay us
0x0084 132 UINT32 4 RW Equalization Start Voltage VolStartBalan mV
0x0088 136 UINT32 4 RW Connection Wire Internal uΩ
Resistance0CellConWireRes0
0x008C 140 UINT33 4 RW Connection Wire Internal uΩ
Resistance1CellConWireRes1
0x0090 144 UINT34 4 RW Connecting Wire Internal uΩ
Resistance2CellConWireRes2
0x1000 0x0094 148 UINT35 4 RW Connecting Wire Internal uΩ
Resistance3CellConWireRes3
0x0098 152 UINT36 4 RW Connecting Wire Internal uΩ
Resistance4CellConWireRes4
0x009C 156 UINT37 4 RW Connecting Wire Internal uΩ
Resistance5CellConWireRes5
0x00A0 160 UINT38 4 RW Connecting Wire Internal uΩ
Resistance6CellConWireRes6
0x00A4 164 UINT39 4 RW Connecting Wire Internal uΩ
Resistance7CellConWireRes7
0x00A8 168 UINT40 4 RW Connecting Wire Internal uΩ
Resistance8CellConWireRes8
0x00AC 172 UINT41 4 RW Connecting Wire Internal uΩ
Resistance9CellConWireRes9
0x00B0 176 UINT42 4 RW Connecting Wire Internal uΩ
Resistance10CellConWireRes10
0x00B4 180 UINT43 4 RW Connection Wire Internal uΩ
Resistance11CellConWireRes11
0x00B8 184 UINT44 4 RW Connecting Wire Internal uΩ
Resistance12CellConWireRes12
0x00BC 188 UINT45 4 RW Connection Wire Internal uΩ
Resistance13CellConWireRes13
0x00C0 192 UINT46 4 RW Connecting Wire Internal uΩ
Resistance14CellConWireRes14
0x00C4 196 UINT47 4 RW Connecting Wire Internal uΩ
Resistance15CellConWireRes15
0x00C8 200 UINT48 4 RW Connection Wire Internal uΩ
Resistance16CellConWireRes16
0x00CC 204 UINT49 4 RW Connecting Wire Internal uΩ
Resistance17CellConWireRes17
0x00D0 208 UINT50 4 RW Connecting Wire Internal uΩ
Resistance18CellConWireRes18
0x00D4 212 UINT51 4 RW Connection Wire Internal uΩ
Resistance19CellConWireRes19
0x00D8 216 UINT52 4 RW Connecting Wire Internal uΩ
Resistance20CellConWireRes20
0x00DC 220 UINT53 4 RW Connecting Wire Internal uΩ
RW Heat switch HeatEN 1: open ; 0: close BIT0
RW Temperature sensor shielding Disable 1: open ; 0: close BIT1
temp-sensor
0x0114 276 UINT16 2 RW GPS Heartbeat Detection GPS Heartbeat 1: open ; 0: close BIT2
RW Multiplexed Port Functions Port Switch 1: RS485 ; 0: CAN BIT3
RW LCD Always On 1: open ; 0: close BIT4
RW Special Charger RecognitionSpecial Charger 1: open ; 0: close BIT5
RW SmartSleep 1: open ; 0: close BIT6
INT8 RW Battery alarm temperature TMPBatOTA ℃
0x0116 278 INT8 2 RW Battery Alarm Recovery Temperature ℃
TMPBatOTAR
UINT8 RW Smart Sleep Time TIMSmartSleep H
0x0118 280 UINT8 2 R Data field enable control 0
0x0000 0 UINT16 2 R CellVol0CellVol0 mV
0x0002 2 UINT16 2 R Cell Voltage1CellVol1 mV
0x0004 4 UINT16 2 R Cell voltage 2CellVol2 mV
0x0006 6 UINT16 2 R Cell Voltage3CellVol3 mV
0x0008 8 UINT16 2 R CellVol4CellVol4 mV
0x000A 10 UINT16 2 R CellVol5CellVol5 mV
0x000C 12 UINT16 2 R CellVol6CellVol6 mV
0x000E 14 UINT16 2 R CellVol7CellVol7 mV
0x0010 16 UINT16 2 R Cell Voltage8CellVol8 mV
0x0012 18 UINT16 2 R CellVol9CellVol9 mV
0x0014 20 UINT16 2 R CellVol10 mV
0x0016 22 UINT16 2 R CellVol11CellVol11 mV
0x0018 24 UINT16 2 R CellVol12CellVol12 mV
0x001A 26 UINT16 2 R CellVol13CellVol13 mV
0x001C 28 UINT16 2 R CellVol14 mV
0x001E 30 UINT16 2 R CellVol15CellVol15 mV
0x0020 32 UINT16 2 R CellVol16 mV
0x0022 34 UINT16 2 R CellVol17CellVol17 mV
0x0024 36 UINT16 2 R CellVol18 mV
0x0026 38 UINT16 2 R CellVol19 mV
0x0028 40 UINT16 2 R CellVol20 mV
0x002A 42 UINT16 2 R CellVol21CellVol21 mV
0x002C 44 UINT16 2 R CellVol22CellVol22 mV
0x002E 46 UINT16 2 R CellVol23CellVol23 mV
0x0030 48 UINT16 2 R CellVol24CellVol24 mV
0x0032 50 UINT16 2 R CellVol25 mV
0x0034 52 UINT16 2 R CellVol26CellVol26 mV
0x0036 54 UINT16 2 R CellVol27CellVol27 mV
0x0038 56 UINT16 2 R CellVol28CellVol28 mV
0x003A 58 UINT16 2 R CellVol29 mV
0x003C 60 UINT16 2 R CellVol30 mV
0x003E 62 UINT16 2 R CellVol31CellVol31 mV
0x0040 64 UINT32 4 R Battery Status CellSta A BIT[n] of 1 indicates the
presence of this cell
0x0044 68 UINT16 2 R CellVolAve, average voltage of a single mV
unit
0x0046 70 UINT16 2 R Maximum Differential Pressure mV
CellVdifMax
UINT8 R Maximum Voltage Cell Number
0x0048 72 2 MaxVolCellNbr
UINT8 R Minimum Voltage Cell Number
MinVolCellNbr
0x004A 74 UINT16 2 R Equalized Wire Resistance0CellWireRes0 mΩ
0x004C 76 UINT16 2 R Equalized Wire Resistors1CellWireRes1 mΩ
0x004E 78 UINT16 2 R Equalized Wire Resistors2CellWireRes2 mΩ
0x0050 80 UINT16 2 R Equalized Wire Resistors3CellWireRes3 mΩ
0x0052 82 UINT16 2 R Equalized Wire Resistors4CellWireRes4 mΩ
0x0054 84 UINT16 2 R Equalized Wire Resistors5CellWireRes5 mΩ
0x0056 86 UINT16 2 R Equalized Wire Resistors6CellWireRes6 mΩ
0x0058 88 UINT16 2 R Equalized Wire Resistors7CellWireRes7 mΩ
0x005A 90 UINT16 2 R Equalized Wire Resistors8CellWireRes8 mΩ
0x005C 92 UINT16 2 R Equalized Wire Resistors9CellWireRes9 mΩ
0x005E 94 UINT16 2 R Equalized Wire Resistors10CellWireRes10 mΩ
0x0060 96 UINT16 2 R Equalized Wire Resistors11CellWireRes11 mΩ
0x0062 98 UINT16 2 R Equalized Wire Resistors12CellWireRes12 mΩ
0x0064 100 UINT16 2 R Equalized Wire Resistors13CellWireRes13 mΩ
0x0066 102 UINT16 2 R Equalized Wire Resistors14CellWireRes14 mΩ
0x0068 104 UINT16 2 R Equalized Wire Resistors15CellWireRes15 mΩ
0x006A 106 UINT16 2 R Equalized Wire Resistors16CellWireRes16 mΩ
0x006C 108 UINT16 2 R Equalized Wire Resistors17CellWireRes17 mΩ
0x006E 110 UINT16 2 R Equalized Wire Resistors18CellWireRes18 mΩ
0x0070 112 UINT16 2 R Equalized Wire Resistors19CellWireRes19 mΩ
0x0072 114 UINT16 2 R Equalized Wire Resistors20CellWireRes20 mΩ
0x0074 116 UINT16 2 R Equalized Wire Resistors21CellWireRes21 mΩ
0x0076 118 UINT16 2 R Equalized Wire Resistors22CellWireRes22 mΩ
0x0078 120 UINT16 2 R Equalized Wire Resistors23CellWireRes23 mΩ
0x007A 122 UINT16 2 R Equalized Wire Resistors24CellWireRes24 mΩ
0x007C 124 UINT16 2 R Equalized Wire Resistors25CellWireRes25 mΩ
0x007E 126 UINT16 2 R Equalized Wire Resistors26CellWireRes26 mΩ
0x0080 128 UINT16 2 R Equalized Wire Resistors27CellWireRes27 mΩ
0x0082 130 UINT16 2 R Equalized Wire Resistors28CellWireRes28 mΩ
0x0084 132 UINT16 2 R Equalized Wire Resistors29CellWireRes29 mΩ
0x0086 134 UINT16 2 R Equalized Wire Resistors30CellWireRes30 mΩ
0x0088 136 UINT16 2 R Equalized Wire Resistors31CellWireRes31 mΩ
0x008A 138 INT16 2 R Power Plate Temperature TempMos 0.1°C
0x008C 140 UINT32 4 R Equalized Wire Resistance Status A BIT[n] of 1 indicates an
CellWireResSta alarm on this equalization
0x1200 line
0x0090 144 UINT32 4 R Total Battery Voltage BatVol mV
0x0094 148 UINT32 4 R Battery Power BatWatt mW
0x0098 152 INT32 4 R Battery Current BatCurrent mA
0x009C 156 INT16 2 R Battery temperature TempBat 1 0.1°C
0x009E 158 INT16 2 R Battery temperature TempBat 2 0.1°C
Equalization wire resistance is too high 1: fault ; 0: normal BIT0
AlarmWireRes
MOS Over Temperature Protection 1: fault ; 0: normal BIT1
AlarmMosOTP
The number of monomers does not 1: fault ; 0: normal BIT2
match the set value AlarmCellQuantity
Current Sensor Exception 1: fault ; 0: normal BIT3
AlarmCurSensorErr
Monoblock Overvoltage Protection 1: fault ; 0: normal BIT4
AlarmCellOVP
Battery Overvoltage Protection 1: fault ; 0: normal BIT5
AlarmBatOVP
0x00A0 160 UINT32 4 R Charge Overcurrent Protection 1: fault ; 0: normal BIT6
AlarmChOCP
Charge Short Circuit Protection 1: fault ; 0: normal BIT7
AlarmChSCP
Charge Over Temperature Protection 1: fault ; 0: normal BIT8
AlarmChOTP
Charge Cold Protection AlarmChUTP 1: fault ; 0: normal BIT9
Internal communication exception 1: fault ; 0: normal BIT10
AlarmCPUAuxCommuErr
Monoblock Undervoltage Protection 1: fault ; 0: normal BIT11
AlarmCellUVP
GPS Disconnected GPSDisconneted 1: fault ; 0: normal BIT18
Please modify the authorization 1: fault ; 0: normal BIT19
password Modify PWD. in time
Discharge On FailedDischarge On Failed 1: fault ; 0: normal BIT20
Battery Over Temp Alarm 1: fault ; 0: normal BIT21
0x00A4 164 INT16 2 R BalanCurrent mA
UINT8 R Equilibrium BalanSta 2: Discharge; 1: Charge ;
0x00A6 166 2 0: Off
UINT8 R SOCStateOfcharge %
0x00A8 168 INT32 4 R Remaining Capacity SOCCapRemain mAH
0x00AC 172 UINT32 4 R Battery Actual Capacity SOCFullChargeCap mAH
0x00B0 176 UINT32 4 R Cycle Count SOCCycleCount subst
andar
d
0x00B4 180 UINT32 4 R Total Cycle Capacity SOCCycleCap mAH
UINT8 R SOH valuation SOCSOH %
0x00B8 184 UINT8 2 R Precharge 1: open ; 0: close
0x00BA 186 UINT16 2 R UserAlarm
0x00BC 188 UINT32 4 R RunTime S
UINT8 R Charge status Charge 1: open ; 0: close
0x00C0 192 UINT8 2 R Discharge 1: open ; 0: close
0x00C2 194 UINT16 2 R UserAlarm2UserAlarm2
0x00C4 196 UINT16 2 R Discharge overcurrent protection S
release time TimeDcOCPR
0x00C6 198 UINT16 2 R Discharge short circuit protection S
release time TimeDcSCPR
0x00C8 200 UINT16 2 R Charge overcurrent protection release S
time TimeCOCPR
0x00CA 202 UINT16 2 R Charge short circuit protection release S
time TimeCSCPR
0x00CC 204 UINT16 2 R Single unit undervoltage protection S
release time TimeUVPR
0x00CE 206 UINT16 2 R Monoblock overvoltage protection S
release time TimeOVPR
MOS TempSensorMOS TempSensorAbsent BIT0
Battery Temperature Sensor1 1: Normal ; 0: Missing BIT1
BATTempSensor1Absent
0x00D0 208 UINT8 2 R Battery Temperature Sensor2 1: Normal ; 0: Missing BIT2
BATTempSensor2Absent
Battery Temperature Sensor4 1: Normal ; 0: Missing BIT4
BATTempSensor4Absent
Battery Temperature Sensor 5 1: Normal ; 0: Missing BIT5
BATTempSensor5Absent
UINT8 R Heating 1: open ; 0: close
0x00D2 210 UINT16 2 R Reserved
0x00D4 212 UINT16 2 R Emergency switching timeTimeEmergency S
0x00D6 214 UINT16 2 R Battery Current Correction Factor
BatCurCorrect
0x00D8 216 UINT16 2 R Charge Current Sensor Voltage mV
VolChargCur
0x00DA 218 UINT16 2 R Discharge Current Sensor Voltage mV
VolDischargCur
0x00DC 220 FLOAT 4 R Battery Voltage Correction Factor
BatVolCorrect
0x00E0 224 UINT16 2 R Equalize Charge PWM Value %
ChargePWMDutyCyle
0x00E2 226 UINT16 2 R Equalized Discharge PWM Value %
DischargePWMDutyCyle
0x00E4 228 UINT16 2 R Battery Voltage BatVol 0.01V
0x00E6 230 UINT16 2 R HeatCurrent mA
UINT8 R Retention of RVD
0x00EE 238 UINT8 2 R Charger Status ChargerPlugged 1: inserted ; 0: not inserted
0x00F0 240 UINT32 4 R SysRunTicks 0.1S
0x00F4 244 UINT32 4 R PVD Trigger Timestamps PVDTrigTimestamps 0.1S
0x00F8 248 INT16 2 R Battery temperature TempBat 3 0.1°C
0x00FA 250 INT16 2 R Battery temperature TempBat 4 0.1°C
0x00FC 252 INT16 2 R Battery temperature TempBat 5 0.1°C
0x0100 256 UINT32 4 R RTC Counter RTCTicks Starting from 2020-1-1
0x0108 264 UINT32 4 R Enter Sleep TimeEnterSleep S
UINT8 Parallel Current Limiting Module Status 1: open ; 0: close
0x010C 268 2 R PCLModuleSta
UINT8 Retention of RVD
0x0000 0 ASCII 16 R Manufacturer model ManufacturerDeviceID
0x0010 16 ASCII 8 R HardwareVersion
0x1400 0x0018 24 ASCII 8 R SoftwareVersion
0x0020 32 UINT32 4 R Cumulative runtime ODDRunTime S
0x0024 36 UINT32 4 R Power-up times PWROnTimes subst
andar
d
0x0000 0 UINT16 2 W VoltageCalibration 0.1V
0x0002 2 UINT16 2 W Protection board Shutdown
0x0004 4 UINT16 2 W CurrentCalibration 0.1A
0x0006 6 UINT16 2 W One-touch three-element LI-ION
0x1600 0x0008 8 UINT16 2 W One-button lithium iron LIFEPO4
0x000A 10 UINT16 2 W One-touch lithium titanate LTO
0x000C 12 UINT16 2 W Emergency
0x000E 14 UINT32 4 W Timecalibration

You might also like