Changes for page 5.2 Modbus protocol
Last modified by Admin on 2026/04/24 10:30
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - 5.2 Modbus protocol1 +4.2 Modbus protocol - Parent
-
... ... @@ -1,1 +1,1 @@ 1 -drafts.BMS Main 2\.1. 5\. Communication protocols.WebHome1 +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" %)U16120 -| (% style="width:92px" %)**0x2001-0x2002**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the primary sensor, А|(% style="width:96px" %)REAL32121 -| (% style="width:92px" %)**0x2003-0x2004**|(% style="width:94px" %)2|(% style="width:368px" %)External temperature, °C|(% style="width:96px" %)REAL32122 -| (% style="width:92px" %)**0x2005-0x2006**|(% style="width:94px" %)2|(% style="width:368px" %)Humidity, RH%|(% style="width:96px" %)REAL32123 -| (% 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" %)U32188 -| (% 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" %)U32245 -| (% 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" %)U16258 -| (% 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" %)U16271 -| (% style="width:92px" %)**0x200E**|(% 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" %)U32304 -| (% 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" %)U16305 -| (% 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" %)U16326 -| (% style="width:92px" %)**0x2012-0x2013**|(% style="width:94px" %)2|(% style="width:368px" %)Temperature of the BMS Logic, °C|(% style="width:96px" %)REAL32327 -| (% 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" %)U32332 -| (% 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,12 +345,12 @@ 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 356 bit 0 – “Fuse 2”; ... ... @@ -360,78 +360,78 @@ 360 360 bit 2 – “Circuit breaker status”; 361 361 362 362 bits 3-15 – reserved. 363 -)))| (% style="width:96px" %)U16364 -| (% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Battery state of charge (SOC), %|(% style="width:96px" %)REAL32365 -| (% style="width:92px" %)**0x2102**|(% style="width:94px" %)1|(% style="width:368px" %)Number of BMS Logic devices|(% style="width:96px" %)U16366 -| (% style="width:92px" %)**0x2103**|(% style="width:94px" %)1|(% style="width:368px" %)Number of cells|(% style="width:96px" %)U16367 -| (% style="width:92px" %)**0x2104-0x2105**|(% style="width:94px" %)2|(% style="width:368px" %)Battery voltage, V|(% style="width:96px" %)REAL32368 -| (% style="width:92px" %)**0x2106-0x2107**|(% style="width:94px" %)2|(% style="width:368px" %)Battery resistance, Ohm|(% style="width:96px" %)REAL32369 -| (% style="width:92px" %)**0x2108-0x2109**|(% style="width:94px" %)2|(% style="width:368px" %)Effective capacity, A×h|(% style="width:96px" %)REAL32370 -| (% style="width:92px" %)**0x210A-0x210B**|(% style="width:94px" %)2|(% style="width:368px" %)Balancing effectivity, %|(% style="width:96px" %)REAL32371 -| (% style="width:92px" %)**0x210C-0x210D**|(% style="width:94px" %)2|(% style="width:368px" %)State of health, %|(% style="width:96px" %)REAL32372 -| (% style="width:92px" %)**0x210E-0x210F**|(% style="width:94px" %)2|(% style="width:368px" %)Depth of discharge, A×h|(% style="width:96px" %)REAL32373 -| (% style="width:92px" %)**0x2110-0x2111**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum BMS Logic temperature|(% style="width:96px" %)REAL32374 -| (% style="width:92px" %)**0x2112**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device whose temperature is minimal|(% style="width:96px" %)U16375 -| (% style="width:92px" %)**0x2113-0x2114**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum BMS Logic temperature|(% style="width:96px" %)REAL32376 -| (% style="width:92px" %)**0x2115**|(% style="width:94px" %)1|(% style="width:368px" %)Address of the BMS Logic device whose temperature is maximal|(% style="width:96px" %)U16377 -| (% style="width:92px" %)**0x2116-0x2117**|(% style="width:94px" %)2|(% style="width:368px" %)BMS Logic polling rate, commands pre second|(% style="width:96px" %)REAL32378 -| (% style="width:92px" %)**0x2118-0x2119**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell temperature|(% style="width:96px" %)REAL32379 -| (% 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" %)U16380 -| (% style="width:92px" %)**0x211B**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is minimal|(% style="width:96px" %)U16381 -| (% style="width:92px" %)**0x211C-0x211D**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell temperature|(% style="width:96px" %)REAL32382 -| (% 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" %)U16383 -| (% style="width:92px" %)**0x211F**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is maximal|(% style="width:96px" %)U16384 -| (% style="width:92px" %)**0x2120-0x2121**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell voltage|(% style="width:96px" %)REAL32385 -| (% 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" %)U16386 -| (% style="width:92px" %)**0x2123**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is minimal|(% style="width:96px" %)U16387 -| (% style="width:92px" %)**0x2124-0x2125**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell voltage|(% style="width:96px" %)REAL32388 -| (% 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" %)U16389 -| (% style="width:92px" %)**0x2127**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is maximal|(% style="width:96px" %)U16390 -| (% style="width:92px" %)**0x2128**|(% style="width:94px" %)1|(% style="width:368px" %)(((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|((( 391 391 Error flag: 392 392 393 393 0 — no errors; 394 394 395 395 1 — there are some errors. 396 -)))| (% style="width:96px" %)U16397 -| (% style="width:92px" %)**0x2130-0x2131**|(% style="width:94px" %)2|(% style="width:368px" %)Energy received from the charger, W×h|(% style="width:96px" %)REAL32398 -| (% style="width:92px" %)**0x2132-0x2133**|(% style="width:94px" %)2|(% style="width:368px" %)Energy consumed by the load, W×h|(% style="width:96px" %)REAL32399 -| (% style="width:92px" %)**0x2134-0x2135**|(% style="width:94px" %)2|(% style="width:368px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:96px" %)REAL32400 -| (% 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|((( 401 401 SD-card mounting flag: 402 402 403 403 0 — not mounted; 404 404 405 405 1 — mounted. 406 -)))| (% style="width:96px" %)U16407 -| (% style="width:92px" %)**0x2141**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16408 -| (% style="width:92px" %)**0x2142**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16409 -| (% 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|((( 410 410 Wi-Fi connection status: 411 411 412 412 0 — no connection; 413 413 414 414 1 — connection is established. 415 -)))| (% style="width:96px" %)U16416 -| (% style="width:92px" %)**0x2171-0x2172**|(% style="width:94px" %)2|(% style="width:368px" %)IP-address in the Wi-Fi network|(% style="width:96px" %)U8[4]417 -| (% style="width:92px" %)**0x2173-0x2175**|(% style="width:94px" %)3|(% style="width:368px" %)MAC-address of the Wi-Fi module|(% style="width:96px" %)U8[6]418 -| (% style="width:92px" %)**0x2179-0x217A**|(% style="width:94px" %)2|(% style="width:368px" %)Instant effective capacity, A×h|(% style="width:96px" %)REAL32419 -| (% style="width:92px" %)**0x217B-0x217C**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb received from the charger, A×h|(% style="width:96px" %)REAL32420 -| (% style="width:92px" %)**0x217D-0x217E**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb consumed by the load, A×h|(% style="width:96px" %)REAL32421 -| (% style="width:92px" %)**0x217F-0x2180**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet IP-address|(% style="width:96px" %)U8[4]422 -| (% style="width:92px" %)**0x2181-0x2182**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet netmask|(% style="width:96px" %)U8[4]423 -| (% style="width:92px" %)**0x2183-0x2184**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet gateway|(% style="width:96px" %)U8[4]424 -| (% 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" %)REAL32425 -| (% style="width:92px" %)**0x218E**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32426 -| (% style="width:92px" %)**0x2190**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage in the reference line of the current sensor, V|(% style="width:96px" %)REAL32427 -| (% style="width:92px" %)**0x2192**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32428 -| (% 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" %)REAL32429 -| (% style="width:92px" %)**0x219F**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32430 -| (% style="width:92px" %)**0x21A1**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32431 -| (% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16432 -| (% 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" %)REAL32433 -| (% style="width:92px" %)**0x21CA**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32434 -| (% 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|((( 435 435 Record #1 from the errors journal. First 32-bit word contains a timestamp, second 32-bit word contains errors 1 flags (see 0x2007-0x2008). 436 436 437 437 Timestamp format: ... ... @@ -447,22 +447,22 @@ 447 447 bits 20-25 — minutes; 448 448 449 449 bits 26-31 — seconds. 450 -)))| (% style="width:96px" %)U32[2]451 -| (% style="width:92px" %)**0x2204-0x2207**|(% style="width:94px" %)4|(% style="width:368px" %)Record #2 from the errors journal|(% style="width:96px" %)U32[2]452 -| (% style="width:92px" %)**0x2208-0x227B**|(%style="width:94px" %)|(% style="width:368px" %)Records #3-31 from the errors journal|(%style="width:96px" %)453 -| (% style="width:92px" %)**0x227C-0x227F**|(% style="width:94px" %)4|(% style="width:368px" %)Record #32 from the errors journal|(% style="width:96px" %)U32[2]454 -| (% 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" %)U16455 -| (% 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]456 -| (% style="width:92px" %)**0x2384-0x2387**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #2 from the errors journal|(% style="width:96px" %)U32[2]457 -| (% style="width:92px" %)**0x2388-0x23FB**|(%style="width:94px" %)|(% style="width:368px" %)Records data #3-31 from the errors journal|(%style="width:96px" %)458 -| (% style="width:92px" %)**0x23FC-0x23FF**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #32 from the errors journal|(% style="width:96px" %)U32[2]459 -| (% style="width:92px" %)**0x2400**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the auxiliary current sensor, A|(% style="width:96px" %)REAL32460 -| (% 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|((( 461 461 Final battery current, A 462 462 463 463 Note — Typically it is the sum of the values measured by the main and auxiliary current sensors 464 -)))| (% style="width:96px" %)REAL32465 -| (% style="width:92px" %)**0x2410**|(% style="width:94px" %)1|(% style="width:368px" %)(((457 +)))|REAL32 458 +|**0x2410**|1|((( 466 466 Battery state: 467 467 468 468 0 – Unknown; ... ... @@ -478,20 +478,19 @@ 478 478 5 – Discharging OFF; 479 479 480 480 6 – Relaxed (after discharging). 481 -)))| (% style="width:96px" %)U16482 -| (% style="width:92px" %)**0x2411**|(% style="width:94px" %)2|(% style="width:368px" %)Duration of the battery state (0x2410), seconds|(% style="width:96px" %)U32483 -| (% style="width:92px" %)**0x2420**|(% style="width:94px" %)2|(% style="width:368px" %)Nominal battery capacity, A×h|(% style="width:96px" %)REAL32484 -| (% style="width:92px" %)**0x2422**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge voltage, V|(% style="width:96px" %)REAL32485 -| (% style="width:92px" %)**0x2424**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum discharge voltage, V|(% style="width:96px" %)REAL32486 -| (% style="width:92px" %)**0x2426**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32487 -| (% style="width:92px" %)**0x2428**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum discharge current, A|(% style="width:96px" %)REAL32474 +)))|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 488 488 489 -== =Holding registers ===482 +== 4.2.3 Holding registers == 490 490 491 -(% style="width:653px" %) 492 -|(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type** 493 -|(% 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 494 -|(% 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|((( 495 495 Command to acknowledge errors in the errors journal (bitfield). Each //i//^^th^^ bit corresponds to (//i//+1) record. 496 496 497 497 Notes: ... ... @@ -499,8 +499,8 @@ 499 499 1 – After the errors are acknowledged, the register value will be set to 0. 500 500 501 501 2 – To acknowledge all errors, set 0xFFFFFFFF. 502 -)))| (% style="width:96px" %)U32503 -| (% style="width:92px" %)**0x5100**|(% style="width:94px" %)1|(% style="width:368px" %)(((494 +)))|U32 495 +|**0x5100**|1|((( 504 504 Software control of the "Battery cover" signal. Allowable values: 505 505 506 506 0 – clear the signal; ... ... @@ -508,8 +508,8 @@ 508 508 1 – set the signal; 509 509 510 510 2-65535 – use the physical input "Battery cover". 511 -)))| (% style="width:96px" %)U16512 -| (% style="width:92px" %)**0x5101**|(% style="width:94px" %)1|(% style="width:368px" %)(((503 +)))|U16 504 +|**0x5101**|1|((( 513 513 Software control of the "Charger connected" signal. Allowable values: 514 514 515 515 0 – clear the signal; ... ... @@ -517,8 +517,8 @@ 517 517 1 – set the signal; 518 518 519 519 2-65535 – use the physical input "Charger connected". 520 -)))| (% style="width:96px" %)U16521 -| (% style="width:92px" %)**0x5102**|(% style="width:94px" %)1|(% style="width:368px" %)(((512 +)))|U16 513 +|**0x5102**|1|((( 522 522 Software control of the "Power down request" signal. Allowable values: 523 523 524 524 0 – clear the signal; ... ... @@ -526,8 +526,8 @@ 526 526 1 – set the signal; 527 527 528 528 2-65535 – use the physical input "Power down request". 529 -)))| (% style="width:96px" %)U16530 -| (% style="width:92px" %)**0x5103**|(% style="width:94px" %)1|(% style="width:368px" %)(((521 +)))|U16 522 +|**0x5103**|1|((( 531 531 Software control of the "Inhibit charging" signal. Allowable values: 532 532 533 533 0 – clear the signal; ... ... @@ -535,8 +535,8 @@ 535 535 1 – set the signal; 536 536 537 537 2-65535 – use the physical input "Inhibit charging". 538 -)))| (% style="width:96px" %)U16539 -| (% style="width:92px" %)**0x5104**|(% style="width:94px" %)1|(% style="width:368px" %)(((530 +)))|U16 531 +|**0x5104**|1|((( 540 540 Software control of the "Inhibit discharging" signal. Allowable values: 541 541 542 542 0 – clear the signal; ... ... @@ -544,8 +544,8 @@ 544 544 1 – set the signal; 545 545 546 546 2-65535 – use the physical input "Inhibit discharging". 547 -)))| (% style="width:96px" %)U16548 -| (% style="width:92px" %)**0x5105**|(% style="width:94px" %)1|(% style="width:368px" %)(((539 +)))|U16 540 +|**0x5105**|1|((( 549 549 Software control of the "Charging contactor feedback" signal. Allowable values: 550 550 551 551 0 – clear the signal; ... ... @@ -553,8 +553,8 @@ 553 553 1 – set the signal; 554 554 555 555 2-65535 – use the physical input "Charging contactor feedback". 556 -)))| (% style="width:96px" %)U16557 -| (% style="width:92px" %)**0x5106**|(% style="width:94px" %)1|(% style="width:368px" %)(((548 +)))|U16 549 +|**0x5106**|1|((( 558 558 Software control of the "Discharging contactor feedback" signal. Allowable values: 559 559 560 560 0 – clear the signal; ... ... @@ -562,8 +562,8 @@ 562 562 1 – set the signal; 563 563 564 564 2-65535 – use the physical input "Discharging contactor feedback". 565 -)))| (% style="width:96px" %)U16566 -| (% style="width:92px" %)**0x5107**|(% style="width:94px" %)1|(% style="width:368px" %)(((557 +)))|U16 558 +|**0x5107**|1|((( 567 567 Software control of the "Insulation status" signal. Allowable values: 568 568 569 569 0 – clear the signal; ... ... @@ -571,8 +571,8 @@ 571 571 1 – set the signal; 572 572 573 573 2-65535 – use the physical input "Insulation status". 574 -)))| (% style="width:96px" %)U16575 -| (% style="width:92px" %)**0x5108**|(% style="width:94px" %)1|(% style="width:368px" %)(((566 +)))|U16 567 +|**0x5108**|1|((( 576 576 Software control of the "Charge request" signal. Allowable values: 577 577 578 578 0 – clear the signal; ... ... @@ -580,8 +580,8 @@ 580 580 1 – set the signal; 581 581 582 582 2-65535 – use the physical input "Charge request". 583 -)))| (% style="width:96px" %)U16584 -| (% style="width:92px" %)**0x5109**|(% style="width:94px" %)1|(% style="width:368px" %)(((575 +)))|U16 576 +|**0x5109**|1|((( 585 585 Software control of the "Precharge request" signal. Allowable values: 586 586 587 587 0 – clear the signal; ... ... @@ -589,8 +589,8 @@ 589 589 1 – set the signal; 590 590 591 591 2-65535 – use the physical input "Precharge request". 592 -)))| (% style="width:96px" %)U16593 -| (% style="width:92px" %)**0x510A**|(% style="width:94px" %)1|(% style="width:368px" %)(((584 +)))|U16 585 +|**0x510A**|1|((( 594 594 Software control of the "Discharge request" signal. Allowable values: 595 595 596 596 0 – clear the signal; ... ... @@ -598,8 +598,8 @@ 598 598 1 – set the signal; 599 599 600 600 2-65535 – use the physical input "Discharge request". 601 -)))| (% style="width:96px" %)U16602 -| (% style="width:92px" %)**0x510B**|(% style="width:94px" %)1|(% style="width:368px" %)(((593 +)))|U16 594 +|**0x510B**|1|((( 603 603 Software control of the "PCH contactor feedback" signal. Allowable values: 604 604 605 605 0 – clear the signal; ... ... @@ -607,8 +607,8 @@ 607 607 1 – set the signal; 608 608 609 609 2-65535 – use the physical input "PCH contactor feedback". 610 -)))| (% style="width:96px" %)U16611 -| (% style="width:92px" %)**0x510C**|(% style="width:94px" %)1|(% style="width:368px" %)(((602 +)))|U16 603 +|**0x510C**|1|((( 612 612 Software control of the "CH/DCH contactor feedback" signal. Allowable values: 613 613 614 614 0 – clear the signal; ... ... @@ -616,8 +616,8 @@ 616 616 1 – set the signal; 617 617 618 618 2-65535 – use the physical input "CH/DCH contactor feedback". 619 -)))| (% style="width:96px" %)U16620 -| (% style="width:92px" %)**0x510D**|(% style="width:94px" %)1|(% style="width:368px" %)(((611 +)))|U16 612 +|**0x510D**|1|((( 621 621 Software control of the "Main contactor feedback" signal. Allowable values: 622 622 623 623 0 – clear the signal; ... ... @@ -625,8 +625,8 @@ 625 625 1 – set the signal; 626 626 627 627 2-65535 – use the physical input "Main contactor feedback". 628 -)))| (% style="width:96px" %)U16629 -| (% style="width:92px" %)**0x510E**|(% style="width:94px" %)1|(% style="width:368px" %)(((620 +)))|U16 621 +|**0x510E**|1|((( 630 630 Software control of the "Interlock" signal. Allowable values: 631 631 632 632 0 – clear the signal; ... ... @@ -634,8 +634,8 @@ 634 634 1 – set the signal; 635 635 636 636 2-65535 – use the physical input "Interlock". 637 -)))| (% style="width:96px" %)U16638 -| (% style="width:92px" %)**0x510F**|(% style="width:94px" %)1|(% style="width:368px" %)(((629 +)))|U16 630 +|**0x510F**|1|((( 639 639 Software control of the "Fuse 1" signal. Allowable values: 640 640 641 641 0 – clear the signal; ... ... @@ -643,8 +643,8 @@ 643 643 1 – set the signal; 644 644 645 645 2-65535 – use the physical input "Fuse 1". 646 -)))| (% style="width:96px" %)U16647 -| (% style="width:92px" %)**0x5110**|(% style="width:94px" %)1|(% style="width:368px" %)(((638 +)))|U16 639 +|**0x5110**|1|((( 648 648 Software control of the "Fuse 2" signal. Allowable values: 649 649 650 650 0 – clear the signal; ... ... @@ -652,8 +652,8 @@ 652 652 1 – set the signal; 653 653 654 654 2-65535 – use the physical input "Fuse 2". 655 -)))| (% style="width:96px" %)U16656 -| (% style="width:92px" %)**0x5111**|(% style="width:94px" %)1|(% style="width:368px" %)(((647 +)))|U16 648 +|**0x5111**|1|((( 657 657 Software control of the "Fuse 3" signal. Allowable values: 658 658 659 659 0 – clear the signal; ... ... @@ -661,4 +661,4 @@ 661 661 1 – set the signal; 662 662 663 663 2-65535 – use the physical input "Fuse 3". 664 -)))| (% style="width:96px" %)U16656 +)))|U16