Wiki source code of 4.2 Modbus protocol

Version 3.4 by Admin on 2024/11/29 12:33

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