Changes for page 5.2 Modbus protocol

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

From version 8.1
edited by Admin
on 2024/12/19 03:04
Change comment: There is no comment for this version
To version 16.4
edited by Admin
on 2026/04/24 10:29
Change comment: Update document after refactoring.

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -Battery management systems.BMS Main 2\.1.5\. Communication protocols.WebHome
1 +Battery management systems.BMS Main 2\.1 (End-of-Life).5\. Communication protocols.WebHome
Content
... ... @@ -240,7 +240,11 @@
240 240  
241 241  bit 25 – “Power up”;
242 242  
243 -bits 26-31 – reserved.
243 +bit 26 — signal “External 1”;
244 +
245 +bit 27 — signal “Heater (AUX)”;
246 +
247 +bits 28-31 — not used.
244 244  )))|(% style="width:96px" %)U32
245 245  |(% style="width:92px" %)**0x200B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
246 246  Discrete output signals (bitfield):
... ... @@ -299,7 +299,15 @@
299 299  
300 300  bit 13 – “General error”;
301 301  
302 -bits 14-31 — reserved.
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.
303 303  )))|(% style="width:96px" %)U32
304 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 305  |(% style="width:92px" %)**0x2011**|(% style="width:94px" %)1|(% style="width:368px" %)(((
... ... @@ -311,7 +311,7 @@
311 311  
312 312  bit 2 — device is ready;
313 313  
314 -bit 3 — data from the device is actual;
326 +bit 3 — reserved;
315 315  
316 316  bit 4 — temperature sensor #1 is present;
317 317  
... ... @@ -353,13 +353,19 @@
353 353  |(% style="width:92px" %)**0x20F4**|(% style="width:94px" %)1|(% style="width:368px" %)(((
354 354  Discrete input signals 2 (bitfield):
355 355  
356 -bit 0 “Fuse 2”;
368 +bit 0 “Fuse 2”;
357 357  
358 -bit 1 “Fuse 3”;
370 +bit 1 “Fuse 3”;
359 359  
360 -bit 2 “Circuit breaker status”;
372 +bit 2 “Circuit breaker status”;
361 361  
362 -bits 3-15 – reserved.
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.
363 363  )))|(% style="width:96px" %)U16
364 364  |(% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Battery state of charge (SOC), %|(% style="width:96px" %)REAL32
365 365  |(% style="width:92px" %)**0x2102**|(% style="width:94px" %)1|(% style="width:368px" %)Number of BMS Logic devices|(% style="width:96px" %)U16
... ... @@ -422,15 +422,15 @@
422 422  |(% style="width:92px" %)**0x2181-0x2182**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet netmask|(% style="width:96px" %)U8[4]
423 423  |(% style="width:92px" %)**0x2183-0x2184**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet gateway|(% style="width:96px" %)U8[4]
424 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" %)REAL32
425 -|(% style="width:92px" %)**0x218E**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32
426 -|(% 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
427 -|(% style="width:92px" %)**0x2192**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32
428 -|(% 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
429 -|(% style="width:92px" %)**0x219F**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32
430 -|(% style="width:92px" %)**0x21A1**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% 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" %)REAL32
444 +|(% 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" %)REAL32
445 +|(% style="width:92px" %)**0x2192-0x2193**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32
446 +|(% 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" %)REAL32
447 +|(% style="width:92px" %)**0x219F-0x21A0**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32
448 +|(% style="width:92px" %)**0x21A1-0x21A2**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32
431 431  |(% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16
432 -|(% 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
433 -|(% style="width:92px" %)**0x21CA**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32
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" %)REAL32
451 +|(% style="width:92px" %)**0x21CA-0x21CB**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32
434 434  |(% style="width:92px" %)**0x2200-0x2203**|(% style="width:94px" %)4|(% style="width:368px" %)(((
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  
... ... @@ -452,12 +452,12 @@
452 452  |(% style="width:92px" %)**0x2208-0x227B**|(% style="width:94px" %) |(% style="width:368px" %)Records #3-31 from the errors journal|(% style="width:96px" %)
453 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 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" %)U16
455 -|(% 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]
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]
456 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 457  |(% style="width:92px" %)**0x2388-0x23FB**|(% style="width:94px" %) |(% style="width:368px" %)Records data #3-31 from the errors journal|(% style="width:96px" %)
458 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" %)REAL32
460 -|(% style="width:92px" %)**0x2402**|(% style="width:94px" %)2|(% style="width:368px" %)(((
477 +|(% style="width:92px" %)**0x2400-0x2401**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the auxiliary current sensor, A|(% style="width:96px" %)REAL32
478 +|(% style="width:92px" %)**0x2402-0x2403**|(% style="width:94px" %)2|(% style="width:368px" %)(((
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
... ... @@ -479,12 +479,12 @@
479 479  
480 480  6 – Relaxed (after discharging).
481 481  )))|(% style="width:96px" %)U16
482 -|(% style="width:92px" %)**0x2411**|(% style="width:94px" %)2|(% style="width:368px" %)Duration of the battery state (0x2410), seconds|(% style="width:96px" %)U32
483 -|(% style="width:92px" %)**0x2420**|(% style="width:94px" %)2|(% style="width:368px" %)Nominal battery capacity, A×h|(% style="width:96px" %)REAL32
484 -|(% style="width:92px" %)**0x2422**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge voltage, V|(% style="width:96px" %)REAL32
485 -|(% style="width:92px" %)**0x2424**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum discharge voltage, V|(% style="width:96px" %)REAL32
486 -|(% style="width:92px" %)**0x2426**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32
487 -|(% style="width:92px" %)**0x2428**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum discharge current, A|(% style="width:96px" %)REAL32
500 +|(% style="width:92px" %)**0x2411-0x2412**|(% style="width:94px" %)2|(% style="width:368px" %)Duration of the battery state (0x2410), seconds|(% style="width:96px" %)U32
501 +|(% style="width:92px" %)**0x2420-0x2421**|(% style="width:94px" %)2|(% style="width:368px" %)Nominal battery capacity, A×h|(% style="width:96px" %)REAL32
502 +|(% style="width:92px" %)**0x2422-0x2423**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge voltage, V|(% style="width:96px" %)REAL32
503 +|(% style="width:92px" %)**0x2424-0x2425**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum discharge voltage, V|(% style="width:96px" %)REAL32
504 +|(% style="width:92px" %)**0x2426-0x2427**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32
505 +|(% style="width:92px" %)**0x2428-0x2429**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum discharge current, A|(% style="width:96px" %)REAL32
488 488  
489 489  === Holding registers ===
490 490  
... ... @@ -491,7 +491,7 @@
491 491  (% style="width:653px" %)
492 492  |(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type**
493 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" %)(((
512 +|(% style="width:92px" %)**0x4100-0x4101**|(% style="width:94px" %)2|(% style="width:368px" %)(((
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:
... ... @@ -662,3 +662,39 @@
662 662  
663 663  2-65535 – use the physical input "Fuse 3".
664 664  )))|(% style="width:96px" %)U16
683 +|(% style="width:92px" %)**0x5112**|(% style="width:94px" %)1|(% style="width:368px" %)(((
684 +Software control of the "Circuit breaker status" signal. Allowable values:
685 +
686 +0 – clear the signal;
687 +
688 +1 – set the signal;
689 +
690 +2-65535 – use the physical input "Circuit breaker status".
691 +)))|(% style="width:96px" %)U16
692 +|(% style="width:92px" %)**0x5113**|(% style="width:94px" %)1|(% style="width:368px" %)(((
693 +Software control of the "Balancing request" signal. Allowable values:
694 +
695 +0 – clear the signal;
696 +
697 +1 – set the signal;
698 +
699 +2-65535 – use the physical input "Balancing request".
700 +)))|(% style="width:96px" %)U16
701 +|(% style="width:92px" %)**0x5114**|(% style="width:94px" %)1|(% style="width:368px" %)(((
702 +Software control of the "Close Main contactor" signal. Allowable values:
703 +
704 +0 – clear the signal;
705 +
706 +1 – set the signal;
707 +
708 +2-65535 – use the physical input "Close Main contactor".
709 +)))|(% style="width:96px" %)U16
710 +|(% style="width:92px" %)**0x5115**|(% style="width:94px" %)1|(% style="width:368px" %)(((
711 +Software control of the "Close External 1" signal. Allowable values:
712 +
713 +0 – clear the signal;
714 +
715 +1 – set the signal;
716 +
717 +2-65535 – use the physical input "Close External 1".
718 +)))|(% style="width:96px" %)U16