Wiki source code of 5.2 Modbus protocol

Version 12.1 by Admin on 2025/02/04 10:26

Hide last authors
Admin 7.1 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 =
Admin 1.1 3
Admin 7.1 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
Admin 1.1 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
11 Interaction with the device is performed over the RS-485 bus (Modbus RTU) or the Ethernet network (Modbus TCP).
12
13 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 * device address (by default) — 32.
19
20 Ethernet connection parameters:
21
22 * port — 502.
23
24 There is a description of the Input и Holding registers below. Column "Type" contains method of parameters coding:
25
26 * U8 — unsigned 8-bit integer number;
27 * U16 — unsigned 16-bit integer number;
28 * S16 — signed 16-bit integer number;
29 * U32 — unsigned 32-bit integer number;
30 * REAL32 — single precision floating point number ([[IEEE 754>>url:https://ru.wikipedia.org/wiki/IEEE_754]] standard);
31 * U8[x] — array of unsigned 8-bit integer numbers having a length of x;
32 * U16[x] — array of unsigned 16-bit integer numbers having a length of x;
33 * REAL32[x] — array of single precision floating point numbers having a length of x.
34
35 Words are in the **little endian**.
36
Admin 7.1 37 === Input registers ===
Admin 1.1 38
Admin 5.1 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" %)(((
Admin 1.1 42 Hardware version:
43
44 byte 0 — minor;
45
46 byte 1 — major.
Admin 5.1 47 )))|(% style="width:96px" %)U8[2]
48 |(% style="width:92px" %)**0x0001-0x0002**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 49 Firmware version:
50
51 byte 0 — patch;
52
53 byte 1 — minor;
54
55 byte 2 — major;
56
57 byte 3 — not used (set to 0).
Admin 5.1 58 )))|(% style="width:96px" %)U8[4]
59 |(% style="width:92px" %)**0x0003-0x0004**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 60 Bootloader version:
61
62 byte 0 — patch;
63
64 byte 1 — minor;
65
66 byte 2 — major;
67
68 byte 3 — not used (set to 0).
Admin 5.1 69 )))|(% style="width:96px" %)U8[4]
70 |(% style="width:92px" %)**0x1000-0x1003**|(% style="width:94px" %)3|(% style="width:368px" %)(((
Admin 1.1 71 Current time on the device clock:
72
73 byte 0 — day (BCD);
74
75 byte 1 — month (BCD);
76
77 byte 2 — year (BCD);
78
79 byte 3 — hours (BCD);
80
81 byte 4 — minutes (BCD);
82
83 byte 5 — seconds (BCD).
Admin 5.1 84 )))|(% style="width:96px" %)U8[6]
85 |(% style="width:92px" %)**0x2000**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 86 Discrete input signals 1 (bitfield):
87
88 bit 0 — "Battery cover";
89
90 bit 1 — "Charger connected";
91
92 bit 2 — "Power up/down request";
93
94 bit 3 — "Inhibit charging";
95
96 bit 4 — "Inhibit discharging";
97
98 bit 5 — “Charging contactor feedback”;
99
100 bit 6 — “Discharging contactor feedback”;
101
102 bit 7 — “Insulation status”;
103
104 bit 8 – “Charge request”;
105
106 bit 9 – “Precharge request”;
107
108 bit 10 – “Discharge request”;
109
110 bit 11 – “PCH contactor feedback”;
111
112 bit 12 – “CH/DCH contactor feedback”;
113
114 bit 13 – “Main contactor feedback”;
115
116 bit 14 – “Interlock”;
117
118 bit 15 – “Fuse 1”.
Admin 5.1 119 )))|(% style="width:96px" %)U16
120 |(% style="width:92px" %)**0x2001-0x2002**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the primary sensor, А|(% style="width:96px" %)REAL32
121 |(% style="width:92px" %)**0x2003-0x2004**|(% style="width:94px" %)2|(% style="width:368px" %)External temperature, °C|(% style="width:96px" %)REAL32
122 |(% style="width:92px" %)**0x2005-0x2006**|(% style="width:94px" %)2|(% style="width:368px" %)Humidity, RH%|(% style="width:96px" %)REAL32
123 |(% style="width:92px" %)**0x2007-0x2008**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 124 Errors 1 (bitfield):
125
126 bit 0 – “Overcurrent”;
127
128 bit 1 – “Undervoltage”;
129
130 bit 2 – “Overvoltage”;
131
132 bit 3 – “Low DCH temperature”, temperature is too low for discharging;
133
134 bit 4 – “High DCH temperature”, temperature is too high for discharging;
135
136 bit 5 – “Battery cover”;
137
138 bit 6 – “High humidity”;
139
140 bit 7 – “Water”;
141
142 bit 8 – “High logic temperature”, some BMS Logic device is overheated;
143
144 bit 9 – “Logic offline”, connection with some BMS Logic device is lost;
145
146 bit 10 – “Critical error”;
147
148 bit 11 – “Crown error”, connection with the Crown forklift is lost;
149
150 bit 12 – “Cell count error”, number of cells in incorrect;
151
152 bit 13 – “HYG offline”, connection with the HYG forklift is lost;
153
154 bit 14 – “Need acknowledgement”, errors were detected in the past and should be acknowledged;
155
156 bit 15 – “Combilift offline”, connection with the Combilift forklift is lost;
157
158 bit 16 – “Short circuit”;
159
160 bit 17 – “High contactor temperature”, the discharging contactor is overheated;
161
162 bit 18 – “Logic count error”, number of BMS Logic devices is incorrect;
163
164 bit 19 – “ADC error”, battery current cannot be measured by ADC;
165
166 bit 20 – “Current sensor error”, wires which connect the current sensor with the BMS are damaged;
167
168 bit 21 – “CH contactor cycles error”, the charging contactor switches very often;
169
170 bit 22 – “DCH contactor cycles error”, the discharging contactor switches very often;
171
172 bit 23 – “Shunt offline”, connection with the BMS Current sensor is lost;
173
174 bit 24 – “Shunt error”, internal error of the BMS Current sensor;
175
176 bit 25 – “Settings error”, checksum of the settings is incorrect;
177
178 bit 26 – “WDT reset”, device is reset by the watchdog timer;
179
180 bit 27 – “No temperature sensors”;
181
182 bit 28 – “Temperature sensor is shorted”;
183
184 bit 29 – “Spirit offline”, connection with the Spirit truck is lost;
185
186 bits 30–31 – reserved.
Admin 5.1 187 )))|(% style="width:96px" %)U32
188 |(% style="width:92px" %)**0x2009-0x200A**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 189 Internal signals (bitfield):
190
191 bit 0 — "Low SOC";
192
193 bit 1 — "High charging current";
194
195 bit 2 — “Charging” (0 – open, 1 – closed);
196
197 bit 3 — "Allow charging" (0 – open, 1 – closed);
198
199 bit 4 — "Charging current present";
200
201 bit 5 — “Discharging” (0 – open, 1 – closed);
202
203 bit 6 — "Discharging current present";
204
205 bit 7 — "Increased voltage" (EV);
206
207 bit 8 — "Heater" (0 – off, 1 – on);
208
209 bit 9 — "Cooler" (0 – off, 1 – on);
210
211 bit 10 — “HYG shutdown”, command from the HYG forklift to open the discharging contactor;
212
213 bit 11 — “Init”, initialization signal (during the initialization current sensor is calibrating and BMS Logic devices are scanning);
214
215 bit 12 — “Precharging” (0 – open, 1 – closed);
216
217 bit 13 — “Combilift shutdown”, command from the Combilift forklift to open the discharging contactor;
218
219 bit 14 — “Cell analysis”, signal of started analysis of the cells;
220
221 bit 15 — “Balancing series 1”;
222
223 bit 16 — “Balancing series 2”;
224
225 bit 17 — “Discharging (AUX)” (0 – open, 1 – closed);
226
227 bit 18 — “Acknowledgement of power down”;
228
229 bit 19 — “Crown EWS”;
230
231 bit 20 — “Main contactor” (0 – open, 1 - closed);
232
233 bit 21 – “Service reset”;
234
235 bit 22 – “Charging/Discharging” (0 – open, 1 – closed);
236
237 bit 23 – “Ready to charge” (the voltage of the cells is less than the threshold value and there are no errors that prohibit charging);
238
239 bit 24 – “Ready to discharge” (the voltage of the cells is greater than the threshold value and there are no errors that prohibit discharging);
240
241 bit 25 – “Power up”;
242
Admin 10.1 243 bit 26 — signal “External 1”;
244
245 bit 27 — signal “Heater (AUX)”;
246
247 bits 28-31 — not used.
Admin 5.1 248 )))|(% style="width:96px" %)U32
249 |(% style="width:92px" %)**0x200B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 250 Discrete output signals (bitfield):
251
252 bit 0 — state of the output #1;
253
254 bit 1 — state of the output #2;
255
256 bit 2 — state of the output #3;
257
258 bit 3 — state of the output #4;
259
260 bits 4-15 — not used.
Admin 5.1 261 )))|(% style="width:96px" %)U16
262 |(% style="width:92px" %)**0x200C**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 263 Relay states (bitfield):
264
265 bit 0 — state of the relay #1;
266
267 bit 1 — state of the relay #2;
268
269 bit 2 — state of the relay #3;
270
271 bit 3 — state of the relay #4;
272
273 bits 4-15 — not used.
Admin 5.1 274 )))|(% style="width:96px" %)U16
Admin 8.1 275 |(% style="width:92px" %)**0x200E-0x200F**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 276 Errors 2 (bitfield):
277
278 bit 0 – "Low CH temperature", temperature is too low for charging;
279
280 bit 1 – “High CH temperature”, temperature is too high for charging;
281
282 bit 2 – “SD mount error”;
283
284 bit 3 – “SD read/write error”;
285
286 bit 4 – “Unallowable charging”, charging the battery through the discharging contactor;
287
288 bit 5 – “Stuck contactor”;
289
290 bit 6 – “CH contactor feedback error”;
291
292 bit 7 – “DCH contactor feedback error”;
293
294 bit 8 – “Insulation fault”;
295
296 bit 9 – “PCH contactor feedback error”;
297
298 bit 10 – “CH/DCH contactor feedback error”;
299
300 bit 11 – “Main contactor feedback error”;
301
302 bit 12 – reserved (set to 0);
303
304 bit 13 – “General error”;
305
Admin 11.1 306 bit 14 — reserved (set to 0);
Admin 8.3 307
Admin 11.1 308 bit 15 — reserved (set to 0);
309
310 bit 16 — reserved (set to 0);
311
Admin 8.3 312 bit 17 — “Precharge error”;
313
Admin 9.1 314 bits 18-31 — not used.
Admin 5.1 315 )))|(% style="width:96px" %)U32
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 |(% style="width:92px" %)**0x2011**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 318 State of the BMS Logic (bitfield):
319
320 bit 0 — device is present;
321
322 bit 1 — device is online;
323
324 bit 2 — device is ready;
325
326 bit 3 — data from the device is actual;
327
328 bit 4 — temperature sensor #1 is present;
329
330 bit 5 — temperature sensor #2 is present;
331
332 bit 6 — temperature sensor #1 is shorted;
333
334 bit 7 — temperature sensor #2 is shorted;
335
336 bits 8-15 — reserved.
Admin 5.1 337 )))|(% style="width:96px" %)U16
338 |(% style="width:92px" %)**0x2012-0x2013**|(% style="width:94px" %)2|(% style="width:368px" %)Temperature of the BMS Logic, °C|(% style="width:96px" %)REAL32
339 |(% style="width:92px" %)**0x2014-0x2015**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 340 Cell balancing flags (bitfield):
341
342 bit i — balancing resistor is connected to the i^^th^^ cell.
Admin 5.1 343 )))|(% style="width:96px" %)U32
344 |(% style="width:92px" %)**0x2016-0x2029**|(% style="width:94px" %)20|(% style="width:368px" %)(((
Admin 1.1 345 Array of cells states. Each element of the array corresponds to a cell and is a bitfield:
346
347 bit 0 — cell is present;
348
349 bit 1 — temperature sensor is present;
350
351 bit 2 — need to connect a balancing resistor to the cell;
352
353 bit 3 — balancing resistor is connected to the cell;
354
355 bit 4 — temperature sensor is shorted;
356
357 bit 5 — wires are connected to the cell;
358
359 bits 6-15 — reserved.
Admin 5.1 360 )))|(% style="width:96px" %)U16[20]
361 |(% style="width:92px" %)**0x202A-0x2051**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells voltages (V)|(% style="width:96px" %)REAL32[20]
362 |(% style="width:92px" %)**0x2052-0x2079**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells temperatures (°C)|(% style="width:96px" %)REAL32[20]
363 |(% style="width:92px" %)**0x207A-0x20A1**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells SOCs ~(%)|(% style="width:96px" %)REAL32[20]
364 |(% style="width:92px" %)**0x20A2-0x20C9**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells resistances (Ohm)|(% style="width:96px" %)REAL32[20]
365 |(% style="width:92px" %)**0x20F4**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 366 Discrete input signals 2 (bitfield):
367
Admin 8.2 368 bit 0 — “Fuse 2”;
Admin 1.1 369
Admin 8.2 370 bit 1 — “Fuse 3”;
Admin 1.1 371
Admin 8.2 372 bit 2 — “Circuit breaker status”;
Admin 1.1 373
Admin 8.2 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.
Admin 5.1 381 )))|(% style="width:96px" %)U16
382 |(% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Battery state of charge (SOC), %|(% style="width:96px" %)REAL32
383 |(% style="width:92px" %)**0x2102**|(% style="width:94px" %)1|(% style="width:368px" %)Number of BMS Logic devices|(% style="width:96px" %)U16
384 |(% style="width:92px" %)**0x2103**|(% style="width:94px" %)1|(% style="width:368px" %)Number of cells|(% style="width:96px" %)U16
385 |(% style="width:92px" %)**0x2104-0x2105**|(% style="width:94px" %)2|(% style="width:368px" %)Battery voltage, V|(% style="width:96px" %)REAL32
386 |(% style="width:92px" %)**0x2106-0x2107**|(% style="width:94px" %)2|(% style="width:368px" %)Battery resistance, Ohm|(% style="width:96px" %)REAL32
387 |(% style="width:92px" %)**0x2108-0x2109**|(% style="width:94px" %)2|(% style="width:368px" %)Effective capacity, A×h|(% style="width:96px" %)REAL32
388 |(% style="width:92px" %)**0x210A-0x210B**|(% style="width:94px" %)2|(% style="width:368px" %)Balancing effectivity, %|(% style="width:96px" %)REAL32
389 |(% style="width:92px" %)**0x210C-0x210D**|(% style="width:94px" %)2|(% style="width:368px" %)State of health, %|(% style="width:96px" %)REAL32
390 |(% style="width:92px" %)**0x210E-0x210F**|(% style="width:94px" %)2|(% style="width:368px" %)Depth of discharge, A×h|(% style="width:96px" %)REAL32
391 |(% style="width:92px" %)**0x2110-0x2111**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum BMS Logic temperature|(% style="width:96px" %)REAL32
392 |(% 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
393 |(% style="width:92px" %)**0x2113-0x2114**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum BMS Logic temperature|(% style="width:96px" %)REAL32
394 |(% 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
395 |(% style="width:92px" %)**0x2116-0x2117**|(% style="width:94px" %)2|(% style="width:368px" %)BMS Logic polling rate, commands pre second|(% style="width:96px" %)REAL32
396 |(% style="width:92px" %)**0x2118-0x2119**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell temperature|(% style="width:96px" %)REAL32
397 |(% 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
398 |(% style="width:92px" %)**0x211B**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is minimal|(% style="width:96px" %)U16
399 |(% style="width:92px" %)**0x211C-0x211D**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell temperature|(% style="width:96px" %)REAL32
400 |(% 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
401 |(% style="width:92px" %)**0x211F**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is maximal|(% style="width:96px" %)U16
402 |(% style="width:92px" %)**0x2120-0x2121**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell voltage|(% style="width:96px" %)REAL32
403 |(% 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
404 |(% style="width:92px" %)**0x2123**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is minimal|(% style="width:96px" %)U16
405 |(% style="width:92px" %)**0x2124-0x2125**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell voltage|(% style="width:96px" %)REAL32
406 |(% 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
407 |(% style="width:92px" %)**0x2127**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is maximal|(% style="width:96px" %)U16
408 |(% style="width:92px" %)**0x2128**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 409 Error flag:
410
411 0 — no errors;
412
413 1 — there are some errors.
Admin 5.1 414 )))|(% style="width:96px" %)U16
415 |(% style="width:92px" %)**0x2130-0x2131**|(% style="width:94px" %)2|(% style="width:368px" %)Energy received from the charger, W×h|(% style="width:96px" %)REAL32
416 |(% style="width:92px" %)**0x2132-0x2133**|(% style="width:94px" %)2|(% style="width:368px" %)Energy consumed by the load, W×h|(% style="width:96px" %)REAL32
417 |(% style="width:92px" %)**0x2134-0x2135**|(% style="width:94px" %)2|(% style="width:368px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:96px" %)REAL32
418 |(% style="width:92px" %)**0x2140**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 419 SD-card mounting flag:
420
421 0 — not mounted;
422
423 1 — mounted.
Admin 5.1 424 )))|(% style="width:96px" %)U16
425 |(% style="width:92px" %)**0x2141**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16
426 |(% style="width:92px" %)**0x2142**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16
427 |(% style="width:92px" %)**0x2170**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 428 Wi-Fi connection status:
429
430 0 — no connection;
431
432 1 — connection is established.
Admin 5.1 433 )))|(% style="width:96px" %)U16
434 |(% style="width:92px" %)**0x2171-0x2172**|(% style="width:94px" %)2|(% style="width:368px" %)IP-address in the Wi-Fi network|(% style="width:96px" %)U8[4]
435 |(% style="width:92px" %)**0x2173-0x2175**|(% style="width:94px" %)3|(% style="width:368px" %)MAC-address of the Wi-Fi module|(% style="width:96px" %)U8[6]
436 |(% style="width:92px" %)**0x2179-0x217A**|(% style="width:94px" %)2|(% style="width:368px" %)Instant effective capacity, A×h|(% style="width:96px" %)REAL32
437 |(% style="width:92px" %)**0x217B-0x217C**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb received from the charger, A×h|(% style="width:96px" %)REAL32
438 |(% style="width:92px" %)**0x217D-0x217E**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb consumed by the load, A×h|(% style="width:96px" %)REAL32
439 |(% style="width:92px" %)**0x217F-0x2180**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet IP-address|(% style="width:96px" %)U8[4]
440 |(% style="width:92px" %)**0x2181-0x2182**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet netmask|(% style="width:96px" %)U8[4]
441 |(% style="width:92px" %)**0x2183-0x2184**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet gateway|(% style="width:96px" %)U8[4]
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
Admin 11.2 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
Admin 5.1 449 |(% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16
Admin 11.2 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
Admin 5.1 452 |(% style="width:92px" %)**0x2200-0x2203**|(% style="width:94px" %)4|(% style="width:368px" %)(((
Admin 1.1 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
455 Timestamp format:
456
457 bits 0-5 — year;
458
459 bits 6-9 — month;
460
461 bits 10-14 — day;
462
463 bits 15-19 — hours;
464
465 bits 20-25 — minutes;
466
467 bits 26-31 — seconds.
Admin 5.1 468 )))|(% style="width:96px" %)U32[2]
469 |(% style="width:92px" %)**0x2204-0x2207**|(% style="width:94px" %)4|(% style="width:368px" %)Record #2 from the errors journal|(% style="width:96px" %)U32[2]
470 |(% style="width:92px" %)**0x2208-0x227B**|(% style="width:94px" %) |(% style="width:368px" %)Records #3-31 from the errors journal|(% style="width:96px" %)
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 |(% 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
Admin 11.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]
Admin 5.1 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 |(% style="width:92px" %)**0x2388-0x23FB**|(% style="width:94px" %) |(% style="width:368px" %)Records data #3-31 from the errors journal|(% style="width:96px" %)
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]
Admin 11.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" %)REAL32
Admin 11.3 478 |(% style="width:92px" %)**0x2402-0x2403**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 479 Final battery current, A
480
481 Note — Typically it is the sum of the values measured by the main and auxiliary current sensors
Admin 5.1 482 )))|(% style="width:96px" %)REAL32
483 |(% style="width:92px" %)**0x2410**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 484 Battery state:
485
486 0 – Unknown;
487
488 1 – Charging ON;
489
490 2 – Charging OFF;
491
492 3 – Relaxed (after charging);
493
494 4 – Discharging ON;
495
496 5 – Discharging OFF;
497
498 6 – Relaxed (after discharging).
Admin 5.1 499 )))|(% style="width:96px" %)U16
Admin 12.1 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
Admin 1.1 506
Admin 7.1 507 === Holding registers ===
Admin 1.1 508
Admin 5.1 509 (% style="width:653px" %)
510 |(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type**
511 |(% 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
Admin 12.1 512 |(% style="width:92px" %)**0x4100-0x4101**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 513 Command to acknowledge errors in the errors journal (bitfield). Each //i//^^th^^ bit corresponds to (//i//+1) record.
514
515 Notes:
516
517 1 – After the errors are acknowledged, the register value will be set to 0.
518
519 2 – To acknowledge all errors, set 0xFFFFFFFF.
Admin 5.1 520 )))|(% style="width:96px" %)U32
521 |(% style="width:92px" %)**0x5100**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 522 Software control of the "Battery cover" signal. Allowable values:
523
524 0 – clear the signal;
525
526 1 – set the signal;
527
528 2-65535 – use the physical input "Battery cover".
Admin 5.1 529 )))|(% style="width:96px" %)U16
530 |(% style="width:92px" %)**0x5101**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 531 Software control of the "Charger connected" signal. Allowable values:
532
533 0 – clear the signal;
534
535 1 – set the signal;
536
537 2-65535 – use the physical input "Charger connected".
Admin 5.1 538 )))|(% style="width:96px" %)U16
539 |(% style="width:92px" %)**0x5102**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 540 Software control of the "Power down request" signal. Allowable values:
541
542 0 – clear the signal;
543
544 1 – set the signal;
545
546 2-65535 – use the physical input "Power down request".
Admin 5.1 547 )))|(% style="width:96px" %)U16
548 |(% style="width:92px" %)**0x5103**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 549 Software control of the "Inhibit charging" signal. Allowable values:
550
551 0 – clear the signal;
552
553 1 – set the signal;
554
555 2-65535 – use the physical input "Inhibit charging".
Admin 5.1 556 )))|(% style="width:96px" %)U16
557 |(% style="width:92px" %)**0x5104**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 558 Software control of the "Inhibit discharging" signal. Allowable values:
559
560 0 – clear the signal;
561
562 1 – set the signal;
563
564 2-65535 – use the physical input "Inhibit discharging".
Admin 5.1 565 )))|(% style="width:96px" %)U16
566 |(% style="width:92px" %)**0x5105**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 567 Software control of the "Charging contactor feedback" signal. Allowable values:
568
569 0 – clear the signal;
570
571 1 – set the signal;
572
573 2-65535 – use the physical input "Charging contactor feedback".
Admin 5.1 574 )))|(% style="width:96px" %)U16
575 |(% style="width:92px" %)**0x5106**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 576 Software control of the "Discharging contactor feedback" signal. Allowable values:
577
578 0 – clear the signal;
579
580 1 – set the signal;
581
582 2-65535 – use the physical input "Discharging contactor feedback".
Admin 5.1 583 )))|(% style="width:96px" %)U16
584 |(% style="width:92px" %)**0x5107**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 585 Software control of the "Insulation status" signal. Allowable values:
586
587 0 – clear the signal;
588
589 1 – set the signal;
590
591 2-65535 – use the physical input "Insulation status".
Admin 5.1 592 )))|(% style="width:96px" %)U16
593 |(% style="width:92px" %)**0x5108**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 594 Software control of the "Charge request" signal. Allowable values:
595
596 0 – clear the signal;
597
598 1 – set the signal;
599
600 2-65535 – use the physical input "Charge request".
Admin 5.1 601 )))|(% style="width:96px" %)U16
602 |(% style="width:92px" %)**0x5109**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 603 Software control of the "Precharge request" signal. Allowable values:
604
605 0 – clear the signal;
606
607 1 – set the signal;
608
609 2-65535 – use the physical input "Precharge request".
Admin 5.1 610 )))|(% style="width:96px" %)U16
611 |(% style="width:92px" %)**0x510A**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 612 Software control of the "Discharge request" signal. Allowable values:
613
614 0 – clear the signal;
615
616 1 – set the signal;
617
618 2-65535 – use the physical input "Discharge request".
Admin 5.1 619 )))|(% style="width:96px" %)U16
620 |(% style="width:92px" %)**0x510B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 621 Software control of the "PCH contactor feedback" signal. Allowable values:
622
623 0 – clear the signal;
624
625 1 – set the signal;
626
627 2-65535 – use the physical input "PCH contactor feedback".
Admin 5.1 628 )))|(% style="width:96px" %)U16
629 |(% style="width:92px" %)**0x510C**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 630 Software control of the "CH/DCH contactor feedback" signal. Allowable values:
631
632 0 – clear the signal;
633
634 1 – set the signal;
635
636 2-65535 – use the physical input "CH/DCH contactor feedback".
Admin 5.1 637 )))|(% style="width:96px" %)U16
638 |(% style="width:92px" %)**0x510D**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 639 Software control of the "Main contactor feedback" signal. Allowable values:
640
641 0 – clear the signal;
642
643 1 – set the signal;
644
645 2-65535 – use the physical input "Main contactor feedback".
Admin 5.1 646 )))|(% style="width:96px" %)U16
647 |(% style="width:92px" %)**0x510E**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 648 Software control of the "Interlock" signal. Allowable values:
649
650 0 – clear the signal;
651
652 1 – set the signal;
653
654 2-65535 – use the physical input "Interlock".
Admin 5.1 655 )))|(% style="width:96px" %)U16
656 |(% style="width:92px" %)**0x510F**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 657 Software control of the "Fuse 1" signal. Allowable values:
658
659 0 – clear the signal;
660
661 1 – set the signal;
662
663 2-65535 – use the physical input "Fuse 1".
Admin 5.1 664 )))|(% style="width:96px" %)U16
665 |(% style="width:92px" %)**0x5110**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 666 Software control of the "Fuse 2" signal. Allowable values:
667
668 0 – clear the signal;
669
670 1 – set the signal;
671
672 2-65535 – use the physical input "Fuse 2".
Admin 5.1 673 )))|(% style="width:96px" %)U16
674 |(% style="width:92px" %)**0x5111**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 675 Software control of the "Fuse 3" signal. Allowable values:
676
677 0 – clear the signal;
678
679 1 – set the signal;
680
681 2-65535 – use the physical input "Fuse 3".
Admin 5.1 682 )))|(% style="width:96px" %)U16