Changes for page 5.2 Modbus protocol
Last modified by Admin on 2026/04/24 10:30
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 - Battery managementsystems.BMS Main 2\.1.5\. Communication protocols.WebHome1 +drafts.BMS Main 2\.1.5\. 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 +== 5.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,7 +34,7 @@ 34 34 35 35 Words are in the **little endian**. 36 36 37 -== =Input registers ===31 +== 5.2.2 Input registers == 38 38 39 39 (% style="width:651px" %) 40 40 |(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type** ... ... @@ -240,11 +240,7 @@ 240 240 241 241 bit 25 – “Power up”; 242 242 243 -bit 26 — signal “External 1”; 244 - 245 -bit 27 — signal “Heater (AUX)”; 246 - 247 -bits 28-31 — not used. 237 +bits 26-31 – reserved. 248 248 )))|(% style="width:96px" %)U32 249 249 |(% style="width:92px" %)**0x200B**|(% style="width:94px" %)1|(% style="width:368px" %)((( 250 250 Discrete output signals (bitfield): ... ... @@ -272,7 +272,7 @@ 272 272 273 273 bits 4-15 — not used. 274 274 )))|(% style="width:96px" %)U16 275 -|(% style="width:92px" %)**0x200E -0x200F**|(% style="width:94px" %)2|(% style="width:368px" %)(((265 +|(% style="width:92px" %)**0x200E**|(% style="width:94px" %)2|(% style="width:368px" %)((( 276 276 Errors 2 (bitfield): 277 277 278 278 bit 0 – "Low CH temperature", temperature is too low for charging; ... ... @@ -303,15 +303,7 @@ 303 303 304 304 bit 13 – “General error”; 305 305 306 -bit 14 — reserved (set to 0); 307 - 308 -bit 15 — reserved (set to 0); 309 - 310 -bit 16 — reserved (set to 0); 311 - 312 -bit 17 — “Precharge error”; 313 - 314 -bits 18-31 — not used. 296 +bits 14-31 — reserved. 315 315 )))|(% style="width:96px" %)U32 316 316 |(% 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 317 317 |(% style="width:92px" %)**0x2011**|(% style="width:94px" %)1|(% style="width:368px" %)((( ... ... @@ -365,19 +365,13 @@ 365 365 |(% style="width:92px" %)**0x20F4**|(% style="width:94px" %)1|(% style="width:368px" %)((( 366 366 Discrete input signals 2 (bitfield): 367 367 368 -bit 0 —“Fuse 2”;350 +bit 0 – “Fuse 2”; 369 369 370 -bit 1 —“Fuse 3”;352 +bit 1 – “Fuse 3”; 371 371 372 -bit 2 —“Circuit breaker status”;354 +bit 2 – “Circuit breaker status”; 373 373 374 -bit 3 — signal "Balancing request"; 375 - 376 -bit 4 — signal "Close Main contactor"; 377 - 378 -bit 5 — signal "Close External 1"; 379 - 380 -bits 6-15 — not used. 356 +bits 3-15 – reserved. 381 381 )))|(% style="width:96px" %)U16 382 382 |(% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Battery state of charge (SOC), %|(% style="width:96px" %)REAL32 383 383 |(% style="width:92px" %)**0x2102**|(% style="width:94px" %)1|(% style="width:368px" %)Number of BMS Logic devices|(% style="width:96px" %)U16 ... ... @@ -440,15 +440,15 @@ 440 440 |(% style="width:92px" %)**0x2181-0x2182**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet netmask|(% style="width:96px" %)U8[4] 441 441 |(% style="width:92px" %)**0x2183-0x2184**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet gateway|(% style="width:96px" %)U8[4] 442 442 |(% 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 443 -|(% style="width:92px" %)**0x218E -0x218F**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32444 -|(% style="width:92px" %)**0x2190 -0x2191**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage in the reference line of the current sensor, V|(% style="width:96px" %)REAL32445 -|(% style="width:92px" %)**0x2192 -0x2193**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32446 -|(% style="width:92px" %)**0x2194 -0x2195**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage in the reference line of the auxiliary current sensor, V|(% style="width:96px" %)REAL32447 -|(% style="width:92px" %)**0x219F -0x21A0**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32448 -|(% style="width:92px" %)**0x21A1 -0x21A2**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32419 +|(% style="width:92px" %)**0x218E**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32 420 +|(% 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 421 +|(% style="width:92px" %)**0x2192**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32 422 +|(% 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 423 +|(% style="width:92px" %)**0x219F**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32 424 +|(% style="width:92px" %)**0x21A1**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32 449 449 |(% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16 450 -|(% style="width:92px" %)**0x21C6 -0x21C7**|(% style="width:94px" %)2|(% style="width:368px" %)Calibrated voltage in the reference line of the auxiliary current sensor, V|(% style="width:96px" %)REAL32451 -|(% style="width:92px" %)**0x21CA -0x21CB**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32426 +|(% 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 427 +|(% style="width:92px" %)**0x21CA**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32 452 452 |(% style="width:92px" %)**0x2200-0x2203**|(% style="width:94px" %)4|(% style="width:368px" %)((( 453 453 Record #1 from the errors journal. First 32-bit word contains a timestamp, second 32-bit word contains errors 1 flags (see 0x2007-0x2008). 454 454 ... ... @@ -470,12 +470,12 @@ 470 470 |(% style="width:92px" %)**0x2208-0x227B**|(% style="width:94px" %) |(% style="width:368px" %)Records #3-31 from the errors journal|(% style="width:96px" %) 471 471 |(% style="width:92px" %)**0x227C-0x227F**|(% style="width:94px" %)4|(% style="width:368px" %)Record #32 from the errors journal|(% style="width:96px" %)U32[2] 472 472 |(% 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 473 -|(% style="width:92px" %)**0x2380 -0x2383**|(% 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]449 +|(% 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] 474 474 |(% style="width:92px" %)**0x2384-0x2387**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #2 from the errors journal|(% style="width:96px" %)U32[2] 475 475 |(% style="width:92px" %)**0x2388-0x23FB**|(% style="width:94px" %) |(% style="width:368px" %)Records data #3-31 from the errors journal|(% style="width:96px" %) 476 476 |(% style="width:92px" %)**0x23FC-0x23FF**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #32 from the errors journal|(% style="width:96px" %)U32[2] 477 -|(% style="width:92px" %)**0x2400 -0x2401**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the auxiliary current sensor, A|(% style="width:96px" %)REAL32478 -|(% style="width:92px" %)**0x2402 -**|(% style="width:94px" %)2|(% style="width:368px" %)(((453 +|(% style="width:92px" %)**0x2400**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the auxiliary current sensor, A|(% style="width:96px" %)REAL32 454 +|(% style="width:92px" %)**0x2402**|(% style="width:94px" %)2|(% style="width:368px" %)((( 479 479 Final battery current, A 480 480 481 481 Note — Typically it is the sum of the values measured by the main and auxiliary current sensors ... ... @@ -504,7 +504,7 @@ 504 504 |(% style="width:92px" %)**0x2426**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32 505 505 |(% style="width:92px" %)**0x2428**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum discharge current, A|(% style="width:96px" %)REAL32 506 506 507 -== =Holding registers ===483 +== 5.2.3 Holding registers == 508 508 509 509 (% style="width:653px" %) 510 510 |(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type**