Changes for page 5.2 Modbus protocol

Last modified by Admin on 2026/04/24 10:30

From version 3.2
edited by Admin
on 2024/11/29 11:25
Change comment: Update document after refactoring.
To version 1.1
edited by Admin
on 2024/11/29 11:21
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -4.2 Modbus protocol
1 +5. Modbus protocol
Parent
... ... @@ -1,1 +1,1 @@
1 -drafts.bms-main-2.protocols.WebHome
1 +drafts.bms-main-2.WebHome
Content
... ... @@ -1,4 +1,4 @@
1 -== 4.2.1 General information ==
1 +== 5.1 General information ==
2 2  
3 3  The BMS Main 2.x device provides the information about the battery system using Modbus protocol. The BMS is a Modbus-server and it responds to the Modbus-client’s commands.
4 4  
... ... @@ -28,17 +28,17 @@
28 28  
29 29  Words are in the **little endian**.
30 30  
31 -== 4.2.2 Input registers ==
31 +== 5.2 Input registers ==
32 32  
33 -|(% style="width:137px" %)**Register address**|(% style="width:139px" %)**Number of registers**|(% style="width:805px" %)**Content**|(% style="width:124px" %)**Type**
34 -|(% style="width:137px" %)**0x0000**|(% style="width:139px" %)1|(% style="width:805px" %)(((
33 +|**Register address**|(% style="width:166px" %)**Number of registers**|(% style="width:999px" %)**Content**|(% style="width:145px" %)**Type**
34 +|**0x0000**|(% style="width:166px" %)1|(% style="width:999px" %)(((
35 35  Hardware version:
36 36  
37 37  byte 0 — minor;
38 38  
39 39  byte 1 — major.
40 -)))|(% style="width:124px" %)U8[2]
41 -|(% style="width:137px" %)**0x0001-0x0002**|(% style="width:139px" %)2|(% style="width:805px" %)(((
40 +)))|(% style="width:145px" %)U8[2]
41 +|**0x0001-0x0002**|(% style="width:166px" %)2|(% style="width:999px" %)(((
42 42  Firmware version:
43 43  
44 44  byte 0 — patch;
... ... @@ -48,8 +48,8 @@
48 48  byte 2 — major;
49 49  
50 50  byte 3 — not used (set to 0).
51 -)))|(% style="width:124px" %)U8[4]
52 -|(% style="width:137px" %)**0x0003-0x0004**|(% style="width:139px" %)2|(% style="width:805px" %)(((
51 +)))|(% style="width:145px" %)U8[4]
52 +|**0x0003-0x0004**|(% style="width:166px" %)2|(% style="width:999px" %)(((
53 53  Bootloader version:
54 54  
55 55  byte 0 — patch;
... ... @@ -59,8 +59,8 @@
59 59  byte 2 — major;
60 60  
61 61  byte 3 — not used (set to 0).
62 -)))|(% style="width:124px" %)U8[4]
63 -|(% style="width:137px" %)**0x1000-0x1003**|(% style="width:139px" %)3|(% style="width:805px" %)(((
62 +)))|(% style="width:145px" %)U8[4]
63 +|**0x1000-0x1003**|(% style="width:166px" %)3|(% style="width:999px" %)(((
64 64  Current time on the device clock:
65 65  
66 66  byte 0 — day (BCD);
... ... @@ -74,8 +74,8 @@
74 74  byte 4 — minutes (BCD);
75 75  
76 76  byte 5 — seconds (BCD).
77 -)))|(% style="width:124px" %)U8[6]
78 -|(% style="width:137px" %)**0x2000**|(% style="width:139px" %)1|(% style="width:805px" %)(((
77 +)))|(% style="width:145px" %)U8[6]
78 +|**0x2000**|(% style="width:166px" %)1|(% style="width:999px" %)(((
79 79  Discrete input signals 1 (bitfield):
80 80  
81 81  bit 0 — "Battery cover";
... ... @@ -109,11 +109,11 @@
109 109  bit 14 – “Interlock”;
110 110  
111 111  bit 15 – “Fuse 1”.
112 -)))|(% style="width:124px" %)U16
113 -|(% style="width:137px" %)**0x2001-0x2002**|(% style="width:139px" %)2|(% style="width:805px" %)Current measured by the primary sensor, А|(% style="width:124px" %)REAL32
114 -|(% style="width:137px" %)**0x2003-0x2004**|(% style="width:139px" %)2|(% style="width:805px" %)External temperature, °C|(% style="width:124px" %)REAL32
115 -|(% style="width:137px" %)**0x2005-0x2006**|(% style="width:139px" %)2|(% style="width:805px" %)Humidity, RH%|(% style="width:124px" %)REAL32
116 -|(% style="width:137px" %)**0x2007-0x2008**|(% style="width:139px" %)2|(% style="width:805px" %)(((
112 +)))|(% style="width:145px" %)U16
113 +|**0x2001-0x2002**|(% style="width:166px" %)2|(% style="width:999px" %)Current measured by the primary sensor, А|(% style="width:145px" %)REAL32
114 +|**0x2003-0x2004**|(% style="width:166px" %)2|(% style="width:999px" %)External temperature, °C|(% style="width:145px" %)REAL32
115 +|**0x2005-0x2006**|(% style="width:166px" %)2|(% style="width:999px" %)Humidity, RH%|(% style="width:145px" %)REAL32
116 +|**0x2007-0x2008**|(% style="width:166px" %)2|(% style="width:999px" %)(((
117 117  Errors 1 (bitfield):
118 118  
119 119  bit 0 – “Overcurrent”;
... ... @@ -177,8 +177,8 @@
177 177  bit 29 – “Spirit offline”, connection with the Spirit truck is lost;
178 178  
179 179  bits 30–31 – reserved.
180 -)))|(% style="width:124px" %)U32
181 -|(% style="width:137px" %)**0x2009-0x200A**|(% style="width:139px" %)2|(% style="width:805px" %)(((
180 +)))|(% style="width:145px" %)U32
181 +|**0x2009-0x200A**|(% style="width:166px" %)2|(% style="width:999px" %)(((
182 182  Internal signals (bitfield):
183 183  
184 184  bit 0 — "Low SOC";
... ... @@ -234,8 +234,8 @@
234 234  bit 25 – “Power up”;
235 235  
236 236  bits 26-31 – reserved.
237 -)))|(% style="width:124px" %)U32
238 -|(% style="width:137px" %)**0x200B**|(% style="width:139px" %)1|(% style="width:805px" %)(((
237 +)))|(% style="width:145px" %)U32
238 +|**0x200B**|(% style="width:166px" %)1|(% style="width:999px" %)(((
239 239  Discrete output signals (bitfield):
240 240  
241 241  bit 0 — state of the output #1;
... ... @@ -247,8 +247,8 @@
247 247  bit 3 — state of the output #4;
248 248  
249 249  bits 4-15 — not used.
250 -)))|(% style="width:124px" %)U16
251 -|(% style="width:137px" %)**0x200C**|(% style="width:139px" %)1|(% style="width:805px" %)(((
250 +)))|(% style="width:145px" %)U16
251 +|**0x200C**|(% style="width:166px" %)1|(% style="width:999px" %)(((
252 252  Relay states (bitfield):
253 253  
254 254  bit 0 — state of the relay #1;
... ... @@ -260,8 +260,8 @@
260 260  bit 3 — state of the relay #4;
261 261  
262 262  bits 4-15 — not used.
263 -)))|(% style="width:124px" %)U16
264 -|(% style="width:137px" %)**0x200E**|(% style="width:139px" %)2|(% style="width:805px" %)(((
263 +)))|(% style="width:145px" %)U16
264 +|**0x200E**|(% style="width:166px" %)2|(% style="width:999px" %)(((
265 265  Errors 2 (bitfield):
266 266  
267 267  bit 0 – "Low CH temperature", temperature is too low for charging;
... ... @@ -293,9 +293,9 @@
293 293  bit 13 – “General error”;
294 294  
295 295  bits 14-31 — reserved.
296 -)))|(% style="width:124px" %)U32
297 -|(% style="width:137px" %)**0x2010**|(% style="width:139px" %)1|(% style="width:805px" %)Address or the BMS Logic device whose parameters are in registers 0x2011-0x20C9|(% style="width:124px" %)U16
298 -|(% style="width:137px" %)**0x2011**|(% style="width:139px" %)1|(% style="width:805px" %)(((
296 +)))|(% style="width:145px" %)U32
297 +|**0x2010**|(% style="width:166px" %)1|(% style="width:999px" %)Address or the BMS Logic device whose parameters are in registers 0x2011-0x20C9|(% style="width:145px" %)U16
298 +|**0x2011**|(% style="width:166px" %)1|(% style="width:999px" %)(((
299 299  State of the BMS Logic (bitfield):
300 300  
301 301  bit 0 — device is present;
... ... @@ -315,14 +315,14 @@
315 315  bit 7 — temperature sensor #2 is shorted;
316 316  
317 317  bits 8-15 — reserved.
318 -)))|(% style="width:124px" %)U16
319 -|(% style="width:137px" %)**0x2012-0x2013**|(% style="width:139px" %)2|(% style="width:805px" %)Temperature of the BMS Logic, °C|(% style="width:124px" %)REAL32
320 -|(% style="width:137px" %)**0x2014-0x2015**|(% style="width:139px" %)2|(% style="width:805px" %)(((
318 +)))|(% style="width:145px" %)U16
319 +|**0x2012-0x2013**|(% style="width:166px" %)2|(% style="width:999px" %)Temperature of the BMS Logic, °C|(% style="width:145px" %)REAL32
320 +|**0x2014-0x2015**|(% style="width:166px" %)2|(% style="width:999px" %)(((
321 321  Cell balancing flags (bitfield):
322 322  
323 323  bit i — balancing resistor is connected to the i^^th^^ cell.
324 -)))|(% style="width:124px" %)U32
325 -|(% style="width:137px" %)**0x2016-0x2029**|(% style="width:139px" %)20|(% style="width:805px" %)(((
324 +)))|(% style="width:145px" %)U32
325 +|**0x2016-0x2029**|(% style="width:166px" %)20|(% style="width:999px" %)(((
326 326  Array of cells states. Each element of the array corresponds to a cell and is a bitfield:
327 327  
328 328  bit 0 — cell is present;
... ... @@ -338,12 +338,12 @@
338 338  bit 5 — wires are connected to the cell;
339 339  
340 340  bits 6-15 — reserved.
341 -)))|(% style="width:124px" %)U16[20]
342 -|(% style="width:137px" %)**0x202A-0x2051**|(% style="width:139px" %)40|(% style="width:805px" %)Array of cells voltages (V)|(% style="width:124px" %)REAL32[20]
343 -|(% style="width:137px" %)**0x2052-0x2079**|(% style="width:139px" %)40|(% style="width:805px" %)Array of cells temperatures (°C)|(% style="width:124px" %)REAL32[20]
344 -|(% style="width:137px" %)**0x207A-0x20A1**|(% style="width:139px" %)40|(% style="width:805px" %)Array of cells SOCs ~(%)|(% style="width:124px" %)REAL32[20]
345 -|(% style="width:137px" %)**0x20A2-0x20C9**|(% style="width:139px" %)40|(% style="width:805px" %)Array of cells resistances (Ohm)|(% style="width:124px" %)REAL32[20]
346 -|(% style="width:137px" %)**0x20F4**|(% style="width:139px" %)1|(% style="width:805px" %)(((
341 +)))|(% style="width:145px" %)U16[20]
342 +|**0x202A-0x2051**|(% style="width:166px" %)40|(% style="width:999px" %)Array of cells voltages (V)|(% style="width:145px" %)REAL32[20]
343 +|**0x2052-0x2079**|(% style="width:166px" %)40|(% style="width:999px" %)Array of cells temperatures (°C)|(% style="width:145px" %)REAL32[20]
344 +|**0x207A-0x20A1**|(% style="width:166px" %)40|(% style="width:999px" %)Array of cells SOCs ~(%)|(% style="width:145px" %)REAL32[20]
345 +|**0x20A2-0x20C9**|(% style="width:166px" %)40|(% style="width:999px" %)Array of cells resistances (Ohm)|(% style="width:145px" %)REAL32[20]
346 +|**0x20F4**|(% style="width:166px" %)1|(% style="width:999px" %)(((
347 347  Discrete input signals 2 (bitfield):
348 348  
349 349  bit 0 – “Fuse 2”;
... ... @@ -353,78 +353,78 @@
353 353  bit 2 – “Circuit breaker status”;
354 354  
355 355  bits 3-15 – reserved.
356 -)))|(% style="width:124px" %)U16
357 -|(% style="width:137px" %)**0x2100-0x2101**|(% style="width:139px" %)2|(% style="width:805px" %)Battery state of charge (SOC), %|(% style="width:124px" %)REAL32
358 -|(% style="width:137px" %)**0x2102**|(% style="width:139px" %)1|(% style="width:805px" %)Number of BMS Logic devices|(% style="width:124px" %)U16
359 -|(% style="width:137px" %)**0x2103**|(% style="width:139px" %)1|(% style="width:805px" %)Number of cells|(% style="width:124px" %)U16
360 -|(% style="width:137px" %)**0x2104-0x2105**|(% style="width:139px" %)2|(% style="width:805px" %)Battery voltage, V|(% style="width:124px" %)REAL32
361 -|(% style="width:137px" %)**0x2106-0x2107**|(% style="width:139px" %)2|(% style="width:805px" %)Battery resistance, Ohm|(% style="width:124px" %)REAL32
362 -|(% style="width:137px" %)**0x2108-0x2109**|(% style="width:139px" %)2|(% style="width:805px" %)Effective capacity, A×h|(% style="width:124px" %)REAL32
363 -|(% style="width:137px" %)**0x210A-0x210B**|(% style="width:139px" %)2|(% style="width:805px" %)Balancing effectivity, %|(% style="width:124px" %)REAL32
364 -|(% style="width:137px" %)**0x210C-0x210D**|(% style="width:139px" %)2|(% style="width:805px" %)State of health, %|(% style="width:124px" %)REAL32
365 -|(% style="width:137px" %)**0x210E-0x210F**|(% style="width:139px" %)2|(% style="width:805px" %)Depth of discharge, A×h|(% style="width:124px" %)REAL32
366 -|(% style="width:137px" %)**0x2110-0x2111**|(% style="width:139px" %)2|(% style="width:805px" %)Minimum BMS Logic temperature|(% style="width:124px" %)REAL32
367 -|(% style="width:137px" %)**0x2112**|(% style="width:139px" %)1|(% style="width:805px" %)Address of the BMS Logic device whose temperature is minimal|(% style="width:124px" %)U16
368 -|(% style="width:137px" %)**0x2113-0x2114**|(% style="width:139px" %)2|(% style="width:805px" %)Maximum BMS Logic temperature|(% style="width:124px" %)REAL32
369 -|(% style="width:137px" %)**0x2115**|(% style="width:139px" %)1|(% style="width:805px" %)Address of the BMS Logic device whose temperature is maximal|(% style="width:124px" %)U16
370 -|(% style="width:137px" %)**0x2116-0x2117**|(% style="width:139px" %)2|(% style="width:805px" %)BMS Logic polling rate, commands pre second|(% style="width:124px" %)REAL32
371 -|(% style="width:137px" %)**0x2118-0x2119**|(% style="width:139px" %)2|(% style="width:805px" %)Minimum cell temperature|(% style="width:124px" %)REAL32
372 -|(% style="width:137px" %)**0x211A**|(% style="width:139px" %)1|(% style="width:805px" %)Address of the BMS Logic device which is connected to the cell whose temperature is minimal|(% style="width:124px" %)U16
373 -|(% style="width:137px" %)**0x211B**|(% style="width:139px" %)1|(% style="width:805px" %)Position of the cell whose temperature is minimal|(% style="width:124px" %)U16
374 -|(% style="width:137px" %)**0x211C-0x211D**|(% style="width:139px" %)2|(% style="width:805px" %)Maximum cell temperature|(% style="width:124px" %)REAL32
375 -|(% style="width:137px" %)**0x211E**|(% style="width:139px" %)1|(% style="width:805px" %)Address of the BMS Logic device which is connected to the cell whose temperature is maximal|(% style="width:124px" %)U16
376 -|(% style="width:137px" %)**0x211F**|(% style="width:139px" %)1|(% style="width:805px" %)Position of the cell whose temperature is maximal|(% style="width:124px" %)U16
377 -|(% style="width:137px" %)**0x2120-0x2121**|(% style="width:139px" %)2|(% style="width:805px" %)Minimum cell voltage|(% style="width:124px" %)REAL32
378 -|(% style="width:137px" %)**0x2122**|(% style="width:139px" %)1|(% style="width:805px" %)Address of the BMS Logic device which is connected to the cell whose voltage is minimal|(% style="width:124px" %)U16
379 -|(% style="width:137px" %)**0x2123**|(% style="width:139px" %)1|(% style="width:805px" %)Position of the cell whose voltage is minimal|(% style="width:124px" %)U16
380 -|(% style="width:137px" %)**0x2124-0x2125**|(% style="width:139px" %)2|(% style="width:805px" %)Maximum cell voltage|(% style="width:124px" %)REAL32
381 -|(% style="width:137px" %)**0x2126**|(% style="width:139px" %)1|(% style="width:805px" %)Address of the BMS Logic device which is connected to the cell whose voltage is maximal|(% style="width:124px" %)U16
382 -|(% style="width:137px" %)**0x2127**|(% style="width:139px" %)1|(% style="width:805px" %)Position of the cell whose voltage is maximal|(% style="width:124px" %)U16
383 -|(% style="width:137px" %)**0x2128**|(% style="width:139px" %)1|(% style="width:805px" %)(((
356 +)))|(% style="width:145px" %)U16
357 +|**0x2100-0x2101**|(% style="width:166px" %)2|(% style="width:999px" %)Battery state of charge (SOC), %|(% style="width:145px" %)REAL32
358 +|**0x2102**|(% style="width:166px" %)1|(% style="width:999px" %)Number of BMS Logic devices|(% style="width:145px" %)U16
359 +|**0x2103**|(% style="width:166px" %)1|(% style="width:999px" %)Number of cells|(% style="width:145px" %)U16
360 +|**0x2104-0x2105**|(% style="width:166px" %)2|(% style="width:999px" %)Battery voltage, V|(% style="width:145px" %)REAL32
361 +|**0x2106-0x2107**|(% style="width:166px" %)2|(% style="width:999px" %)Battery resistance, Ohm|(% style="width:145px" %)REAL32
362 +|**0x2108-0x2109**|(% style="width:166px" %)2|(% style="width:999px" %)Effective capacity, A×h|(% style="width:145px" %)REAL32
363 +|**0x210A-0x210B**|(% style="width:166px" %)2|(% style="width:999px" %)Balancing effectivity, %|(% style="width:145px" %)REAL32
364 +|**0x210C-0x210D**|(% style="width:166px" %)2|(% style="width:999px" %)State of health, %|(% style="width:145px" %)REAL32
365 +|**0x210E-0x210F**|(% style="width:166px" %)2|(% style="width:999px" %)Depth of discharge, A×h|(% style="width:145px" %)REAL32
366 +|**0x2110-0x2111**|(% style="width:166px" %)2|(% style="width:999px" %)Minimum BMS Logic temperature|(% style="width:145px" %)REAL32
367 +|**0x2112**|(% style="width:166px" %)1|(% style="width:999px" %)Address of the BMS Logic device whose temperature is minimal|(% style="width:145px" %)U16
368 +|**0x2113-0x2114**|(% style="width:166px" %)2|(% style="width:999px" %)Maximum BMS Logic temperature|(% style="width:145px" %)REAL32
369 +|**0x2115**|(% style="width:166px" %)1|(% style="width:999px" %)Address of the BMS Logic device whose temperature is maximal|(% style="width:145px" %)U16
370 +|**0x2116-0x2117**|(% style="width:166px" %)2|(% style="width:999px" %)BMS Logic polling rate, commands pre second|(% style="width:145px" %)REAL32
371 +|**0x2118-0x2119**|(% style="width:166px" %)2|(% style="width:999px" %)Minimum cell temperature|(% style="width:145px" %)REAL32
372 +|**0x211A**|(% style="width:166px" %)1|(% style="width:999px" %)Address of the BMS Logic device which is connected to the cell whose temperature is minimal|(% style="width:145px" %)U16
373 +|**0x211B**|(% style="width:166px" %)1|(% style="width:999px" %)Position of the cell whose temperature is minimal|(% style="width:145px" %)U16
374 +|**0x211C-0x211D**|(% style="width:166px" %)2|(% style="width:999px" %)Maximum cell temperature|(% style="width:145px" %)REAL32
375 +|**0x211E**|(% style="width:166px" %)1|(% style="width:999px" %)Address of the BMS Logic device which is connected to the cell whose temperature is maximal|(% style="width:145px" %)U16
376 +|**0x211F**|(% style="width:166px" %)1|(% style="width:999px" %)Position of the cell whose temperature is maximal|(% style="width:145px" %)U16
377 +|**0x2120-0x2121**|(% style="width:166px" %)2|(% style="width:999px" %)Minimum cell voltage|(% style="width:145px" %)REAL32
378 +|**0x2122**|(% style="width:166px" %)1|(% style="width:999px" %)Address of the BMS Logic device which is connected to the cell whose voltage is minimal|(% style="width:145px" %)U16
379 +|**0x2123**|(% style="width:166px" %)1|(% style="width:999px" %)Position of the cell whose voltage is minimal|(% style="width:145px" %)U16
380 +|**0x2124-0x2125**|(% style="width:166px" %)2|(% style="width:999px" %)Maximum cell voltage|(% style="width:145px" %)REAL32
381 +|**0x2126**|(% style="width:166px" %)1|(% style="width:999px" %)Address of the BMS Logic device which is connected to the cell whose voltage is maximal|(% style="width:145px" %)U16
382 +|**0x2127**|(% style="width:166px" %)1|(% style="width:999px" %)Position of the cell whose voltage is maximal|(% style="width:145px" %)U16
383 +|**0x2128**|(% style="width:166px" %)1|(% style="width:999px" %)(((
384 384  Error flag:
385 385  
386 386  0 — no errors;
387 387  
388 388  1 — there are some errors.
389 -)))|(% style="width:124px" %)U16
390 -|(% style="width:137px" %)**0x2130-0x2131**|(% style="width:139px" %)2|(% style="width:805px" %)Energy received from the charger, W×h|(% style="width:124px" %)REAL32
391 -|(% style="width:137px" %)**0x2132-0x2133**|(% style="width:139px" %)2|(% style="width:805px" %)Energy consumed by the load, W×h|(% style="width:124px" %)REAL32
392 -|(% style="width:137px" %)**0x2134-0x2135**|(% style="width:139px" %)2|(% style="width:805px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:124px" %)REAL32
393 -|(% style="width:137px" %)**0x2140**|(% style="width:139px" %)1|(% style="width:805px" %)(((
389 +)))|(% style="width:145px" %)U16
390 +|**0x2130-0x2131**|(% style="width:166px" %)2|(% style="width:999px" %)Energy received from the charger, W×h|(% style="width:145px" %)REAL32
391 +|**0x2132-0x2133**|(% style="width:166px" %)2|(% style="width:999px" %)Energy consumed by the load, W×h|(% style="width:145px" %)REAL32
392 +|**0x2134-0x2135**|(% style="width:166px" %)2|(% style="width:999px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:145px" %)REAL32
393 +|**0x2140**|(% style="width:166px" %)1|(% style="width:999px" %)(((
394 394  SD-card mounting flag:
395 395  
396 396  0 — not mounted;
397 397  
398 398  1 — mounted.
399 -)))|(% style="width:124px" %)U16
400 -|(% style="width:137px" %)**0x2141**|(% style="width:139px" %)1|(% style="width:805px" %)Reserved|(% style="width:124px" %)U16
401 -|(% style="width:137px" %)**0x2142**|(% style="width:139px" %)1|(% style="width:805px" %)Reserved|(% style="width:124px" %)U16
402 -|(% style="width:137px" %)**0x2170**|(% style="width:139px" %)1|(% style="width:805px" %)(((
399 +)))|(% style="width:145px" %)U16
400 +|**0x2141**|(% style="width:166px" %)1|(% style="width:999px" %)Reserved|(% style="width:145px" %)U16
401 +|**0x2142**|(% style="width:166px" %)1|(% style="width:999px" %)Reserved|(% style="width:145px" %)U16
402 +|**0x2170**|(% style="width:166px" %)1|(% style="width:999px" %)(((
403 403  Wi-Fi connection status:
404 404  
405 405  0 — no connection;
406 406  
407 407  1 — connection is established.
408 -)))|(% style="width:124px" %)U16
409 -|(% style="width:137px" %)**0x2171-0x2172**|(% style="width:139px" %)2|(% style="width:805px" %)IP-address in the Wi-Fi network|(% style="width:124px" %)U8[4]
410 -|(% style="width:137px" %)**0x2173-0x2175**|(% style="width:139px" %)3|(% style="width:805px" %)MAC-address of the Wi-Fi module|(% style="width:124px" %)U8[6]
411 -|(% style="width:137px" %)**0x2179-0x217A**|(% style="width:139px" %)2|(% style="width:805px" %)Instant effective capacity, A×h|(% style="width:124px" %)REAL32
412 -|(% style="width:137px" %)**0x217B-0x217C**|(% style="width:139px" %)2|(% style="width:805px" %)Coulomb received from the charger, A×h|(% style="width:124px" %)REAL32
413 -|(% style="width:137px" %)**0x217D-0x217E**|(% style="width:139px" %)2|(% style="width:805px" %)Coulomb consumed by the load, A×h|(% style="width:124px" %)REAL32
414 -|(% style="width:137px" %)**0x217F-0x2180**|(% style="width:139px" %)2|(% style="width:805px" %)Ethernet IP-address|(% style="width:124px" %)U8[4]
415 -|(% style="width:137px" %)**0x2181-0x2182**|(% style="width:139px" %)2|(% style="width:805px" %)Ethernet netmask|(% style="width:124px" %)U8[4]
416 -|(% style="width:137px" %)**0x2183-0x2184**|(% style="width:139px" %)2|(% style="width:805px" %)Ethernet gateway|(% style="width:124px" %)U8[4]
417 -|(% style="width:137px" %)**0x2185-0x2186**|(% style="width:139px" %)2|(% style="width:805px" %)Calibrated voltage in the reference line of the current sensor, V|(% style="width:124px" %)REAL32
418 -|(% style="width:137px" %)**0x218E**|(% style="width:139px" %)2|(% style="width:805px" %)Voltage from the current sensor, V|(% style="width:124px" %)REAL32
419 -|(% style="width:137px" %)**0x2190**|(% style="width:139px" %)2|(% style="width:805px" %)Voltage in the reference line of the current sensor, V|(% style="width:124px" %)REAL32
420 -|(% style="width:137px" %)**0x2192**|(% style="width:139px" %)2|(% style="width:805px" %)Voltage from the auxiliary current sensor, V|(% style="width:124px" %)REAL32
421 -|(% style="width:137px" %)**0x2194**|(% style="width:139px" %)2|(% style="width:805px" %)Voltage in the reference line of the auxiliary current sensor, V|(% style="width:124px" %)REAL32
422 -|(% style="width:137px" %)**0x219F**|(% style="width:139px" %)2|(% style="width:805px" %)Charge current limit, A|(% style="width:124px" %)REAL32
423 -|(% style="width:137px" %)**0x21A1**|(% style="width:139px" %)2|(% style="width:805px" %)Discharge current limit, A|(% style="width:124px" %)REAL32
424 -|(% style="width:137px" %)**0x21B8**|(% style="width:139px" %)1|(% style="width:805px" %)Flag indicating that the cells are balancing|(% style="width:124px" %)U16
425 -|(% style="width:137px" %)**0x21C6**|(% style="width:139px" %)2|(% style="width:805px" %)Calibrated voltage in the reference line of the auxiliary current sensor, V|(% style="width:124px" %)REAL32
426 -|(% style="width:137px" %)**0x21CA**|(% style="width:139px" %)2|(% style="width:805px" %)Average cell voltage, V|(% style="width:124px" %)REAL32
427 -|(% style="width:137px" %)**0x2200-0x2203**|(% style="width:139px" %)4|(% style="width:805px" %)(((
408 +)))|(% style="width:145px" %)U16
409 +|**0x2171-0x2172**|(% style="width:166px" %)2|(% style="width:999px" %)IP-address in the Wi-Fi network|(% style="width:145px" %)U8[4]
410 +|**0x2173-0x2175**|(% style="width:166px" %)3|(% style="width:999px" %)MAC-address of the Wi-Fi module|(% style="width:145px" %)U8[6]
411 +|**0x2179-0x217A**|(% style="width:166px" %)2|(% style="width:999px" %)Instant effective capacity, A×h|(% style="width:145px" %)REAL32
412 +|**0x217B-0x217C**|(% style="width:166px" %)2|(% style="width:999px" %)Coulomb received from the charger, A×h|(% style="width:145px" %)REAL32
413 +|**0x217D-0x217E**|(% style="width:166px" %)2|(% style="width:999px" %)Coulomb consumed by the load, A×h|(% style="width:145px" %)REAL32
414 +|**0x217F-0x2180**|(% style="width:166px" %)2|(% style="width:999px" %)Ethernet IP-address|(% style="width:145px" %)U8[4]
415 +|**0x2181-0x2182**|(% style="width:166px" %)2|(% style="width:999px" %)Ethernet netmask|(% style="width:145px" %)U8[4]
416 +|**0x2183-0x2184**|(% style="width:166px" %)2|(% style="width:999px" %)Ethernet gateway|(% style="width:145px" %)U8[4]
417 +|**0x2185-0x2186**|(% style="width:166px" %)2|(% style="width:999px" %)Calibrated voltage in the reference line of the current sensor, V|(% style="width:145px" %)REAL32
418 +|**0x218E**|(% style="width:166px" %)2|(% style="width:999px" %)Voltage from the current sensor, V|(% style="width:145px" %)REAL32
419 +|**0x2190**|(% style="width:166px" %)2|(% style="width:999px" %)Voltage in the reference line of the current sensor, V|(% style="width:145px" %)REAL32
420 +|**0x2192**|(% style="width:166px" %)2|(% style="width:999px" %)Voltage from the auxiliary current sensor, V|(% style="width:145px" %)REAL32
421 +|**0x2194**|(% style="width:166px" %)2|(% style="width:999px" %)Voltage in the reference line of the auxiliary current sensor, V|(% style="width:145px" %)REAL32
422 +|**0x219F**|(% style="width:166px" %)2|(% style="width:999px" %)Charge current limit, A|(% style="width:145px" %)REAL32
423 +|**0x21A1**|(% style="width:166px" %)2|(% style="width:999px" %)Discharge current limit, A|(% style="width:145px" %)REAL32
424 +|**0x21B8**|(% style="width:166px" %)1|(% style="width:999px" %)Flag indicating that the cells are balancing|(% style="width:145px" %)U16
425 +|**0x21C6**|(% style="width:166px" %)2|(% style="width:999px" %)Calibrated voltage in the reference line of the auxiliary current sensor, V|(% style="width:145px" %)REAL32
426 +|**0x21CA**|(% style="width:166px" %)2|(% style="width:999px" %)Average cell voltage, V|(% style="width:145px" %)REAL32
427 +|**0x2200-0x2203**|(% style="width:166px" %)4|(% style="width:999px" %)(((
428 428  Record #1 from the errors journal. First 32-bit word contains a timestamp, second 32-bit word contains errors 1 flags (see 0x2007-0x2008).
429 429  
430 430  Timestamp format:
... ... @@ -440,22 +440,22 @@
440 440  bits 20-25 — minutes;
441 441  
442 442  bits 26-31 — seconds.
443 -)))|(% style="width:124px" %)U32[2]
444 -|(% style="width:137px" %)**0x2204-0x2207**|(% style="width:139px" %)4|(% style="width:805px" %)Record #2 from the errors journal|(% style="width:124px" %)U32[2]
445 -|(% style="width:137px" %)**0x2208-0x227B**|(% style="width:139px" %) |(% style="width:805px" %)Records #3-31 from the errors journal|(% style="width:124px" %)
446 -|(% style="width:137px" %)**0x227C-0x227F**|(% style="width:139px" %)4|(% style="width:805px" %)Record #32 from the errors journal|(% style="width:124px" %)U32[2]
447 -|(% style="width:137px" %)**0x2300**|(% style="width:139px" %)1|(% style="width:805px" %)Number of the last record from the errors journal (1..32)|(% style="width:124px" %)U16
448 -|(% style="width:137px" %)**0x2380**|(% style="width:139px" %)4|(% style="width:805px" %)Record data #1 from the errors journal. First 32-bit word contains errors 2 flags (see 0x200E-0x200F).|(% style="width:124px" %)U32[2]
449 -|(% style="width:137px" %)**0x2384-0x2387**|(% style="width:139px" %)4|(% style="width:805px" %)Record data #2 from the errors journal|(% style="width:124px" %)U32[2]
450 -|(% style="width:137px" %)**0x2388-0x23FB**|(% style="width:139px" %) |(% style="width:805px" %)Records data #3-31 from the errors journal|(% style="width:124px" %)
451 -|(% style="width:137px" %)**0x23FC-0x23FF**|(% style="width:139px" %)4|(% style="width:805px" %)Record data #32 from the errors journal|(% style="width:124px" %)U32[2]
452 -|(% style="width:137px" %)**0x2400**|(% style="width:139px" %)2|(% style="width:805px" %)Current measured by the auxiliary current sensor, A|(% style="width:124px" %)REAL32
453 -|(% style="width:137px" %)**0x2402**|(% style="width:139px" %)2|(% style="width:805px" %)(((
443 +)))|(% style="width:145px" %)U32[2]
444 +|**0x2204-0x2207**|(% style="width:166px" %)4|(% style="width:999px" %)Record #2 from the errors journal|(% style="width:145px" %)U32[2]
445 +|**0x2208-0x227B**|(% style="width:166px" %) |(% style="width:999px" %)Records #3-31 from the errors journal|(% style="width:145px" %)
446 +|**0x227C-0x227F**|(% style="width:166px" %)4|(% style="width:999px" %)Record #32 from the errors journal|(% style="width:145px" %)U32[2]
447 +|**0x2300**|(% style="width:166px" %)1|(% style="width:999px" %)Number of the last record from the errors journal (1..32)|(% style="width:145px" %)U16
448 +|**0x2380**|(% style="width:166px" %)4|(% style="width:999px" %)Record data #1 from the errors journal. First 32-bit word contains errors 2 flags (see 0x200E-0x200F).|(% style="width:145px" %)U32[2]
449 +|**0x2384-0x2387**|(% style="width:166px" %)4|(% style="width:999px" %)Record data #2 from the errors journal|(% style="width:145px" %)U32[2]
450 +|**0x2388-0x23FB**|(% style="width:166px" %) |(% style="width:999px" %)Records data #3-31 from the errors journal|(% style="width:145px" %)
451 +|**0x23FC-0x23FF**|(% style="width:166px" %)4|(% style="width:999px" %)Record data #32 from the errors journal|(% style="width:145px" %)U32[2]
452 +|**0x2400**|(% style="width:166px" %)2|(% style="width:999px" %)Current measured by the auxiliary current sensor, A|(% style="width:145px" %)REAL32
453 +|**0x2402**|(% style="width:166px" %)2|(% style="width:999px" %)(((
454 454  Final battery current, A
455 455  
456 456  Note — Typically it is the sum of the values measured by the main and auxiliary current sensors
457 -)))|(% style="width:124px" %)REAL32
458 -|(% style="width:137px" %)**0x2410**|(% style="width:139px" %)1|(% style="width:805px" %)(((
457 +)))|(% style="width:145px" %)REAL32
458 +|**0x2410**|(% style="width:166px" %)1|(% style="width:999px" %)(((
459 459  Battery state:
460 460  
461 461  0 – Unknown;
... ... @@ -471,15 +471,15 @@
471 471  5 – Discharging OFF;
472 472  
473 473  6 – Relaxed (after discharging).
474 -)))|(% style="width:124px" %)U16
475 -|(% style="width:137px" %)**0x2411**|(% style="width:139px" %)2|(% style="width:805px" %)Duration of the battery state (0x2410), seconds|(% style="width:124px" %)U32
476 -|(% style="width:137px" %)**0x2420**|(% style="width:139px" %)2|(% style="width:805px" %)Nominal battery capacity, A×h|(% style="width:124px" %)REAL32
477 -|(% style="width:137px" %)**0x2422**|(% style="width:139px" %)2|(% style="width:805px" %)Maximum charge voltage, V|(% style="width:124px" %)REAL32
478 -|(% style="width:137px" %)**0x2424**|(% style="width:139px" %)2|(% style="width:805px" %)Minimum discharge voltage, V|(% style="width:124px" %)REAL32
479 -|(% style="width:137px" %)**0x2426**|(% style="width:139px" %)2|(% style="width:805px" %)Maximum charge current, A|(% style="width:124px" %)REAL32
480 -|(% style="width:137px" %)**0x2428**|(% style="width:139px" %)2|(% style="width:805px" %)Maximum discharge current, A|(% style="width:124px" %)REAL32
474 +)))|(% style="width:145px" %)U16
475 +|**0x2411**|(% style="width:166px" %)2|(% style="width:999px" %)Duration of the battery state (0x2410), seconds|(% style="width:145px" %)U32
476 +|**0x2420**|(% style="width:166px" %)2|(% style="width:999px" %)Nominal battery capacity, A×h|(% style="width:145px" %)REAL32
477 +|**0x2422**|(% style="width:166px" %)2|(% style="width:999px" %)Maximum charge voltage, V|(% style="width:145px" %)REAL32
478 +|**0x2424**|(% style="width:166px" %)2|(% style="width:999px" %)Minimum discharge voltage, V|(% style="width:145px" %)REAL32
479 +|**0x2426**|(% style="width:166px" %)2|(% style="width:999px" %)Maximum charge current, A|(% style="width:145px" %)REAL32
480 +|**0x2428**|(% style="width:166px" %)2|(% style="width:999px" %)Maximum discharge current, A|(% style="width:145px" %)REAL32
481 481  
482 -== 4.2.3 Holding registers ==
482 +== 5.3 Holding registers ==
483 483  
484 484  |(% style="width:158px" %)**Register address**|(% style="width:155px" %)**Number of registers**|(% style="width:999px" %)**Content**|(% style="width:146px" %)**Type**
485 485  |(% style="width:158px" %)**0x4000**|(% style="width:155px" %)1|(% style="width:999px" %)Address of the BMS Logic device whose parameters should be in the input registers 0x2011-0x20C9|(% style="width:146px" %)U16