Wiki source code of 5.2 Modbus protocol

Version 9.1 by Admin on 2025/02/04 10:04

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
243 bits 26-31 – reserved.
Admin 5.1 244 )))|(% style="width:96px" %)U32
245 |(% style="width:92px" %)**0x200B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 246 Discrete output signals (bitfield):
247
248 bit 0 — state of the output #1;
249
250 bit 1 — state of the output #2;
251
252 bit 2 — state of the output #3;
253
254 bit 3 — state of the output #4;
255
256 bits 4-15 — not used.
Admin 5.1 257 )))|(% style="width:96px" %)U16
258 |(% style="width:92px" %)**0x200C**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 259 Relay states (bitfield):
260
261 bit 0 — state of the relay #1;
262
263 bit 1 — state of the relay #2;
264
265 bit 2 — state of the relay #3;
266
267 bit 3 — state of the relay #4;
268
269 bits 4-15 — not used.
Admin 5.1 270 )))|(% style="width:96px" %)U16
Admin 8.1 271 |(% style="width:92px" %)**0x200E-0x200F**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 272 Errors 2 (bitfield):
273
274 bit 0 – "Low CH temperature", temperature is too low for charging;
275
276 bit 1 – “High CH temperature”, temperature is too high for charging;
277
278 bit 2 – “SD mount error”;
279
280 bit 3 – “SD read/write error”;
281
282 bit 4 – “Unallowable charging”, charging the battery through the discharging contactor;
283
284 bit 5 – “Stuck contactor”;
285
286 bit 6 – “CH contactor feedback error”;
287
288 bit 7 – “DCH contactor feedback error”;
289
290 bit 8 – “Insulation fault”;
291
292 bit 9 – “PCH contactor feedback error”;
293
294 bit 10 – “CH/DCH contactor feedback error”;
295
296 bit 11 – “Main contactor feedback error”;
297
298 bit 12 – reserved (set to 0);
299
300 bit 13 – “General error”;
301
Admin 8.3 302 bit 14-16 — reserved (set to 0);
303
304 bit 17 — “Precharge error”;
305
Admin 9.1 306 bits 18-31 — not used.
Admin 5.1 307 )))|(% style="width:96px" %)U32
308 |(% 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
309 |(% style="width:92px" %)**0x2011**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 310 State of the BMS Logic (bitfield):
311
312 bit 0 — device is present;
313
314 bit 1 — device is online;
315
316 bit 2 — device is ready;
317
318 bit 3 — data from the device is actual;
319
320 bit 4 — temperature sensor #1 is present;
321
322 bit 5 — temperature sensor #2 is present;
323
324 bit 6 — temperature sensor #1 is shorted;
325
326 bit 7 — temperature sensor #2 is shorted;
327
328 bits 8-15 — reserved.
Admin 5.1 329 )))|(% style="width:96px" %)U16
330 |(% style="width:92px" %)**0x2012-0x2013**|(% style="width:94px" %)2|(% style="width:368px" %)Temperature of the BMS Logic, °C|(% style="width:96px" %)REAL32
331 |(% style="width:92px" %)**0x2014-0x2015**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 332 Cell balancing flags (bitfield):
333
334 bit i — balancing resistor is connected to the i^^th^^ cell.
Admin 5.1 335 )))|(% style="width:96px" %)U32
336 |(% style="width:92px" %)**0x2016-0x2029**|(% style="width:94px" %)20|(% style="width:368px" %)(((
Admin 1.1 337 Array of cells states. Each element of the array corresponds to a cell and is a bitfield:
338
339 bit 0 — cell is present;
340
341 bit 1 — temperature sensor is present;
342
343 bit 2 — need to connect a balancing resistor to the cell;
344
345 bit 3 — balancing resistor is connected to the cell;
346
347 bit 4 — temperature sensor is shorted;
348
349 bit 5 — wires are connected to the cell;
350
351 bits 6-15 — reserved.
Admin 5.1 352 )))|(% style="width:96px" %)U16[20]
353 |(% style="width:92px" %)**0x202A-0x2051**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells voltages (V)|(% style="width:96px" %)REAL32[20]
354 |(% style="width:92px" %)**0x2052-0x2079**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells temperatures (°C)|(% style="width:96px" %)REAL32[20]
355 |(% style="width:92px" %)**0x207A-0x20A1**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells SOCs ~(%)|(% style="width:96px" %)REAL32[20]
356 |(% style="width:92px" %)**0x20A2-0x20C9**|(% style="width:94px" %)40|(% style="width:368px" %)Array of cells resistances (Ohm)|(% style="width:96px" %)REAL32[20]
357 |(% style="width:92px" %)**0x20F4**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 358 Discrete input signals 2 (bitfield):
359
Admin 8.2 360 bit 0 — “Fuse 2”;
Admin 1.1 361
Admin 8.2 362 bit 1 — “Fuse 3”;
Admin 1.1 363
Admin 8.2 364 bit 2 — “Circuit breaker status”;
Admin 1.1 365
Admin 8.2 366 bit 3 — signal "Balancing request";
367
368 bit 4 — signal "Close Main contactor";
369
370 bit 5 — signal "Close External 1";
371
372 bits 6-15 — not used.
Admin 5.1 373 )))|(% style="width:96px" %)U16
374 |(% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Battery state of charge (SOC), %|(% style="width:96px" %)REAL32
375 |(% style="width:92px" %)**0x2102**|(% style="width:94px" %)1|(% style="width:368px" %)Number of BMS Logic devices|(% style="width:96px" %)U16
376 |(% style="width:92px" %)**0x2103**|(% style="width:94px" %)1|(% style="width:368px" %)Number of cells|(% style="width:96px" %)U16
377 |(% style="width:92px" %)**0x2104-0x2105**|(% style="width:94px" %)2|(% style="width:368px" %)Battery voltage, V|(% style="width:96px" %)REAL32
378 |(% style="width:92px" %)**0x2106-0x2107**|(% style="width:94px" %)2|(% style="width:368px" %)Battery resistance, Ohm|(% style="width:96px" %)REAL32
379 |(% style="width:92px" %)**0x2108-0x2109**|(% style="width:94px" %)2|(% style="width:368px" %)Effective capacity, A×h|(% style="width:96px" %)REAL32
380 |(% style="width:92px" %)**0x210A-0x210B**|(% style="width:94px" %)2|(% style="width:368px" %)Balancing effectivity, %|(% style="width:96px" %)REAL32
381 |(% style="width:92px" %)**0x210C-0x210D**|(% style="width:94px" %)2|(% style="width:368px" %)State of health, %|(% style="width:96px" %)REAL32
382 |(% style="width:92px" %)**0x210E-0x210F**|(% style="width:94px" %)2|(% style="width:368px" %)Depth of discharge, A×h|(% style="width:96px" %)REAL32
383 |(% style="width:92px" %)**0x2110-0x2111**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum BMS Logic temperature|(% style="width:96px" %)REAL32
384 |(% 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
385 |(% style="width:92px" %)**0x2113-0x2114**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum BMS Logic temperature|(% style="width:96px" %)REAL32
386 |(% 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
387 |(% style="width:92px" %)**0x2116-0x2117**|(% style="width:94px" %)2|(% style="width:368px" %)BMS Logic polling rate, commands pre second|(% style="width:96px" %)REAL32
388 |(% style="width:92px" %)**0x2118-0x2119**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell temperature|(% style="width:96px" %)REAL32
389 |(% 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
390 |(% style="width:92px" %)**0x211B**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is minimal|(% style="width:96px" %)U16
391 |(% style="width:92px" %)**0x211C-0x211D**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell temperature|(% style="width:96px" %)REAL32
392 |(% 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
393 |(% style="width:92px" %)**0x211F**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose temperature is maximal|(% style="width:96px" %)U16
394 |(% style="width:92px" %)**0x2120-0x2121**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum cell voltage|(% style="width:96px" %)REAL32
395 |(% 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
396 |(% style="width:92px" %)**0x2123**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is minimal|(% style="width:96px" %)U16
397 |(% style="width:92px" %)**0x2124-0x2125**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum cell voltage|(% style="width:96px" %)REAL32
398 |(% 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
399 |(% style="width:92px" %)**0x2127**|(% style="width:94px" %)1|(% style="width:368px" %)Position of the cell whose voltage is maximal|(% style="width:96px" %)U16
400 |(% style="width:92px" %)**0x2128**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 401 Error flag:
402
403 0 — no errors;
404
405 1 — there are some errors.
Admin 5.1 406 )))|(% style="width:96px" %)U16
407 |(% style="width:92px" %)**0x2130-0x2131**|(% style="width:94px" %)2|(% style="width:368px" %)Energy received from the charger, W×h|(% style="width:96px" %)REAL32
408 |(% style="width:92px" %)**0x2132-0x2133**|(% style="width:94px" %)2|(% style="width:368px" %)Energy consumed by the load, W×h|(% style="width:96px" %)REAL32
409 |(% style="width:92px" %)**0x2134-0x2135**|(% style="width:94px" %)2|(% style="width:368px" %)Energy dissipated by the balancing resistors, W×h|(% style="width:96px" %)REAL32
410 |(% style="width:92px" %)**0x2140**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 411 SD-card mounting flag:
412
413 0 — not mounted;
414
415 1 — mounted.
Admin 5.1 416 )))|(% style="width:96px" %)U16
417 |(% style="width:92px" %)**0x2141**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16
418 |(% style="width:92px" %)**0x2142**|(% style="width:94px" %)1|(% style="width:368px" %)Reserved|(% style="width:96px" %)U16
419 |(% style="width:92px" %)**0x2170**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 420 Wi-Fi connection status:
421
422 0 — no connection;
423
424 1 — connection is established.
Admin 5.1 425 )))|(% style="width:96px" %)U16
426 |(% style="width:92px" %)**0x2171-0x2172**|(% style="width:94px" %)2|(% style="width:368px" %)IP-address in the Wi-Fi network|(% style="width:96px" %)U8[4]
427 |(% style="width:92px" %)**0x2173-0x2175**|(% style="width:94px" %)3|(% style="width:368px" %)MAC-address of the Wi-Fi module|(% style="width:96px" %)U8[6]
428 |(% style="width:92px" %)**0x2179-0x217A**|(% style="width:94px" %)2|(% style="width:368px" %)Instant effective capacity, A×h|(% style="width:96px" %)REAL32
429 |(% style="width:92px" %)**0x217B-0x217C**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb received from the charger, A×h|(% style="width:96px" %)REAL32
430 |(% style="width:92px" %)**0x217D-0x217E**|(% style="width:94px" %)2|(% style="width:368px" %)Coulomb consumed by the load, A×h|(% style="width:96px" %)REAL32
431 |(% style="width:92px" %)**0x217F-0x2180**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet IP-address|(% style="width:96px" %)U8[4]
432 |(% style="width:92px" %)**0x2181-0x2182**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet netmask|(% style="width:96px" %)U8[4]
433 |(% style="width:92px" %)**0x2183-0x2184**|(% style="width:94px" %)2|(% style="width:368px" %)Ethernet gateway|(% style="width:96px" %)U8[4]
434 |(% 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
435 |(% style="width:92px" %)**0x218E**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the current sensor, V|(% style="width:96px" %)REAL32
436 |(% 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
437 |(% style="width:92px" %)**0x2192**|(% style="width:94px" %)2|(% style="width:368px" %)Voltage from the auxiliary current sensor, V|(% style="width:96px" %)REAL32
438 |(% 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
439 |(% style="width:92px" %)**0x219F**|(% style="width:94px" %)2|(% style="width:368px" %)Charge current limit, A|(% style="width:96px" %)REAL32
440 |(% style="width:92px" %)**0x21A1**|(% style="width:94px" %)2|(% style="width:368px" %)Discharge current limit, A|(% style="width:96px" %)REAL32
441 |(% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Flag indicating that the cells are balancing|(% style="width:96px" %)U16
442 |(% 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
443 |(% style="width:92px" %)**0x21CA**|(% style="width:94px" %)2|(% style="width:368px" %)Average cell voltage, V|(% style="width:96px" %)REAL32
444 |(% style="width:92px" %)**0x2200-0x2203**|(% style="width:94px" %)4|(% style="width:368px" %)(((
Admin 1.1 445 Record #1 from the errors journal. First 32-bit word contains a timestamp, second 32-bit word contains errors 1 flags (see 0x2007-0x2008).
446
447 Timestamp format:
448
449 bits 0-5 — year;
450
451 bits 6-9 — month;
452
453 bits 10-14 — day;
454
455 bits 15-19 — hours;
456
457 bits 20-25 — minutes;
458
459 bits 26-31 — seconds.
Admin 5.1 460 )))|(% style="width:96px" %)U32[2]
461 |(% style="width:92px" %)**0x2204-0x2207**|(% style="width:94px" %)4|(% style="width:368px" %)Record #2 from the errors journal|(% style="width:96px" %)U32[2]
462 |(% style="width:92px" %)**0x2208-0x227B**|(% style="width:94px" %) |(% style="width:368px" %)Records #3-31 from the errors journal|(% style="width:96px" %)
463 |(% style="width:92px" %)**0x227C-0x227F**|(% style="width:94px" %)4|(% style="width:368px" %)Record #32 from the errors journal|(% style="width:96px" %)U32[2]
464 |(% 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
465 |(% 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]
466 |(% style="width:92px" %)**0x2384-0x2387**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #2 from the errors journal|(% style="width:96px" %)U32[2]
467 |(% style="width:92px" %)**0x2388-0x23FB**|(% style="width:94px" %) |(% style="width:368px" %)Records data #3-31 from the errors journal|(% style="width:96px" %)
468 |(% style="width:92px" %)**0x23FC-0x23FF**|(% style="width:94px" %)4|(% style="width:368px" %)Record data #32 from the errors journal|(% style="width:96px" %)U32[2]
469 |(% style="width:92px" %)**0x2400**|(% style="width:94px" %)2|(% style="width:368px" %)Current measured by the auxiliary current sensor, A|(% style="width:96px" %)REAL32
470 |(% style="width:92px" %)**0x2402**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 471 Final battery current, A
472
473 Note — Typically it is the sum of the values measured by the main and auxiliary current sensors
Admin 5.1 474 )))|(% style="width:96px" %)REAL32
475 |(% style="width:92px" %)**0x2410**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 476 Battery state:
477
478 0 – Unknown;
479
480 1 – Charging ON;
481
482 2 – Charging OFF;
483
484 3 – Relaxed (after charging);
485
486 4 – Discharging ON;
487
488 5 – Discharging OFF;
489
490 6 – Relaxed (after discharging).
Admin 5.1 491 )))|(% style="width:96px" %)U16
492 |(% style="width:92px" %)**0x2411**|(% style="width:94px" %)2|(% style="width:368px" %)Duration of the battery state (0x2410), seconds|(% style="width:96px" %)U32
493 |(% style="width:92px" %)**0x2420**|(% style="width:94px" %)2|(% style="width:368px" %)Nominal battery capacity, A×h|(% style="width:96px" %)REAL32
494 |(% style="width:92px" %)**0x2422**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge voltage, V|(% style="width:96px" %)REAL32
495 |(% style="width:92px" %)**0x2424**|(% style="width:94px" %)2|(% style="width:368px" %)Minimum discharge voltage, V|(% style="width:96px" %)REAL32
496 |(% style="width:92px" %)**0x2426**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum charge current, A|(% style="width:96px" %)REAL32
497 |(% style="width:92px" %)**0x2428**|(% style="width:94px" %)2|(% style="width:368px" %)Maximum discharge current, A|(% style="width:96px" %)REAL32
Admin 1.1 498
Admin 7.1 499 === Holding registers ===
Admin 1.1 500
Admin 5.1 501 (% style="width:653px" %)
502 |(% style="width:92px" %)**Register address**|(% style="width:94px" %)**Number of registers**|(% style="width:368px" %)**Content**|(% style="width:96px" %)**Type**
503 |(% 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
504 |(% style="width:92px" %)**0x4100**|(% style="width:94px" %)2|(% style="width:368px" %)(((
Admin 1.1 505 Command to acknowledge errors in the errors journal (bitfield). Each //i//^^th^^ bit corresponds to (//i//+1) record.
506
507 Notes:
508
509 1 – After the errors are acknowledged, the register value will be set to 0.
510
511 2 – To acknowledge all errors, set 0xFFFFFFFF.
Admin 5.1 512 )))|(% style="width:96px" %)U32
513 |(% style="width:92px" %)**0x5100**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 514 Software control of the "Battery cover" signal. Allowable values:
515
516 0 – clear the signal;
517
518 1 – set the signal;
519
520 2-65535 – use the physical input "Battery cover".
Admin 5.1 521 )))|(% style="width:96px" %)U16
522 |(% style="width:92px" %)**0x5101**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 523 Software control of the "Charger connected" signal. Allowable values:
524
525 0 – clear the signal;
526
527 1 – set the signal;
528
529 2-65535 – use the physical input "Charger connected".
Admin 5.1 530 )))|(% style="width:96px" %)U16
531 |(% style="width:92px" %)**0x5102**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 532 Software control of the "Power down request" signal. Allowable values:
533
534 0 – clear the signal;
535
536 1 – set the signal;
537
538 2-65535 – use the physical input "Power down request".
Admin 5.1 539 )))|(% style="width:96px" %)U16
540 |(% style="width:92px" %)**0x5103**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 541 Software control of the "Inhibit charging" signal. Allowable values:
542
543 0 – clear the signal;
544
545 1 – set the signal;
546
547 2-65535 – use the physical input "Inhibit charging".
Admin 5.1 548 )))|(% style="width:96px" %)U16
549 |(% style="width:92px" %)**0x5104**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 550 Software control of the "Inhibit discharging" signal. Allowable values:
551
552 0 – clear the signal;
553
554 1 – set the signal;
555
556 2-65535 – use the physical input "Inhibit discharging".
Admin 5.1 557 )))|(% style="width:96px" %)U16
558 |(% style="width:92px" %)**0x5105**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 559 Software control of the "Charging contactor feedback" signal. Allowable values:
560
561 0 – clear the signal;
562
563 1 – set the signal;
564
565 2-65535 – use the physical input "Charging contactor feedback".
Admin 5.1 566 )))|(% style="width:96px" %)U16
567 |(% style="width:92px" %)**0x5106**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 568 Software control of the "Discharging contactor feedback" signal. Allowable values:
569
570 0 – clear the signal;
571
572 1 – set the signal;
573
574 2-65535 – use the physical input "Discharging contactor feedback".
Admin 5.1 575 )))|(% style="width:96px" %)U16
576 |(% style="width:92px" %)**0x5107**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 577 Software control of the "Insulation status" signal. Allowable values:
578
579 0 – clear the signal;
580
581 1 – set the signal;
582
583 2-65535 – use the physical input "Insulation status".
Admin 5.1 584 )))|(% style="width:96px" %)U16
585 |(% style="width:92px" %)**0x5108**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 586 Software control of the "Charge request" signal. Allowable values:
587
588 0 – clear the signal;
589
590 1 – set the signal;
591
592 2-65535 – use the physical input "Charge request".
Admin 5.1 593 )))|(% style="width:96px" %)U16
594 |(% style="width:92px" %)**0x5109**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 595 Software control of the "Precharge request" signal. Allowable values:
596
597 0 – clear the signal;
598
599 1 – set the signal;
600
601 2-65535 – use the physical input "Precharge request".
Admin 5.1 602 )))|(% style="width:96px" %)U16
603 |(% style="width:92px" %)**0x510A**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 604 Software control of the "Discharge request" signal. Allowable values:
605
606 0 – clear the signal;
607
608 1 – set the signal;
609
610 2-65535 – use the physical input "Discharge request".
Admin 5.1 611 )))|(% style="width:96px" %)U16
612 |(% style="width:92px" %)**0x510B**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 613 Software control of the "PCH contactor feedback" signal. Allowable values:
614
615 0 – clear the signal;
616
617 1 – set the signal;
618
619 2-65535 – use the physical input "PCH contactor feedback".
Admin 5.1 620 )))|(% style="width:96px" %)U16
621 |(% style="width:92px" %)**0x510C**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 622 Software control of the "CH/DCH contactor feedback" signal. Allowable values:
623
624 0 – clear the signal;
625
626 1 – set the signal;
627
628 2-65535 – use the physical input "CH/DCH contactor feedback".
Admin 5.1 629 )))|(% style="width:96px" %)U16
630 |(% style="width:92px" %)**0x510D**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 631 Software control of the "Main contactor feedback" signal. Allowable values:
632
633 0 – clear the signal;
634
635 1 – set the signal;
636
637 2-65535 – use the physical input "Main contactor feedback".
Admin 5.1 638 )))|(% style="width:96px" %)U16
639 |(% style="width:92px" %)**0x510E**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 640 Software control of the "Interlock" signal. Allowable values:
641
642 0 – clear the signal;
643
644 1 – set the signal;
645
646 2-65535 – use the physical input "Interlock".
Admin 5.1 647 )))|(% style="width:96px" %)U16
648 |(% style="width:92px" %)**0x510F**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 649 Software control of the "Fuse 1" signal. Allowable values:
650
651 0 – clear the signal;
652
653 1 – set the signal;
654
655 2-65535 – use the physical input "Fuse 1".
Admin 5.1 656 )))|(% style="width:96px" %)U16
657 |(% style="width:92px" %)**0x5110**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 658 Software control of the "Fuse 2" signal. Allowable values:
659
660 0 – clear the signal;
661
662 1 – set the signal;
663
664 2-65535 – use the physical input "Fuse 2".
Admin 5.1 665 )))|(% style="width:96px" %)U16
666 |(% style="width:92px" %)**0x5111**|(% style="width:94px" %)1|(% style="width:368px" %)(((
Admin 1.1 667 Software control of the "Fuse 3" signal. Allowable values:
668
669 0 – clear the signal;
670
671 1 – set the signal;
672
673 2-65535 – use the physical input "Fuse 3".
Admin 5.1 674 )))|(% style="width:96px" %)U16