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 - Battery managementsystems.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-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" %)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,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" %)U16403 -| (% style="width:92px" %)**0x2130-0x2131**|(% style="width:94px" %)2|(% style="width:368px" %)Energy received from the charger, W×h|(% style="width:96px" %)REAL32404 -| (% style="width:92px" %)**0x2132-0x2133**|(% style="width:94px" %)2|(% style="width:368px" %)Energy consumed by the load, W×h|(% style="width:96px" %)REAL32405 -| (% style="width:92px" %)**0x2134-0x2135**|(% style="width:94px" %)2|(% style="width:368px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:96px" %)REAL32406 -| (% 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" %)U16413 -| (% style="width:92px" %)**0x2141**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16414 -| (% style="width:92px" %)**0x2142**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16415 -| (% 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" %)U16422 -| (% 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" %)REAL32425 -| (% style="width:92px" %)**0x217B-0x217C**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb received from the charger, A×h|(% style="width:96px" %)REAL32426 -| (% style="width:92px" %)**0x217D-0x217E**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb consumed by the load, A×h|(% style="width:96px" %)REAL32427 -| (% 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" %)REAL32431 -| (% style="width:92px" %)**0x218E**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32432 -| (% style="width:92px" %)**0x2190**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage in the reference line of the current sensor, V|(% style="width:96px" %)REAL32433 -| (% style="width:92px" %)**0x2192**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32434 -| (% 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" %)REAL32435 -| (% style="width:92px" %)**0x219F**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32436 -| (% style="width:92px" %)**0x21A1**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32437 -| (% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16438 -| (% 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" %)REAL32439 -| (% style="width:92px" %)**0x21CA**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32440 -| (% 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" %)U16461 -| (% 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" %)REAL32466 -| (% 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" %)REAL32471 -| (% 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" %)U16488 -| (% style="width:92px" %)**0x2411**|(% style="width:94px" %)2|(% style="width:368px" %)Duration of the battery state (0x2410), seconds|(% style="width:96px" %)U32489 -| (% style="width:92px" %)**0x2420**|(% style="width:94px" %)2|(% style="width:368px" %)Nominal battery capacity, A×h|(% style="width:96px" %)REAL32490 -| (% style="width:92px" %)**0x2422**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge voltage, V|(% style="width:96px" %)REAL32491 -| (% style="width:92px" %)**0x2424**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum discharge voltage, V|(% style="width:96px" %)REAL32492 -| (% style="width:92px" %)**0x2426**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32493 -| (% 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 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" %)U32509 -| (% 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" %)U16518 -| (% 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" %)U16527 -| (% 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" %)U16536 -| (% 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" %)U16545 -| (% 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" %)U16554 -| (% 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" %)U16563 -| (% 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" %)U16572 -| (% 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" %)U16581 -| (% 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" %)U16590 -| (% 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" %)U16599 -| (% 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" %)U16608 -| (% 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" %)U16617 -| (% 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" %)U16626 -| (% 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" %)U16635 -| (% 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" %)U16644 -| (% 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" %)U16653 -| (% 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" %)U16662 -| (% 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" %)U16656 +)))|U16