Wiki source code of 6.2 Modbus protocol

Version 1.3 by Admin on 2025/02/04 12:03

Hide last authors
Admin 1.1 1 (% data-numbered-headings-start="6" style="--numbered-headings-start: 5;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
2 = Communication protocols =
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 The BMS Main 3X device provides information about the battery system using Modbus protocol. The BMS is a Modbus-server and it responds to the Modbus-client’s commands.
10
11 Interaction with the device is performed over the RS-485 bus (Modbus RTU) or the Ethernet network (Modbus TCP).
12
13 The RS-485 bus connection parameters:
14
15 * baud rate, bps — 600, 1200, 2400, 4800, 9600 (by default), 19200, 38400, 57600, 115200;
16 * word length, bits — 8;
17 * parity — none;
18 * board address (by default) — 64.
19
20 There is a description of the Input и Holding registers below. Column "Type" contains method of parameters coding:
21
22 * CHAR – character (signed 8-bit integer number);
23 * U8 — unsigned 8-bit integer number;
24 * U16 — unsigned 16-bit integer number;
25 * S16 — signed 16-bit integer number;
26 * U32 — unsigned 32-bit integer number;
27 * REAL32 — single precision floating point number ([[IEEE 754>>url:https://ru.wikipedia.org/wiki/IEEE_754]] standard);
28 * U8[x] — array of unsigned 8-bit integer numbers having a length of x;
29 * U16[x] — array of unsigned 16-bit integer numbers having a length of x;
30 * REAL32[x] — array of single precision floating point numbers having a length of x.
31
32 The bytes order of the word is **little endian**.
33
34 === Input registers ===
35
36 (% style="width:662px" %)
37 |(% style="width:44px" %)**Register address**|(% style="width:55px" %)**Number of registers**|(% style="width:482px" %)**Content**|(% style="width:44px" %)**Type**
38 |(% style="width:44px" %)**0x0000**|(% style="width:55px" %)1|(% style="width:482px" %)(((
39 Hardware version:
40
41 byte 0 — minor;
42
43 byte 1 — major.
44 )))|(% style="width:44px" %)U8[2]
45 |(% style="width:44px" %)**0x0001-0x0002**|(% style="width:55px" %)2|(% style="width:482px" %)(((
46 Firmware version:
47
48 byte 0 — patch;
49
50 byte 1 — minor;
51
52 byte 2 — major;
53
54 byte 3 — not used (set to 0).
55 )))|(% style="width:44px" %)U8[4]
56 |(% style="width:44px" %)**0x0003-0x0004**|(% style="width:55px" %)2|(% style="width:482px" %)(((
57 Bootloader (ubl) version:
58
59 byte 0 — patch;
60
61 byte 1 — minor;
62
63 byte 2 — major;
64
65 byte 3 — not used (set to 0).
66 )))|(% style="width:44px" %)U8[4]
67 |(% colspan="4" style="width:659px" %)**Battery state**
68 |(% style="width:44px" %)**0x1000**|(% style="width:55px" %)1|(% style="width:482px" %)Battery state of charge (SOC), %|(% style="width:44px" %)U16
69 |(% style="width:44px" %)**0x1001**|(% style="width:55px" %)1|(% style="width:482px" %)Battery state of health (SOH), %|(% style="width:44px" %)U16
70 |(% style="width:44px" %)**0x1002**|(% style="width:55px" %)1|(% style="width:482px" %)(((
71 Battery balancing efficiency, %
72
73 Note – The value is calculated as a minimal balancing efficiency among battery modules.
74 )))|(% style="width:44px" %)U16
75 |(% style="width:44px" %)**0x1003**|(% style="width:55px" %)1|(% style="width:482px" %)(((
76 Battery state (enumeration):
77
78 0 – Off (the battery is off);
79
80 1 – Pre-balancing (the battery modules are precharging);
81
82 2 – Balancing (the battery modules are joined and balancing);
83
84 3 – Precharging (the modular battery is precharging);
85
86 4 – Idle (the modular battery is idle (charging and discharging currents are not detected));
87
88 5 – Charging (the modular battery is charging);
89
90 6 – Discharging (the modular battery is discharging).
91 )))|(% style="width:44px" %)U16
92 |(% style="width:44px" %)**0x1004-0x1005**|(% style="width:55px" %)2|(% style="width:482px" %)Battery voltage, V|(% style="width:44px" %)REAL32
93 |(% style="width:44px" %)**0x1006-0x1007**|(% style="width:55px" %)2|(% style="width:482px" %)Battery current, A|(% style="width:44px" %)REAL32
94 |(% style="width:44px" %)**0x1008-0x1009**|(% style="width:55px" %)2|(% style="width:482px" %)Battery resistance, Ohm|(% style="width:44px" %)REAL32
95 |(% style="width:44px" %)**0x100A-0x100B**|(% style="width:55px" %)2|(% style="width:482px" %)Temperature measured by external sensor 1, °C|(% style="width:44px" %)REAL32
96 |(% style="width:44px" %)**0x100C-0x100D**|(% style="width:55px" %)2|(% style="width:482px" %)Temperature measured by external sensor 2, °C|(% style="width:44px" %)REAL32
97 |(% style="width:44px" %)**0x100E-0x100F**|(% style="width:55px" %)2|(% style="width:482px" %)Minimum temperature among battery modules, °C|(% style="width:44px" %)REAL32
98 |(% style="width:44px" %)**0x1010-0x1011**|(% style="width:55px" %)2|(% style="width:482px" %)Maximum temperature among battery modules, °C|(% style="width:44px" %)REAL32
99 |(% style="width:44px" %)**0x1012-0x1013**|(% style="width:55px" %)2|(% style="width:482px" %)Battery capacity, A×h|(% style="width:44px" %)REAL32
100 |(% style="width:44px" %)**0x1014-0x1015**|(% style="width:55px" %)2|(% style="width:482px" %)Energy received from the charger, W×h|(% style="width:44px" %)REAL32
101 |(% style="width:44px" %)**0x1016-0x1017**|(% style="width:55px" %)2|(% style="width:482px" %)Energy consumed by the load, W×h|(% style="width:44px" %)REAL32
102 |(% style="width:44px" %)**0x1018-0x1019**|(% style="width:55px" %)2|(% style="width:482px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:44px" %)REAL32
103 |(% style="width:44px" %)**0x101A-0x101B**|(% style="width:55px" %)2|(% style="width:482px" %)Battery charge current limit, A|(% style="width:44px" %)REAL32
104 |(% style="width:44px" %)**0x101C-0x101D**|(% style="width:55px" %)2|(% style="width:482px" %)Battery discharge current limit, A|(% style="width:44px" %)REAL32
105 |(% style="width:44px" %)**0x101E-0x101F**|(% style="width:55px" %)2|(% style="width:482px" %)Duration of the battery state (0x1003), seconds|(% style="width:44px" %)U32
106 |(% style="width:44px" %)**0x1020-0x1021**|(% style="width:55px" %)2|(% style="width:482px" %)(((
107 Internal signals (bitfield):
108
109 bit 0 – signal “Init” (current sensor calibration or battery modules scanning is performed);
110
111 bit 1 – signal “Charging” (0 – open, 1 – closed);
112
113 bit 2 – signal “Discharging” (0 – open, 1 – closed);
114
115 bit 3 – signal “Charging current present”;
116
117 bit 4 – signal “Discharging current present”;
118
119 bit 5 – signal “Charging/Discharging” (0 – open, 1 – closed);
120
121 bit 6 – signal “Precharging” (0 – open, 1 – closed);
122
123 bit 7 – signal “Interlock”;
124
125 bit 8 – signal “Fuse 1”;
126
127 bit 9 – signal “Fuse 2”;
128
129 bit 10 – signal “Fuse 3”;
130
131 bit 11 – signal “Heater” (0 – off, 1 – on);
132
133 bit 12 – signal “Cooler” (0 – off, 1 – on);
134
135 bit 13 – signal “Main contactor” (0 – open, 1 – closed);
136
137 bit 14 – signal “Service reset”;
138
139 bit 15 – signal “Coolant pump”;
140
Admin 1.3 141 bit 16 – signal “General error”;
142
143 bits 17-31 – not used.
Admin 1.1 144 )))|(% style="width:44px" %)U32
145 |(% style="width:44px" %)**0x1022-0x1023**|(% style="width:55px" %)2|(% style="width:482px" %)(((
146 Common errors 1 (bitfield):
147
148 bit 0 – error “Battery cover”;
149
150 bit 1 – error “Modules offline”;
151
152 bit 2 – “Critical error”;
153
154 bit 3 – error “Voltage unbalance (CH)”;
155
156 bit 4 – error “Voltage unbalance (DCH)”;
157
158 bit 5 – error “Current unbalance (CH)”;
159
160 bit 6 – error “Current unbalance (DCH)”;
161
162 bit 7 – error “Charging current unbalance”;
163
164 bit 8 – error “Discharging current unbalance”;
165
166 bit 9 – reserved (set to 0);
167
168 bit 10 – “CH contactor feedback error”;
169
170 bit 11 – “DCH contactor feedback error”;
171
172 bit 12 – “CH/DCH contactor feedback error”;
173
174 bit 13 – “Insulation fault”;
175
176 bit 14 – error “WDT reset”;
177
178 bit 15 – error “Overcurrent”;
179
180 bit 16 – error “Power switch error”;
181
182 bit 17 – error “High humidity”;
183
184 bit 18 – error “Water”;
185
186 bit 19 – error “Short circuit”;
187
188 bit 20 – error “Contactor high temperature”;
189
190 bit 21 – error “Stuck contactor”;
191
192 bit 22 – “HVIL error”;
193
194 bit 23 – “ADC error”;
195
196 bit 24 – “Current sensor error”;
197
198 bit 25 – “Mount error”;
199
200 bit 26 – “FS error”;
201
202 bit 27 – “High voltage fault”;
203
204 bit 28 – “PCH contactor feedback error”;
205
206 bit 29 – “Main contactor feedback error”;
207
208 bit 30 – “Precharge error”;
209
210 bit 31 – “Current limit error”.
211 )))|(% style="width:44px" %)U32
212 |(% style="width:44px" %)**0x1024-0x1025**|(% style="width:55px" %)2|(% style="width:482px" %)(((
213 Voltage unbalance CH errors (bitfield):
214
215 bit i – error of the (i+1)^^th^^ battery module.
216 )))|(% style="width:44px" %)U32
217 |(% style="width:44px" %)**0x1026-0x1027**|(% style="width:55px" %)2|(% style="width:482px" %)(((
218 Voltage unbalance DCH errors (bitfield).
219
220 Note – Registry mapping is the same as for registers 0x1024-0x1025
221 )))|(% style="width:44px" %)U32
222 |(% style="width:44px" %)**0x1028-0x1029**|(% style="width:55px" %)2|(% style="width:482px" %)(((
223 Current unbalance CH errors (bitfield).
224
225 Note – Registry mapping is the same as for registers 0x1024-0x1025
226 )))|(% style="width:44px" %)U32
227 |(% style="width:44px" %)**0x102A-0x102B**|(% style="width:55px" %)2|(% style="width:482px" %)(((
228 Current unbalance DCH errors (bitfield).
229
230 Note – Registry mapping is the same as for registers 0x1024-0x1025
231 )))|(% style="width:44px" %)U32
232 |(% style="width:44px" %)**0x102C-0x102D**|(% style="width:55px" %)2|(% style="width:482px" %)(((
233 Charging current unbalance errors (bitfield).
234
235 Note – Registry mapping is the same as for registers 0x1024-0x1025
236 )))|(% style="width:44px" %)U32
237 |(% style="width:44px" %)**0x102E-0x102F**|(% style="width:55px" %)2|(% style="width:482px" %)(((
238 Discharging current unbalance errors (bitfield).
239
240 Note – Registry mapping is the same as for registers 0x1024-0x1025
241 )))|(% style="width:44px" %)U32
242 |(% style="width:44px" %)**0x1030-0x1031**|(% style="width:55px" %)2|(% style="width:482px" %)(((
243 Cumulative internal signals (logical OR of all “Internal signals” values of the battery modules; bitfield):
244
245 bit 0 — signal "Low SOC";
246
247 bit 1 — signal "High charging current";
248
249 bit 2 — signal “Charging” (0 – open, 1 – closed);
250
251 bit 3 — signal "Allow charging" (0 – open, 1 – closed);
252
253 bit 4 — signal "Charging current present";
254
255 bit 5 — signal “Discharging” (0 – open, 1 – closed);
256
257 bit 6 — signal "Discharging current present";
258
259 bit 7 — signal "Voltage too high for charging";
260
261 bit 8 — signal "Heater" (0 – off, 1 – on);
262
263 bit 9 — signal "Cooler" (0 – off, 1 – on);
264
265 bit 10 — signal “Shutdown request (HYG/Spirit)”;
266
267 bit 11 — signal “Init” (current sensor calibration or BMS Logic scanning is performed);
268
269 bit 12 — signal “Precharging” (0 – open, 1 – closed);
270
271 bit 13 — signal “Shutdown request (Combilift)”;
272
273 bit 14 — signal "Cell analysis";
274
275 bit 15 — signal “Balancing 1”;
276
277 bit 16 — signal “Balancing 2”;
278
279 bit 17 — signal “Discharging (AUX)” (0 – open, 1 – closed);
280
281 bit 18 — signal “Power down ACK”;
282
283 bit 19 — signal “Crown EWS”;
284
285 bit 20 — signal “Main contactor” (0 – open, 1 – closed);
286
287 bit 21 — signal “Service reset”;
288
289 bit 22 — signal “Charging/Discharging” (0 – open, 1 – closed);
290
291 bit 23 — signal “Ready to charge”;
292
293 bit 24 — signal “Ready to discharge”;
294
295 bit 25 — signal “Power up”;
296
297 bits 26-31 — not used.
298 )))|(% style="width:44px" %)U32
299 |(% style="width:44px" %)**0x1032-0x1033**|(% style="width:55px" %)2|(% style="width:482px" %)(((
300 Cumulative errors 1 (logical OR of all “Errors 1” values of the battery modules; bitfield):
301
302 bit 0 — error "Overcurrent";
303
304 bit 1 — error "Undervoltage";
305
306 bit 2 — error "Overvoltage";
307
308 bit 3 — error "Low temperature (DCH)";
309
310 bit 4 — error "High temperature (DCH)";
311
312 bit 5 — error "Battery cover";
313
314 bit 6 — error "High humidity";
315
316 bit 7 — error "Water";
317
318 bit 8 — error "Logic high temperature";
319
320 bit 9 — error "Logic offline";
321
322 bit 10 — "Critical error";
323
324 bit 11 — "Crown error";
325
326 bit 12 — "Cell count error";
327
328 bit 13 — error "HYG offline";
329
330 bit 14 — reserved (set to 0);
331
332 bit 15 — error "Combilift offline";
333
334 bit 16 — error "Short circuit";
335
336 bit 17 — error "High contactor temperature";
337
338 bit 18 — "Logic count error";
339
340 bit 19 — "ADC error";
341
342 bit 20 — “Current sensor error”;
343
344 bit 21 — “CH contactor cycles error”;
345
346 bit 22 — “DCH contactor cycles error”;
347
348 bit 23 — error "Shunt offline";
349
350 bit 24 — “Shunt error”;
351
352 bit 25 — reserved (set to 0);
353
354 bit 26 — error “WDT reset”;
355
356 bit 27 — error "No temperature sensors";
357
358 bit 28 — error "Temperature sensor shorted";
359
360 bit 29 — error “Spirit offline”;
361
362 bits 30-31 – not used.
363 )))|(% style="width:44px" %)U32
364 |(% style="width:44px" %)**0x1034-0x1035**|(% style="width:55px" %) |(% style="width:482px" %)(((
365 Cumulative errors 2 (logical OR of all “Errors 2” values of the battery modules; bitfield):
366
367 bit 0 — error "Low temperature (CH)";
368
369 bit 1 — error “High temperature (CH)”;
370
371 bit 2 — reserved (set to 0);
372
373 bit 3 — reserved (set to 0);
374
375 bit 4 — error “Unallowable charging”;
376
377 bit 5 — error “Stuck contactor”;
378
379 bit 6 — “CH contactor feedback error”;
380
381 bit 7 — “DCH contactor feedback error”;
382
383 bit 8 — “Insulation fault”;
384
385 bit 9 — “PCH contactor feedback error”;
386
387 bit 10 — “CH/DCH contactor feedback error”;
388
389 bit 11 — “Main contactor feedback error”;
390
391 bit 12 — reserved (set to 0);
392
393 bit 13 — “General error”;
394
395 bit 14 — “High voltage fault”;
396
397 bit 15 — “Power switch error”;
398
399 bit 16 — “HVIL error”;
400
401 bit 17 — “Precharge error”;
402
403 bit 18 — “Power fault”;
404
405 bits 19-31 — not used.
406 )))|(% style="width:44px" %)U32
407 |(% style="width:44px" %)**0x1036-0x1037**|(% style="width:55px" %)2|(% style="width:482px" %)(((
408 Remaining discharge time, seconds.
409
410 Note – The value 0xFFFFFFFF corresponds to the case when the device cannot calculate the remaining time.
411 )))|(% style="width:44px" %)U32
412 |(% style="width:44px" %)**0x1038-0x1039**|(% style="width:55px" %)2|(% style="width:482px" %)(((
413 Common errors 2 (bitfield):
414
415 bit 0 – “Power fault”;
416
417 bits 1-31 – not used.
418 )))|(% style="width:44px" %)U32
419 |(% style="width:44px" %)**0x103A-0x103B**|(% style="width:55px" %)2|(% style="width:482px" %)(((
420 Discrete input signals (bitfield):
421
422 bit 0 – signal “Battery cover”;
423
424 bit 1 – signal “Charge request”;
425
426 bit 2 – signal “Precharge request”;
427
428 bit 3 – signal “Discharge request”;
429
430 bit 4 – signal “CH contactor feedback”;
431
432 bit 5 – signal “DCH contactor feedback”;
433
434 bit 6 – signal “CH/DCH contactor feedback”;
435
436 bit 7 – signal “Insulation status”;
437
438 bit 8 – signal “Join to charge”;
439
440 bit 9 – signal “Join to discharge;
441
442 bit 10 – signal “PCH contactor feedback”;
443
444 bit 11 – signal “Main contactor feedback”;
445
446 bit 12 – signal “Interlock”;
447
448 bit 13 – signal “Power down request”;
449
450 bits 14-31 – not used.
451 )))|(% style="width:44px" %)U32
452 |(% colspan="4" style="width:659px" %)**Module #1 state: base address 0x2000**
453 |(% style="width:44px" %)(((
454 **0x2000**
455
456 **(offset 0x0000)**
457 )))|(% style="width:55px" %)1|(% style="width:482px" %)(((
458 Module state (enumeration):
459
460 0 – Unknown;
461
462 1 – Charging ON;
463
464 2 - Charging OFF;
465
466 3 – Relaxed (after charging);
467
468 4 – Discharging ON;
469
470 5 – Discharging OFF;
471
472 6 – Relaxed (after discharging).
473 )))|(% style="width:44px" %)U16
474 |(% style="width:44px" %)(((
475 **0x2001**
476
477 **(offset 0x0001)**
478 )))|(% style="width:55px" %)1|(% style="width:482px" %)Module state of charge (SOC), %|(% style="width:44px" %)U16
479 |(% style="width:44px" %)(((
480 **0x2002**
481
482 **(offset 0x0002)**
483 )))|(% style="width:55px" %)1|(% style="width:482px" %)Module state of health (SOH), %|(% style="width:44px" %)U16
484 |(% style="width:44px" %)(((
485 **0x2003**
486
487 **(offset 0x0003)**
488 )))|(% style="width:55px" %)1|(% style="width:482px" %)Module balancing efficiency, %|(% style="width:44px" %)U16
489 |(% style="width:44px" %)**0x2004-0x2008 (offset 0x0004)**|(% style="width:55px" %)5|(% style="width:482px" %)(((
490 BMS firmware version.
491
492 Example: “1.59.1”
493 )))|(% style="width:44px" %)CHAR[10]
494 |(% style="width:44px" %)(((
495 **0x2009**
496
497 **(offset 0x0009)**
498 )))|(% style="width:55px" %)1|(% style="width:482px" %)Reserved|(% style="width:44px" %)U16
499 |(% style="width:44px" %)(((
500 **0x200A-0x200B**
501
502 **(offset 0x000A)**
503 )))|(% style="width:55px" %)2|(% style="width:482px" %)Module voltage, V|(% style="width:44px" %)REAL32
504 |(% style="width:44px" %)(((
505 **0x200C-0x200D**
506
507 **(offset 0x000C)**
508 )))|(% style="width:55px" %)2|(% style="width:482px" %)Module current, А|(% style="width:44px" %)REAL32
509 |(% style="width:44px" %)(((
510 **0x200E-0x200F**
511
512 **(offset 0x000E)**
513 )))|(% style="width:55px" %)2|(% style="width:482px" %)Module resistance, Ohm|(% style="width:44px" %)REAL32
514 |(% style="width:44px" %)(((
515 **0x2010-0x2011**
516
517 **(offset 0x0010)**
518 )))|(% style="width:55px" %)2|(% style="width:482px" %)Minimum cell temperature|(% style="width:44px" %)REAL32
519 |(% style="width:44px" %)(((
520 **0x2012-0x2013**
521
522 **(offset 0x0012)**
523 )))|(% style="width:55px" %)2|(% style="width:482px" %)Maximum cell temperature|(% style="width:44px" %)REAL32
524 |(% style="width:44px" %)(((
525 **0x2014-0x2015**
526
527 **(offset 0x0014)**
528 )))|(% style="width:55px" %)2|(% style="width:482px" %)Minimum cell voltage|(% style="width:44px" %)REAL32
529 |(% style="width:44px" %)(((
530 **0x2016-0x2017**
531
532 **(offset 0x0016)**
533 )))|(% style="width:55px" %)2|(% style="width:482px" %)Maximum cell voltage|(% style="width:44px" %)REAL32
534 |(% style="width:44px" %)(((
535 **0x2018-0x2019**
536
537 **(offset 0x0018)**
538 )))|(% style="width:55px" %)2|(% style="width:482px" %)Effective capacity, A×h|(% style="width:44px" %)REAL32
539 |(% style="width:44px" %)(((
540 **0x201A-0x201B**
541
542 **(offset 0x001A)**
543 )))|(% style="width:55px" %)2|(% style="width:482px" %)Charge current limit, A|(% style="width:44px" %)REAL32
544 |(% style="width:44px" %)(((
545 **0x201C-0x201D**
546
547 **(offset 0x001C)**
548 )))|(% style="width:55px" %)2|(% style="width:482px" %)Discharge current limit, A|(% style="width:44px" %)REAL32
549 |(% style="width:44px" %)(((
550 **0x201E-0x201F**
551
552 **(offset 0x001E)**
553 )))|(% style="width:55px" %)2|(% style="width:482px" %)Energy received from the charger, W×h|(% style="width:44px" %)REAL32
554 |(% style="width:44px" %)(((
555 **0x2020-0x2021**
556
557 **(offset 0x0020)**
558 )))|(% style="width:55px" %)2|(% style="width:482px" %)Energy consumed by the load, W×h|(% style="width:44px" %)REAL32
559 |(% style="width:44px" %)(((
560 **0x2022-0x2023**
561
562 **(offset 0x0022)**
563 )))|(% style="width:55px" %)2|(% style="width:482px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:44px" %)REAL32
564 |(% style="width:44px" %)(((
565 **0x2024-0x2025**
566
567 **(offset 0x0024)**
568 )))|(% style="width:55px" %)2|(% style="width:482px" %)Number of 80% charge/discharge cycles|(% style="width:44px" %)REAL32
569 |(% style="width:44px" %)(((
570 **0x2026-0x2027**
571
572 **(offset 0x0026)**
573 )))|(% style="width:55px" %)2|(% style="width:482px" %)(((
574 Internal signals (bitfield).
575
576 Note – Registry mapping is the same as for 0x1030-0x1031.
577 )))|(% style="width:44px" %)U32
578 |(% style="width:44px" %)(((
579 **0x2028-0x2029**
580
581 **(offset 0x0028)**
582 )))|(% style="width:55px" %)2|(% style="width:482px" %)(((
583 Errors 1 (bitfield).
584
585 Note – Registry mapping is the same as for 0x1032-0x1033.
586 )))|(% style="width:44px" %)U32
587 |(% style="width:44px" %)(((
588 **0x202A-0x202B**
589
590 **(offset 0x002A)**
591 )))|(% style="width:55px" %)2|(% style="width:482px" %)(((
592 Errors 2 (bitfield).
593
594 Note – Registry mapping is the same as for 0x1034-0x1035.
595 )))|(% style="width:44px" %)U32
596 |(% style="width:44px" %)(((
597 **0x202C-0x202D**
598
599 **(offset 0x002C)**
600 )))|(% style="width:55px" %)2|(% style="width:482px" %)(((
601 Discrete input signals (bitfield):
602
603 bit 0 — signal "Battery cover";
604
605 bit 1 — signal "Charger connected";
606
607 bit 2 — signal "Power up/down request";
608
609 bit 3 — signal "Inhibit charging";
610
611 bit 4 — signal "Inhibit discharging";
612
613 bit 5 — signal “CH contactor feedback”;
614
615 bit 6 — signal “DCH contactor feedback”;
616
617 bit 7 — signal “Insulation status”;
618
619 bit 8 – signal “Charge request”;
620
621 bit 9 – signal “Precharge request”;
622
623 bit 10 – signal “Discharge request”;
624
625 bit 11 – signal “PCH contactor feedback”;
626
627 bit 12 – signal “CH/DCH contactor feedback”;
628
629 bit 13 – signal “Main contactor feedback”;
630
631 bit 14 – signal “Interlock”;
632
633 bit 15 – signal “Fuse 1”;
634
635 bit 16 – signal “Fuse 2”;
636
637 bit 17 - signal “Fuse 3”;
638
639 bit 18 – signal “Circuit breaker status”;
640
641 bits 19-31 – reserved.
642 )))|(% style="width:44px" %)U32
643 |(% style="width:44px" %)(((
644 **0x202E-0x202F**
645
646 **(offset 0x002E)**
647 )))|(% style="width:55px" %)2|(% style="width:482px" %)Module depth of discharge, A×h|(% style="width:44px" %)REAL32
648 |(% colspan="4" style="width:659px" %)(((
649 **Module #2 state: base address 0x2200**
650
651 Registries have the same format as for Module #1
652 )))
653 |(% colspan="4" style="width:659px" %)(((
654 **Module #3 state: base address 0x2400**
655
656 Registries have the same format as for Module #1
657 )))
658 |(% colspan="4" style="width:659px" %)(((
659 **Module #4 state: base address 0x2600**
660
661 Registries have the same format as for Module #1
662 )))
663 |(% colspan="4" style="width:659px" %)(((
664 **Module #5 state: base address 0x2800**
665
666 Registries have the same format as for Module #1
667 )))
668 |(% colspan="4" style="width:659px" %)(((
669 **Module #6 state: base address 0x2A00**
670
671 Registries have the same format as for Module #1
672 )))
673 |(% colspan="4" style="width:659px" %)(((
674 **Module #7 state: base address 0x2C00**
675
676 Registries have the same format as for Module #1
677 )))
678 |(% colspan="4" style="width:659px" %)(((
679 **Module #8 state: base address 0x2E00**
680
681 Registries have the same format as for Module #1
682 )))
683 |(% colspan="4" style="width:659px" %)(((
684 **Module #9 state: base address 0x3000**
685
686 Registries have the same format as for Module #1
687 )))
688 |(% colspan="4" style="width:659px" %)(((
689 **Module #10 state: base address 0x3200**
690
691 Registries have the same format as for Module #1
692 )))
693 |(% colspan="4" style="width:659px" %)(((
694 **Module #11 state: base address 0x3400**
695
696 Registries have the same format as for Module #1
697 )))
698 |(% colspan="4" style="width:659px" %)(((
699 **Module #12 state: base address 0x3600**
700
701 Registries have the same format as for Module #1
702 )))
703 |(% colspan="4" style="width:659px" %)(((
704 **Module #13 state: base address 0x3800**
705
706 Registries have the same format as for Module #1
707 )))
708 |(% colspan="4" style="width:659px" %)(((
709 **Module #14 state: base address 0x3A00**
710
711 Registries have the same format as for Module #1
712 )))
713 |(% colspan="4" style="width:659px" %)(((
714 **Module #15 state: base address 0x3C00**
715
716 Registries have the same format as for Module #1
717 )))
718 |(% colspan="4" style="width:659px" %)(((
719 **Module #16 state: base address 0x3E00**
720
721 Registries have the same format as for Module #1
722 )))
723 |(% colspan="4" style="width:659px" %)(((
724 **Module #17 state: base address 0x4000**
725
726 Registries have the same format as for Module #1
727 )))
728 |(% colspan="4" style="width:659px" %)(((
729 **Module #18 state: base address 0x4200**
730
731 Registries have the same format as for Module #1
732 )))
733 |(% colspan="4" style="width:659px" %)(((
734 **Module #19 state: base address 0x4400**
735
736 Registries have the same format as for Module #1
737 )))
738 |(% colspan="4" style="width:659px" %)(((
739 **Module #20 state: base address 0x4600**
740
741 Registries have the same format as for Module #1
742 )))
743 |(% colspan="4" style="width:659px" %)(((
744 **Module #21 state: base address 0x4800**
745
746 Registries have the same format as for Module #1
747 )))
748 |(% colspan="4" style="width:659px" %)(((
749 **Module #22 state: base address 0x4A00**
750
751 Registries have the same format as for Module #1
752 )))
753 |(% colspan="4" style="width:659px" %)(((
754 **Module #23 state: base address 0x4C00**
755
756 Registries have the same format as for Module #1
757 )))
758 |(% colspan="4" style="width:659px" %)(((
759 **Module #24 state: base address 0x4E00**
760
761 Registries have the same format as for Module #1
762 )))
763 |(% colspan="4" style="width:659px" %)(((
764 **Module #25 state: base address 0x5000**
765
766 Registries have the same format as for Module #1
767 )))
768 |(% colspan="4" style="width:659px" %)(((
769 **Module #26 state: base address 0x5200**
770
771 Registries have the same format as for Module #1
772 )))
773 |(% colspan="4" style="width:659px" %)(((
774 **Module #27 state: base address 0x5400**
775
776 Registries have the same format as for Module #1
777 )))
778 |(% colspan="4" style="width:659px" %)(((
779 **Module #28 state: base address 0x5600**
780
781 Registries have the same format as for Module #1
782 )))
783 |(% colspan="4" style="width:659px" %)(((
784 **Module #29 state: base address 0x5800**
785
786 Registries have the same format as for Module #1
787 )))
788 |(% colspan="4" style="width:659px" %)(((
789 **Module #30 state: base address 0x5A00**
790
791 Registries have the same format as for Module #1
792 )))
793 |(% colspan="4" style="width:659px" %)(((
794 **Module #31 state: base address 0x5C00**
795
796 Registries have the same format as for Module #1
797 )))
798 |(% colspan="4" style="width:659px" %)(((
799 **Module #32 state: base address 0x5E00**
800
801 Registries have the same format as for Module #1
802 )))
803
804 === Holding registers ===
805
806 (% style="width:662px" %)
807 |(% style="width:4px" %)**Register address**|(% style="width:47px" %)**Number of registers**|(% style="width:468px" %)**Content**|(% style="width:58px" %)**Type**
808 |(% style="width:4px" %)**0x5000**|(% style="width:47px" %)1|(% style="width:468px" %)(((
809 Software control of the "Battery cover" signal. Allowable values:
810
811 0 – clear the signal;
812
813 1 – set the signal;
814
815 2-65535 – use the physical input "Battery cover".
816 )))|(% style="width:58px" %)U16
817 |(% style="width:4px" %)**0x5001**|(% style="width:47px" %)1|(% style="width:468px" %)(((
818 Software control of the "Charge request" signal. Allowable values:
819
820 0 – clear the signal;
821
822 1 – set the signal;
823
824 2-65535 – use the physical input "Charge request".
825 )))|(% style="width:58px" %)U16
826 |(% style="width:4px" %)**0x5002**|(% style="width:47px" %)1|(% style="width:468px" %)(((
827 Software control of the "Precharge request" signal. Allowable values:
828
829 0 – clear the signal;
830
831 1 – set the signal;
832
833 2-65535 – use the physical input "Precharge request".
834 )))|(% style="width:58px" %)U16
835 |(% style="width:4px" %)**0x5003**|(% style="width:47px" %)1|(% style="width:468px" %)(((
836 Software control of the "Discharge request" signal. Allowable values:
837
838 0 – clear the signal;
839
840 1 – set the signal;
841
842 2-65535 – use the physical input "Discharge request".
843 )))|(% style="width:58px" %)U16
844 |(% style="width:4px" %)**0x5004**|(% style="width:47px" %)1|(% style="width:468px" %)(((
845 Software control of the "CH contactor feedback" signal. Allowable values:
846
847 0 – clear the signal;
848
849 1 – set the signal;
850
851 2-65535 – use the physical input "CH contactor feedback".
852 )))|(% style="width:58px" %)U16
853 |(% style="width:4px" %)**0x5005**|(% style="width:47px" %)1|(% style="width:468px" %)(((
854 Software control of the "DCH contactor feedback" signal. Allowable values:
855
856 0 – clear the signal;
857
858 1 – set the signal;
859
860 2-65535 – use the physical input “DCH contactor feedback".
861 )))|(% style="width:58px" %)U16
862 |(% style="width:4px" %)**0x5006**|(% style="width:47px" %)1|(% style="width:468px" %)(((
863 Software control of the "CH/DCH contactor feedback" signal. Allowable values:
864
865 0 – clear the signal;
866
867 1 – set the signal;
868
869 2-65535 – use the physical input "CH/DCH contactor feedback".
870 )))|(% style="width:58px" %)U16
871 |(% style="width:4px" %)**0x5007**|(% style="width:47px" %)1|(% style="width:468px" %)(((
872 Software control of the "Insulation status" signal. Allowable values:
873
874 0 – clear the signal;
875
876 1 – set the signal;
877
878 2-65535 – use the physical input "Insulation status".
879 )))|(% style="width:58px" %)U16
880 |(% style="width:4px" %)**0x5008**|(% style="width:47px" %)1|(% style="width:468px" %)(((
881 Software control of the "Join to charge" signal. Allowable values:
882
883 0 – clear the signal;
884
885 1 – set the signal;
886
887 2-65535 – use the physical input "Join to charge".
888 )))|(% style="width:58px" %)U16
889 |(% style="width:4px" %)**0x5009**|(% style="width:47px" %)1|(% style="width:468px" %)(((
890 Software control of the "Join to discharge" signal. Allowable values:
891
892 0 – clear the signal;
893
894 1 – set the signal;
895
896 2-65535 – use the physical input "Join to discharge".
897 )))|(% style="width:58px" %)U16
898 |(% style="width:4px" %)**0x500A**|(% style="width:47px" %)1|(% style="width:468px" %)(((
899 Software control of the "PCH contactor feedback" signal. Allowable values:
900
901 0 – clear the signal;
902
903 1 – set the signal;
904
905 2-65535 – use the physical input "PCH contactor feedback".
906 )))|(% style="width:58px" %)U16
907 |(% style="width:4px" %)**0x500B**|(% style="width:47px" %)1|(% style="width:468px" %)(((
908 Software control of the "Main contactor feedback" signal. Allowable values:
909
910 0 – clear the signal;
911
912 1 – set the signal;
913
914 2-65535 – use the physical input "Main contactor feedback".
915 )))|(% style="width:58px" %)U16
916 |(% style="width:4px" %)**0x500C**|(% style="width:47px" %)1|(% style="width:468px" %)(((
917 Software control of the "Interlock" signal. Allowable values:
918
919 0 – clear the signal;
920
921 1 – set the signal;
922
923 2-65535 – use the physical input "Interlock".
924 )))|(% style="width:58px" %)U16
925
926