Wiki source code of BMS Main X
Last modified by Admin on 2025/07/22 11:39
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
5.1 | 1 | (% class="box infomessage" %) |
2 | ((( | ||
3 | BMS Main X firmware update procedure is described [[here>>doc:Battery management systems.BMS Main X.5\. Firmware update.WebHome]]. | ||
4 | ))) | ||
5 | |||
![]() |
8.1 | 6 | = v2.8.1 = |
7 | |||
8 | [[BMS_Main_X2_v2.8.1.srec>>FileManager.BMS_Main_X2_v2\.8\.1\.srec]] | ||
9 | |||
10 | == Improvements == | ||
11 | |||
12 | * new CLI command "find-log" which finds a log file containing a specified timestamp | ||
13 | * ability to acknowledge battery module errors via CLI (see the "Service - Errors journal" section) and Modbus protocol | ||
14 | |||
15 | == Fixes == | ||
16 | |||
17 | * resolving the issue of rebooting the device if formatting the SD card is activated | ||
18 | |||
![]() |
7.1 | 19 | = v2.8.0 = |
20 | |||
21 | [[BMS_Main_X2_v2.8.0.srec>>FileManager.BMS_Main_X2_v2\.8\.0\.srec]] | ||
22 | |||
23 | == Features == | ||
24 | |||
25 | * new flags that allow to interrupt (shorten) the module balancing stage if all battery modules are already joined (see the "Control - Charge", "Control - Discharge", "Control - Charge/Discharge" sections) | ||
26 | * forwarding CLI and bootloader CAN messages from CAN EXT interface to CAN INT interface and back | ||
27 | * new parameter for setting the type of network to which the BMS GSM communication module connects (see the "Connectivity - Cellular" section) | ||
28 | * new flag that controls whether to use open circuit voltage or actual voltage when determining the voltage unbalance error (see the "Protections - Voltage unbalance (in any state)" section) | ||
29 | * new regulator that maintains battery current limiting to ensure that actual module currents do not exceed their current limits (see the "Control - Charge", "Control - Discharge", "Control - Charge/Discharge" sections) | ||
30 | * ability to select the battery module errors that cause the battery critical error (see the "Protections - Critical error" section) | ||
31 | * ability to update the device serial number from the service account if the number is reset to the default value for some reason (see the "Service" section) | ||
32 | |||
33 | == Improvements == | ||
34 | |||
35 | * dynamic calculation of data transfer schedule for optimal communication with a large number of battery modules | ||
36 | * ability to complete device initialization after the set timeout has expired and the minimum number of modules has been detected (see the "Control - Initialization" section) | ||
37 | * 30 second delay when remounting SD card after detecting mount error | ||
38 | * saving the number of joined modules in log files | ||
39 | |||
40 | == Fixes == | ||
41 | |||
42 | * resolving the issue of saving some battery module signals in log files | ||
43 | |||
![]() |
6.1 | 44 | = v2.7.0 = |
45 | |||
46 | [[BMS_Main_X2_v2.7.0.srec>>FileManager.BMS_Main_X2_v2\.7\.0\.srec]] | ||
47 | |||
48 | == Features == | ||
49 | |||
50 | * new algorithm in the Charging/Discharging controller that allow to control the Charging/Discharging contactor independently from the Charging and Discharging signals (see the "Control - Charge/Discharge" section). The new "Independent" algorithm is preferred in the battery systems with one contactor | ||
51 | * new "Need acknowledge" warning signal that is set when a new record is created in the errors journal. The signal can be cleared in the "Service - Errors journal" section | ||
52 | * new Max-Min algorithm for calculating the final battery SOC in the "Control - Calculation" section | ||
53 | * improved control of the precharging contactor, which can precharge capacitive load using multiple attempts and detect high power dissipated in the precharge resistor (see the "Control - Precharge" section) | ||
54 | * ability to exclude errors from being saved in the error journal (see the "Service - Errors journal" section) | ||
55 | * ability to restart the device according to a specified schedule at the moment when the battery system is preparing to charge | ||
56 | * new error "High contactor temperature" that can be used to open the specified contactor to prevent it from overheating (see the "Protections - High contactor temperature" section) | ||
57 | * new internal signal "Coolant pump" that can be assigned to a relay or discrete output (for signal settings, see the "Control - Coolant pump" section) | ||
58 | * new flags indicating the readiness of battery modules to join for charging and discharging (see the "Modules" section) | ||
59 | * new flag to set the "Voltage unbalance" errors for battery modules that are not ready to charge or discharge (see the "Protections - Voltage unbalance (in any state)" section) | ||
60 | * initial support for Pylontech inverters | ||
61 | * extension of the CANopen dictionary to provide additional information for the BMS Display (device serial number, battery serial number, battery address, Wi-Fi and LAN addresses, SOH, capacity, etc.) | ||
62 | |||
63 | == Improvements == | ||
64 | |||
65 | * ability to finish device initialization even if the number of battery modules found is less than the number of modules enabled (see the "Control - Modules" section) | ||
66 | * placing the device input signals to the "Battery" section and adding raw discrete inputs to the "Signals" section | ||
67 | |||
68 | == Fixes == | ||
69 | |||
70 | * resolving the issue of ignoring the minimum number of battery modules allowed to join located in the "Control - Discharge" section | ||
71 | * resolving the issue of joining battery modules the number of which must be greater than or equal to the minimum value specified in the settings | ||
72 | * small internal fixes | ||
73 | |||
![]() |
4.1 | 74 | = v2.6.3 = |
75 | |||
76 | [[BMS_Main_X2_v2.6.3.srec>>FileManager.BMS_Main_X2_v2\.6\.3\.srec]] | ||
77 | |||
78 | == Improvements == | ||
79 | |||
80 | * adaptation of the device to the production test bench | ||
81 | |||
![]() |
3.1 | 82 | = v2.6.2 = |
83 | |||
84 | [[BMS_Main_X2_v2.6.2.srec>>FileManager.BMS_Main_X2_v2\.6\.2\.srec]] | ||
85 | |||
86 | == Fixes == | ||
87 | |||
88 | * resolving the problem of saving device parameters | ||
89 | |||
90 | = v2.6.1 = | ||
91 | |||
92 | [[BMS_Main_X2_v2.6.1.srec>>FileManager.BMS_Main_X2_v2\.6\.1\.srec]] | ||
93 | |||
94 | == Fixes == | ||
95 | |||
96 | * resolving the issue of preparing battery module states written to Modbus registers | ||
97 | * resolving the problem of writing the device's working time to a non-volatile memory very often | ||
98 | * resolving the problem of returning error states when saving device parameters (mainly via Wi-Fi) | ||
99 | |||
![]() |
1.2 | 100 | = v2.6.0 = |
101 | |||
102 | [[BMS_Main_X2_v2.6.0.srec>>FileManager.BMS_Main_X2_v2\.6\.0\.srec]] | ||
103 | |||
104 | == Features == | ||
105 | |||
106 | * new parameter to set the minimum number of battery modules allowed to join (see the "Control - Charge" and "Control - Discharge" sections) | ||
107 | * ability to rejoin battery modules if their voltage is close to the battery voltage (see the "Control - Charge" and "Control - Discharge" sections) | ||
108 | * selection of errors that cause reset of contactor control signals (see the "Control - Main contactor", "Control - Charge", "Control - Discharge", "Control - Heater", "Control - Cooler" sections) | ||
109 | * new internal signal "General error (modules)" which is the logical sum of the "General error" signals from the battery modules | ||
110 | * new assignments "Charging", "Precharging", "Discharging", "Charging/Discharging", "Main contactor", "Critical error" and "General error (modules)" for the discrete outputs (see the "Signals - Output discrete signals - Assignments" section) | ||
111 | * new assignments "Critical error" and "General error (modules)" for the relays (see the "Signals - Relays - Assignments" section) | ||
112 | |||
![]() |
2.1 | 113 | == Improvements == |
![]() |
1.2 | 114 | |
![]() |
2.1 | 115 | * rearrangements in the settings sections, which are made to simplify the setup process |
116 | |||
117 | == Fixes == | ||
118 | |||
119 | * resolving the problem of device hanging due to high activity on the CAN bus during startup |