Changes for page 5.2 Modbus protocol

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

From version 8.2
edited by Admin
on 2025/02/04 10:03
Change comment: There is no comment for this version
To version 4.1
edited by Admin
on 2024/11/29 14:04
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -5.2 Modbus protocol
1 +4.2 Modbus protocol
Parent
... ... @@ -1,1 +1,1 @@
1 -Battery management systems.BMS Main 2\.1.5\. Communication protocols.WebHome
1 +drafts.BMS Main 2\.1.4\. Communication protocols.WebHome
Content
... ... @@ -1,11 +1,5 @@
1 -(% data-numbered-headings-start="5" style="--numbered-headings-start: 4;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
2 -= Communication protocols =
1 +== 4.2.1 General information ==
3 3  
4 -(% data-numbered-headings-start="2" style="--numbered-headings-start: 1;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
5 -== Modbus protocol ==
6 -
7 -=== General information ===
8 -
9 9  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.
10 10  
11 11  Interaction with the device is performed over the RS-485 bus (Modbus RTU) or the Ethernet network (Modbus TCP).
... ... @@ -34,18 +34,17 @@
34 34  
35 35  Words are in the **little endian**.
36 36  
37 -=== Input registers ===
31 +== 4.2.2 Input registers ==
38 38  
39 -(% style="width:651px" %)
40 -|(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type**
41 -|(% style="width:92px" %)**0x0000**|(% style="width:94px" %)1|(% style="width:368px" %)(((
33 +|**Register address**|**Number of registers**|**Content**|**Type**
34 +|**0x0000**|1|(((
42 42  Hardware version:
43 43  
44 44  byte 0 — minor;
45 45  
46 46  byte 1 — major.
47 -)))|(% style="width:96px" %)U8[2]
48 -|(% style="width:92px" %)**0x0001-0x0002**|(% style="width:94px" %)2|(% style="width:368px" %)(((
40 +)))|U8[2]
41 +|**0x0001-0x0002**|2|(((
49 49  Firmware version:
50 50  
51 51  byte 0 — patch;
... ... @@ -55,8 +55,8 @@
55 55  byte 2 — major;
56 56  
57 57  byte 3 — not used (set to 0).
58 -)))|(% style="width:96px" %)U8[4]
59 -|(% style="width:92px" %)**0x0003-0x0004**|(% style="width:94px" %)2|(% style="width:368px" %)(((
51 +)))|U8[4]
52 +|**0x0003-0x0004**|2|(((
60 60  Bootloader version:
61 61  
62 62  byte 0 — patch;
... ... @@ -66,8 +66,8 @@
66 66  byte 2 — major;
67 67  
68 68  byte 3 — not used (set to 0).
69 -)))|(% style="width:96px" %)U8[4]
70 -|(% style="width:92px" %)**0x1000-0x1003**|(% style="width:94px" %)3|(% style="width:368px" %)(((
62 +)))|U8[4]
63 +|**0x1000-0x1003**|3|(((
71 71  Current time on the device clock:
72 72  
73 73  byte 0 — day (BCD);
... ... @@ -81,8 +81,8 @@
81 81  byte 4 — minutes (BCD);
82 82  
83 83  byte 5 — seconds (BCD).
84 -)))|(% style="width:96px" %)U8[6]
85 -|(% style="width:92px" %)**0x2000**|(% style="width:94px" %)1|(% style="width:368px" %)(((
77 +)))|U8[6]
78 +|**0x2000**|1|(((
86 86  Discrete input signals 1 (bitfield):
87 87  
88 88  bit 0 — "Battery cover";
... ... @@ -116,11 +116,11 @@
116 116  bit 14 – “Interlock”;
117 117  
118 118  bit 15 – “Fuse 1”.
119 -)))|(% style="width:96px" %)U16
120 -|(% style="width:92px" %)**0x2001-0x2002**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the primary sensor, А|(% style="width:96px" %)REAL32
121 -|(% style="width:92px" %)**0x2003-0x2004**|(% style="width:94px" %)2|(% style="width:368px" %)External temperature, °C|(% style="width:96px" %)REAL32
122 -|(% style="width:92px" %)**0x2005-0x2006**|(% style="width:94px" %)2|(% style="width:368px" %)Humidity, RH%|(% style="width:96px" %)REAL32
123 -|(% style="width:92px" %)**0x2007-0x2008**|(% style="width:94px" %)2|(% style="width:368px" %)(((
112 +)))|U16
113 +|**0x2001-0x2002**|2|Current measured by the primary sensor, А|REAL32
114 +|**0x2003-0x2004**|2|External temperature, °C|REAL32
115 +|**0x2005-0x2006**|2|Humidity, RH%|REAL32
116 +|**0x2007-0x2008**|2|(((
124 124  Errors 1 (bitfield):
125 125  
126 126  bit 0 – “Overcurrent”;
... ... @@ -184,8 +184,8 @@
184 184  bit 29 – “Spirit offline”, connection with the Spirit truck is lost;
185 185  
186 186  bits 30–31 – reserved.
187 -)))|(% style="width:96px" %)U32
188 -|(% style="width:92px" %)**0x2009-0x200A**|(% style="width:94px" %)2|(% style="width:368px" %)(((
180 +)))|U32
181 +|**0x2009-0x200A**|2|(((
189 189  Internal signals (bitfield):
190 190  
191 191  bit 0 — "Low SOC";
... ... @@ -241,8 +241,8 @@
241 241  bit 25 – “Power up”;
242 242  
243 243  bits 26-31 – reserved.
244 -)))|(% style="width:96px" %)U32
245 -|(% style="width:92px" %)**0x200B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
237 +)))|U32
238 +|**0x200B**|1|(((
246 246  Discrete output signals (bitfield):
247 247  
248 248  bit 0 — state of the output #1;
... ... @@ -254,8 +254,8 @@
254 254  bit 3 — state of the output #4;
255 255  
256 256  bits 4-15 — not used.
257 -)))|(% style="width:96px" %)U16
258 -|(% style="width:92px" %)**0x200C**|(% style="width:94px" %)1|(% style="width:368px" %)(((
250 +)))|U16
251 +|**0x200C**|1|(((
259 259  Relay states (bitfield):
260 260  
261 261  bit 0 — state of the relay #1;
... ... @@ -267,8 +267,8 @@
267 267  bit 3 — state of the relay #4;
268 268  
269 269  bits 4-15 — not used.
270 -)))|(% style="width:96px" %)U16
271 -|(% style="width:92px" %)**0x200E-0x200F**|(% style="width:94px" %)2|(% style="width:368px" %)(((
263 +)))|U16
264 +|**0x200E**|2|(((
272 272  Errors 2 (bitfield):
273 273  
274 274  bit 0 – "Low CH temperature", temperature is too low for charging;
... ... @@ -300,9 +300,9 @@
300 300  bit 13 – “General error”;
301 301  
302 302  bits 14-31 — reserved.
303 -)))|(% style="width:96px" %)U32
304 -|(% style="width:92px" %)**0x2010**|(% style="width:94px" %)1|(% style="width:368px" %)Address or the BMS Logic device whose parameters are in registers 0x2011-0x20C9|(% style="width:96px" %)U16
305 -|(% style="width:92px" %)**0x2011**|(% style="width:94px" %)1|(% style="width:368px" %)(((
296 +)))|U32
297 +|**0x2010**|1|Address or the BMS Logic device whose parameters are in registers 0x2011-0x20C9|U16
298 +|**0x2011**|1|(((
306 306  State of the BMS Logic (bitfield):
307 307  
308 308  bit 0 — device is present;
... ... @@ -322,14 +322,14 @@
322 322  bit 7 — temperature sensor #2 is shorted;
323 323  
324 324  bits 8-15 — reserved.
325 -)))|(% style="width:96px" %)U16
326 -|(% style="width:92px" %)**0x2012-0x2013**|(% style="width:94px" %)2|(% style="width:368px" %)Temperature of the BMS Logic, °C|(% style="width:96px" %)REAL32
327 -|(% style="width:92px" %)**0x2014-0x2015**|(% style="width:94px" %)2|(% style="width:368px" %)(((
318 +)))|U16
319 +|**0x2012-0x2013**|2|Temperature of the BMS Logic, °C|REAL32
320 +|**0x2014-0x2015**|2|(((
328 328  Cell balancing flags (bitfield):
329 329  
330 330  bit i — balancing resistor is connected to the i^^th^^ cell.
331 -)))|(% style="width:96px" %)U32
332 -|(% style="width:92px" %)**0x2016-0x2029**|(% style="width:94px" %)20|(% style="width:368px" %)(((
324 +)))|U32
325 +|**0x2016-0x2029**|20|(((
333 333  Array of cells states. Each element of the array corresponds to a cell and is a bitfield:
334 334  
335 335  bit 0 — cell is present;
... ... @@ -345,99 +345,93 @@
345 345  bit 5 — wires are connected to the cell;
346 346  
347 347  bits 6-15 — reserved.
348 -)))|(% style="width:96px" %)U16[20]
349 -|(% style="width:92px" %)**0x202A-0x2051**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells voltages (V)|(% style="width:96px" %)REAL32[20]
350 -|(% style="width:92px" %)**0x2052-0x2079**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells temperatures (°C)|(% style="width:96px" %)REAL32[20]
351 -|(% style="width:92px" %)**0x207A-0x20A1**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells SOCs ~(%)|(% style="width:96px" %)REAL32[20]
352 -|(% style="width:92px" %)**0x20A2-0x20C9**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells resistances (Ohm)|(% style="width:96px" %)REAL32[20]
353 -|(% style="width:92px" %)**0x20F4**|(% style="width:94px" %)1|(% style="width:368px" %)(((
341 +)))|U16[20]
342 +|**0x202A-0x2051**|40|Array of cells voltages (V)|REAL32[20]
343 +|**0x2052-0x2079**|40|Array of cells temperatures (°C)|REAL32[20]
344 +|**0x207A-0x20A1**|40|Array of cells SOCs ~(%)|REAL32[20]
345 +|**0x20A2-0x20C9**|40|Array of cells resistances (Ohm)|REAL32[20]
346 +|**0x20F4**|1|(((
354 354  Discrete input signals 2 (bitfield):
355 355  
356 -bit 0 “Fuse 2”;
349 +bit 0 “Fuse 2”;
357 357  
358 -bit 1 “Fuse 3”;
351 +bit 1 “Fuse 3”;
359 359  
360 -bit 2 “Circuit breaker status”;
353 +bit 2 “Circuit breaker status”;
361 361  
362 -bit 3 — signal "Balancing request";
363 -
364 -bit 4 — signal "Close Main contactor";
365 -
366 -bit 5 — signal "Close External 1";
367 -
368 -bits 6-15 — not used.
369 -)))|(% style="width:96px" %)U16
370 -|(% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Battery state of charge (SOC), %|(% style="width:96px" %)REAL32
371 -|(% style="width:92px" %)**0x2102**|(% style="width:94px" %)1|(% style="width:368px" %)Number of BMS Logic devices|(% style="width:96px" %)U16
372 -|(% style="width:92px" %)**0x2103**|(% style="width:94px" %)1|(% style="width:368px" %)Number of cells|(% style="width:96px" %)U16
373 -|(% style="width:92px" %)**0x2104-0x2105**|(% style="width:94px" %)2|(% style="width:368px" %)Battery voltage, V|(% style="width:96px" %)REAL32
374 -|(% style="width:92px" %)**0x2106-0x2107**|(% style="width:94px" %)2|(% style="width:368px" %)Battery resistance, Ohm|(% style="width:96px" %)REAL32
375 -|(% style="width:92px" %)**0x2108-0x2109**|(% style="width:94px" %)2|(% style="width:368px" %)Effective capacity, A×h|(% style="width:96px" %)REAL32
376 -|(% style="width:92px" %)**0x210A-0x210B**|(% style="width:94px" %)2|(% style="width:368px" %)Balancing effectivity, %|(% style="width:96px" %)REAL32
377 -|(% style="width:92px" %)**0x210C-0x210D**|(% style="width:94px" %)2|(% style="width:368px" %)State of health, %|(% style="width:96px" %)REAL32
378 -|(% style="width:92px" %)**0x210E-0x210F**|(% style="width:94px" %)2|(% style="width:368px" %)Depth of discharge, A×h|(% style="width:96px" %)REAL32
379 -|(% style="width:92px" %)**0x2110-0x2111**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum BMS Logic temperature|(% style="width:96px" %)REAL32
380 -|(% style="width:92px" %)**0x2112**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device whose temperature is minimal|(% style="width:96px" %)U16
381 -|(% style="width:92px" %)**0x2113-0x2114**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum BMS Logic temperature|(% style="width:96px" %)REAL32
382 -|(% style="width:92px" %)**0x2115**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device whose temperature is maximal|(% style="width:96px" %)U16
383 -|(% style="width:92px" %)**0x2116-0x2117**|(% style="width:94px" %)2|(% style="width:368px" %)BMS Logic polling rate, commands pre second|(% style="width:96px" %)REAL32
384 -|(% style="width:92px" %)**0x2118-0x2119**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell temperature|(% style="width:96px" %)REAL32
385 -|(% style="width:92px" %)**0x211A**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device which is connected to the cell whose temperature is minimal|(% style="width:96px" %)U16
386 -|(% style="width:92px" %)**0x211B**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is minimal|(% style="width:96px" %)U16
387 -|(% style="width:92px" %)**0x211C-0x211D**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell temperature|(% style="width:96px" %)REAL32
388 -|(% style="width:92px" %)**0x211E**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device which is connected to the cell whose temperature is maximal|(% style="width:96px" %)U16
389 -|(% style="width:92px" %)**0x211F**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is maximal|(% style="width:96px" %)U16
390 -|(% style="width:92px" %)**0x2120-0x2121**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell voltage|(% style="width:96px" %)REAL32
391 -|(% style="width:92px" %)**0x2122**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device which is connected to the cell whose voltage is minimal|(% style="width:96px" %)U16
392 -|(% style="width:92px" %)**0x2123**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is minimal|(% style="width:96px" %)U16
393 -|(% style="width:92px" %)**0x2124-0x2125**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell voltage|(% style="width:96px" %)REAL32
394 -|(% style="width:92px" %)**0x2126**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device which is connected to the cell whose voltage is maximal|(% style="width:96px" %)U16
395 -|(% style="width:92px" %)**0x2127**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is maximal|(% style="width:96px" %)U16
396 -|(% style="width:92px" %)**0x2128**|(% style="width:94px" %)1|(% style="width:368px" %)(((
355 +bits 3-15 – reserved.
356 +)))|U16
357 +|**0x2100-0x2101**|2|Battery state of charge (SOC), %|REAL32
358 +|**0x2102**|1|Number of BMS Logic devices|U16
359 +|**0x2103**|1|Number of cells|U16
360 +|**0x2104-0x2105**|2|Battery voltage, V|REAL32
361 +|**0x2106-0x2107**|2|Battery resistance, Ohm|REAL32
362 +|**0x2108-0x2109**|2|Effective capacity, A×h|REAL32
363 +|**0x210A-0x210B**|2|Balancing effectivity, %|REAL32
364 +|**0x210C-0x210D**|2|State of health, %|REAL32
365 +|**0x210E-0x210F**|2|Depth of discharge, A×h|REAL32
366 +|**0x2110-0x2111**|2|Minimum BMS Logic temperature|REAL32
367 +|**0x2112**|1|Address of the BMS Logic device whose temperature is minimal|U16
368 +|**0x2113-0x2114**|2|Maximum BMS Logic temperature|REAL32
369 +|**0x2115**|1|Address of the BMS Logic device whose temperature is maximal|U16
370 +|**0x2116-0x2117**|2|BMS Logic polling rate, commands pre second|REAL32
371 +|**0x2118-0x2119**|2|Minimum cell temperature|REAL32
372 +|**0x211A**|1|Address of the BMS Logic device which is connected to the cell whose temperature is minimal|U16
373 +|**0x211B**|1|Position of the cell whose temperature is minimal|U16
374 +|**0x211C-0x211D**|2|Maximum cell temperature|REAL32
375 +|**0x211E**|1|Address of the BMS Logic device which is connected to the cell whose temperature is maximal|U16
376 +|**0x211F**|1|Position of the cell whose temperature is maximal|U16
377 +|**0x2120-0x2121**|2|Minimum cell voltage|REAL32
378 +|**0x2122**|1|Address of the BMS Logic device which is connected to the cell whose voltage is minimal|U16
379 +|**0x2123**|1|Position of the cell whose voltage is minimal|U16
380 +|**0x2124-0x2125**|2|Maximum cell voltage|REAL32
381 +|**0x2126**|1|Address of the BMS Logic device which is connected to the cell whose voltage is maximal|U16
382 +|**0x2127**|1|Position of the cell whose voltage is maximal|U16
383 +|**0x2128**|1|(((
397 397  Error flag:
398 398  
399 399  0 — no errors;
400 400  
401 401  1 — there are some errors.
402 -)))|(% style="width:96px" %)U16
403 -|(% style="width:92px" %)**0x2130-0x2131**|(% style="width:94px" %)2|(% style="width:368px" %)Energy received from the charger, W×h|(% style="width:96px" %)REAL32
404 -|(% style="width:92px" %)**0x2132-0x2133**|(% style="width:94px" %)2|(% style="width:368px" %)Energy consumed by the load, W×h|(% style="width:96px" %)REAL32
405 -|(% style="width:92px" %)**0x2134-0x2135**|(% style="width:94px" %)2|(% style="width:368px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:96px" %)REAL32
406 -|(% style="width:92px" %)**0x2140**|(% style="width:94px" %)1|(% style="width:368px" %)(((
389 +)))|U16
390 +|**0x2130-0x2131**|2|Energy received from the charger, W×h|REAL32
391 +|**0x2132-0x2133**|2|Energy consumed by the load, W×h|REAL32
392 +|**0x2134-0x2135**|2|Energy dissipated by the balancing resistors, W×h|REAL32
393 +|**0x2140**|1|(((
407 407  SD-card mounting flag:
408 408  
409 409  0 — not mounted;
410 410  
411 411  1 — mounted.
412 -)))|(% style="width:96px" %)U16
413 -|(% style="width:92px" %)**0x2141**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16
414 -|(% style="width:92px" %)**0x2142**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16
415 -|(% style="width:92px" %)**0x2170**|(% style="width:94px" %)1|(% style="width:368px" %)(((
399 +)))|U16
400 +|**0x2141**|1|Reserved|U16
401 +|**0x2142**|1|Reserved|U16
402 +|**0x2170**|1|(((
416 416  Wi-Fi connection status:
417 417  
418 418  0 — no connection;
419 419  
420 420  1 — connection is established.
421 -)))|(% style="width:96px" %)U16
422 -|(% style="width:92px" %)**0x2171-0x2172**|(% style="width:94px" %)2|(% style="width:368px" %)IP-address in the Wi-Fi network|(% style="width:96px" %)U8[4]
423 -|(% style="width:92px" %)**0x2173-0x2175**|(% style="width:94px" %)3|(% style="width:368px" %)MAC-address of the Wi-Fi module|(% style="width:96px" %)U8[6]
424 -|(% style="width:92px" %)**0x2179-0x217A**|(% style="width:94px" %)2|(% style="width:368px" %)Instant effective capacity, A×h|(% style="width:96px" %)REAL32
425 -|(% style="width:92px" %)**0x217B-0x217C**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb received from the charger, A×h|(% style="width:96px" %)REAL32
426 -|(% style="width:92px" %)**0x217D-0x217E**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb consumed by the load, A×h|(% style="width:96px" %)REAL32
427 -|(% style="width:92px" %)**0x217F-0x2180**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet IP-address|(% style="width:96px" %)U8[4]
428 -|(% style="width:92px" %)**0x2181-0x2182**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet netmask|(% style="width:96px" %)U8[4]
429 -|(% style="width:92px" %)**0x2183-0x2184**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet gateway|(% style="width:96px" %)U8[4]
430 -|(% style="width:92px" %)**0x2185-0x2186**|(% style="width:94px" %)2|(% style="width:368px" %)Calibrated voltage in the reference line of the current sensor, V|(% style="width:96px" %)REAL32
431 -|(% style="width:92px" %)**0x218E**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32
432 -|(% style="width:92px" %)**0x2190**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage in the reference line of the current sensor, V|(% style="width:96px" %)REAL32
433 -|(% style="width:92px" %)**0x2192**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32
434 -|(% style="width:92px" %)**0x2194**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage in the reference line of the auxiliary current sensor, V|(% style="width:96px" %)REAL32
435 -|(% style="width:92px" %)**0x219F**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32
436 -|(% style="width:92px" %)**0x21A1**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32
437 -|(% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16
438 -|(% style="width:92px" %)**0x21C6**|(% style="width:94px" %)2|(% style="width:368px" %)Calibrated voltage in the reference line of the auxiliary current sensor, V|(% style="width:96px" %)REAL32
439 -|(% style="width:92px" %)**0x21CA**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32
440 -|(% style="width:92px" %)**0x2200-0x2203**|(% style="width:94px" %)4|(% style="width:368px" %)(((
408 +)))|U16
409 +|**0x2171-0x2172**|2|IP-address in the Wi-Fi network|U8[4]
410 +|**0x2173-0x2175**|3|MAC-address of the Wi-Fi module|U8[6]
411 +|**0x2179-0x217A**|2|Instant effective capacity, A×h|REAL32
412 +|**0x217B-0x217C**|2|Coulomb received from the charger, A×h|REAL32
413 +|**0x217D-0x217E**|2|Coulomb consumed by the load, A×h|REAL32
414 +|**0x217F-0x2180**|2|Ethernet IP-address|U8[4]
415 +|**0x2181-0x2182**|2|Ethernet netmask|U8[4]
416 +|**0x2183-0x2184**|2|Ethernet gateway|U8[4]
417 +|**0x2185-0x2186**|2|Calibrated voltage in the reference line of the current sensor, V|REAL32
418 +|**0x218E**|2|Voltage from the current sensor, V|REAL32
419 +|**0x2190**|2|Voltage in the reference line of the current sensor, V|REAL32
420 +|**0x2192**|2|Voltage from the auxiliary current sensor, V|REAL32
421 +|**0x2194**|2|Voltage in the reference line of the auxiliary current sensor, V|REAL32
422 +|**0x219F**|2|Charge current limit, A|REAL32
423 +|**0x21A1**|2|Discharge current limit, A|REAL32
424 +|**0x21B8**|1|Flag indicating that the cells are balancing|U16
425 +|**0x21C6**|2|Calibrated voltage in the reference line of the auxiliary current sensor, V|REAL32
426 +|**0x21CA**|2|Average cell voltage, V|REAL32
427 +|**0x2200-0x2203**|4|(((
441 441  Record #1 from the errors journal. First 32-bit word contains a timestamp, second 32-bit word contains errors 1 flags (see 0x2007-0x2008).
442 442  
443 443  Timestamp format:
... ... @@ -453,22 +453,22 @@
453 453  bits 20-25 — minutes;
454 454  
455 455  bits 26-31 — seconds.
456 -)))|(% style="width:96px" %)U32[2]
457 -|(% style="width:92px" %)**0x2204-0x2207**|(% style="width:94px" %)4|(% style="width:368px" %)Record #2 from the errors journal|(% style="width:96px" %)U32[2]
458 -|(% style="width:92px" %)**0x2208-0x227B**|(% style="width:94px" %) |(% style="width:368px" %)Records #3-31 from the errors journal|(% style="width:96px" %)
459 -|(% style="width:92px" %)**0x227C-0x227F**|(% style="width:94px" %)4|(% style="width:368px" %)Record #32 from the errors journal|(% style="width:96px" %)U32[2]
460 -|(% style="width:92px" %)**0x2300**|(% style="width:94px" %)1|(% style="width:368px" %)Number of the last record from the errors journal (1..32)|(% style="width:96px" %)U16
461 -|(% style="width:92px" %)**0x2380**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #1 from the errors journal. First 32-bit word contains errors 2 flags (see 0x200E-0x200F).|(% style="width:96px" %)U32[2]
462 -|(% style="width:92px" %)**0x2384-0x2387**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #2 from the errors journal|(% style="width:96px" %)U32[2]
463 -|(% style="width:92px" %)**0x2388-0x23FB**|(% style="width:94px" %) |(% style="width:368px" %)Records data #3-31 from the errors journal|(% style="width:96px" %)
464 -|(% style="width:92px" %)**0x23FC-0x23FF**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #32 from the errors journal|(% style="width:96px" %)U32[2]
465 -|(% style="width:92px" %)**0x2400**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the auxiliary current sensor, A|(% style="width:96px" %)REAL32
466 -|(% style="width:92px" %)**0x2402**|(% style="width:94px" %)2|(% style="width:368px" %)(((
443 +)))|U32[2]
444 +|**0x2204-0x2207**|4|Record #2 from the errors journal|U32[2]
445 +|**0x2208-0x227B**| |Records #3-31 from the errors journal|
446 +|**0x227C-0x227F**|4|Record #32 from the errors journal|U32[2]
447 +|**0x2300**|1|Number of the last record from the errors journal (1..32)|U16
448 +|**0x2380**|4|Record data #1 from the errors journal. First 32-bit word contains errors 2 flags (see 0x200E-0x200F).|U32[2]
449 +|**0x2384-0x2387**|4|Record data #2 from the errors journal|U32[2]
450 +|**0x2388-0x23FB**| |Records data #3-31 from the errors journal|
451 +|**0x23FC-0x23FF**|4|Record data #32 from the errors journal|U32[2]
452 +|**0x2400**|2|Current measured by the auxiliary current sensor, A|REAL32
453 +|**0x2402**|2|(((
467 467  Final battery current, A
468 468  
469 469  Note — Typically it is the sum of the values measured by the main and auxiliary current sensors
470 -)))|(% style="width:96px" %)REAL32
471 -|(% style="width:92px" %)**0x2410**|(% style="width:94px" %)1|(% style="width:368px" %)(((
457 +)))|REAL32
458 +|**0x2410**|1|(((
472 472  Battery state:
473 473  
474 474  0 – Unknown;
... ... @@ -484,20 +484,19 @@
484 484  5 – Discharging OFF;
485 485  
486 486  6 – Relaxed (after discharging).
487 -)))|(% style="width:96px" %)U16
488 -|(% style="width:92px" %)**0x2411**|(% style="width:94px" %)2|(% style="width:368px" %)Duration of the battery state (0x2410), seconds|(% style="width:96px" %)U32
489 -|(% style="width:92px" %)**0x2420**|(% style="width:94px" %)2|(% style="width:368px" %)Nominal battery capacity, A×h|(% style="width:96px" %)REAL32
490 -|(% style="width:92px" %)**0x2422**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge voltage, V|(% style="width:96px" %)REAL32
491 -|(% style="width:92px" %)**0x2424**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum discharge voltage, V|(% style="width:96px" %)REAL32
492 -|(% style="width:92px" %)**0x2426**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32
493 -|(% style="width:92px" %)**0x2428**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum discharge current, A|(% style="width:96px" %)REAL32
474 +)))|U16
475 +|**0x2411**|2|Duration of the battery state (0x2410), seconds|U32
476 +|**0x2420**|2|Nominal battery capacity, A×h|REAL32
477 +|**0x2422**|2|Maximum charge voltage, V|REAL32
478 +|**0x2424**|2|Minimum discharge voltage, V|REAL32
479 +|**0x2426**|2|Maximum charge current, A|REAL32
480 +|**0x2428**|2|Maximum discharge current, A|REAL32
494 494  
495 -=== Holding registers ===
482 +== 4.2.3 Holding registers ==
496 496  
497 -(% style="width:653px" %)
498 -|(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type**
499 -|(% style="width:92px" %)**0x4000**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device whose parameters should be in the input registers 0x2011-0x20C9|(% style="width:96px" %)U16
500 -|(% style="width:92px" %)**0x4100**|(% style="width:94px" %)2|(% style="width:368px" %)(((
484 +|**Register address**|**Number of registers**|**Content**|**Type**
485 +|**0x4000**|1|Address of the BMS Logic device whose parameters should be in the input registers 0x2011-0x20C9|U16
486 +|**0x4100**|2|(((
501 501  Command to acknowledge errors in the errors journal (bitfield). Each //i//^^th^^ bit corresponds to (//i//+1) record.
502 502  
503 503  Notes:
... ... @@ -505,8 +505,8 @@
505 505  1 – After the errors are acknowledged, the register value will be set to 0.
506 506  
507 507  2 – To acknowledge all errors, set 0xFFFFFFFF.
508 -)))|(% style="width:96px" %)U32
509 -|(% style="width:92px" %)**0x5100**|(% style="width:94px" %)1|(% style="width:368px" %)(((
494 +)))|U32
495 +|**0x5100**|1|(((
510 510  Software control of the "Battery cover" signal. Allowable values:
511 511  
512 512  0 – clear the signal;
... ... @@ -514,8 +514,8 @@
514 514  1 – set the signal;
515 515  
516 516  2-65535 – use the physical input "Battery cover".
517 -)))|(% style="width:96px" %)U16
518 -|(% style="width:92px" %)**0x5101**|(% style="width:94px" %)1|(% style="width:368px" %)(((
503 +)))|U16
504 +|**0x5101**|1|(((
519 519  Software control of the "Charger connected" signal. Allowable values:
520 520  
521 521  0 – clear the signal;
... ... @@ -523,8 +523,8 @@
523 523  1 – set the signal;
524 524  
525 525  2-65535 – use the physical input "Charger connected".
526 -)))|(% style="width:96px" %)U16
527 -|(% style="width:92px" %)**0x5102**|(% style="width:94px" %)1|(% style="width:368px" %)(((
512 +)))|U16
513 +|**0x5102**|1|(((
528 528  Software control of the "Power down request" signal. Allowable values:
529 529  
530 530  0 – clear the signal;
... ... @@ -532,8 +532,8 @@
532 532  1 – set the signal;
533 533  
534 534  2-65535 – use the physical input "Power down request".
535 -)))|(% style="width:96px" %)U16
536 -|(% style="width:92px" %)**0x5103**|(% style="width:94px" %)1|(% style="width:368px" %)(((
521 +)))|U16
522 +|**0x5103**|1|(((
537 537  Software control of the "Inhibit charging" signal. Allowable values:
538 538  
539 539  0 – clear the signal;
... ... @@ -541,8 +541,8 @@
541 541  1 – set the signal;
542 542  
543 543  2-65535 – use the physical input "Inhibit charging".
544 -)))|(% style="width:96px" %)U16
545 -|(% style="width:92px" %)**0x5104**|(% style="width:94px" %)1|(% style="width:368px" %)(((
530 +)))|U16
531 +|**0x5104**|1|(((
546 546  Software control of the "Inhibit discharging" signal. Allowable values:
547 547  
548 548  0 – clear the signal;
... ... @@ -550,8 +550,8 @@
550 550  1 – set the signal;
551 551  
552 552  2-65535 – use the physical input "Inhibit discharging".
553 -)))|(% style="width:96px" %)U16
554 -|(% style="width:92px" %)**0x5105**|(% style="width:94px" %)1|(% style="width:368px" %)(((
539 +)))|U16
540 +|**0x5105**|1|(((
555 555  Software control of the "Charging contactor feedback" signal. Allowable values:
556 556  
557 557  0 – clear the signal;
... ... @@ -559,8 +559,8 @@
559 559  1 – set the signal;
560 560  
561 561  2-65535 – use the physical input "Charging contactor feedback".
562 -)))|(% style="width:96px" %)U16
563 -|(% style="width:92px" %)**0x5106**|(% style="width:94px" %)1|(% style="width:368px" %)(((
548 +)))|U16
549 +|**0x5106**|1|(((
564 564  Software control of the "Discharging contactor feedback" signal. Allowable values:
565 565  
566 566  0 – clear the signal;
... ... @@ -568,8 +568,8 @@
568 568  1 – set the signal;
569 569  
570 570  2-65535 – use the physical input "Discharging contactor feedback".
571 -)))|(% style="width:96px" %)U16
572 -|(% style="width:92px" %)**0x5107**|(% style="width:94px" %)1|(% style="width:368px" %)(((
557 +)))|U16
558 +|**0x5107**|1|(((
573 573  Software control of the "Insulation status" signal. Allowable values:
574 574  
575 575  0 – clear the signal;
... ... @@ -577,8 +577,8 @@
577 577  1 – set the signal;
578 578  
579 579  2-65535 – use the physical input "Insulation status".
580 -)))|(% style="width:96px" %)U16
581 -|(% style="width:92px" %)**0x5108**|(% style="width:94px" %)1|(% style="width:368px" %)(((
566 +)))|U16
567 +|**0x5108**|1|(((
582 582  Software control of the "Charge request" signal. Allowable values:
583 583  
584 584  0 – clear the signal;
... ... @@ -586,8 +586,8 @@
586 586  1 – set the signal;
587 587  
588 588  2-65535 – use the physical input "Charge request".
589 -)))|(% style="width:96px" %)U16
590 -|(% style="width:92px" %)**0x5109**|(% style="width:94px" %)1|(% style="width:368px" %)(((
575 +)))|U16
576 +|**0x5109**|1|(((
591 591  Software control of the "Precharge request" signal. Allowable values:
592 592  
593 593  0 – clear the signal;
... ... @@ -595,8 +595,8 @@
595 595  1 – set the signal;
596 596  
597 597  2-65535 – use the physical input "Precharge request".
598 -)))|(% style="width:96px" %)U16
599 -|(% style="width:92px" %)**0x510A**|(% style="width:94px" %)1|(% style="width:368px" %)(((
584 +)))|U16
585 +|**0x510A**|1|(((
600 600  Software control of the "Discharge request" signal. Allowable values:
601 601  
602 602  0 – clear the signal;
... ... @@ -604,8 +604,8 @@
604 604  1 – set the signal;
605 605  
606 606  2-65535 – use the physical input "Discharge request".
607 -)))|(% style="width:96px" %)U16
608 -|(% style="width:92px" %)**0x510B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
593 +)))|U16
594 +|**0x510B**|1|(((
609 609  Software control of the "PCH contactor feedback" signal. Allowable values:
610 610  
611 611  0 – clear the signal;
... ... @@ -613,8 +613,8 @@
613 613  1 – set the signal;
614 614  
615 615  2-65535 – use the physical input "PCH contactor feedback".
616 -)))|(% style="width:96px" %)U16
617 -|(% style="width:92px" %)**0x510C**|(% style="width:94px" %)1|(% style="width:368px" %)(((
602 +)))|U16
603 +|**0x510C**|1|(((
618 618  Software control of the "CH/DCH contactor feedback" signal. Allowable values:
619 619  
620 620  0 – clear the signal;
... ... @@ -622,8 +622,8 @@
622 622  1 – set the signal;
623 623  
624 624  2-65535 – use the physical input "CH/DCH contactor feedback".
625 -)))|(% style="width:96px" %)U16
626 -|(% style="width:92px" %)**0x510D**|(% style="width:94px" %)1|(% style="width:368px" %)(((
611 +)))|U16
612 +|**0x510D**|1|(((
627 627  Software control of the "Main contactor feedback" signal. Allowable values:
628 628  
629 629  0 – clear the signal;
... ... @@ -631,8 +631,8 @@
631 631  1 – set the signal;
632 632  
633 633  2-65535 – use the physical input "Main contactor feedback".
634 -)))|(% style="width:96px" %)U16
635 -|(% style="width:92px" %)**0x510E**|(% style="width:94px" %)1|(% style="width:368px" %)(((
620 +)))|U16
621 +|**0x510E**|1|(((
636 636  Software control of the "Interlock" signal. Allowable values:
637 637  
638 638  0 – clear the signal;
... ... @@ -640,8 +640,8 @@
640 640  1 – set the signal;
641 641  
642 642  2-65535 – use the physical input "Interlock".
643 -)))|(% style="width:96px" %)U16
644 -|(% style="width:92px" %)**0x510F**|(% style="width:94px" %)1|(% style="width:368px" %)(((
629 +)))|U16
630 +|**0x510F**|1|(((
645 645  Software control of the "Fuse 1" signal. Allowable values:
646 646  
647 647  0 – clear the signal;
... ... @@ -649,8 +649,8 @@
649 649  1 – set the signal;
650 650  
651 651  2-65535 – use the physical input "Fuse 1".
652 -)))|(% style="width:96px" %)U16
653 -|(% style="width:92px" %)**0x5110**|(% style="width:94px" %)1|(% style="width:368px" %)(((
638 +)))|U16
639 +|**0x5110**|1|(((
654 654  Software control of the "Fuse 2" signal. Allowable values:
655 655  
656 656  0 – clear the signal;
... ... @@ -658,8 +658,8 @@
658 658  1 – set the signal;
659 659  
660 660  2-65535 – use the physical input "Fuse 2".
661 -)))|(% style="width:96px" %)U16
662 -|(% style="width:92px" %)**0x5111**|(% style="width:94px" %)1|(% style="width:368px" %)(((
647 +)))|U16
648 +|**0x5111**|1|(((
663 663  Software control of the "Fuse 3" signal. Allowable values:
664 664  
665 665  0 – clear the signal;
... ... @@ -667,4 +667,4 @@
667 667  1 – set the signal;
668 668  
669 669  2-65535 – use the physical input "Fuse 3".
670 -)))|(% style="width:96px" %)U16
656 +)))|U16