BMS automatic address allocation method and system
By using the controller I/O resources in the BMS system to establish a ring link and automatically assign addresses, the high cost and error risk problems caused by manual programming and manual settings in the existing technology are solved, and flexible and reliable address allocation is achieved.
Patent Information
- Application Number
- CN202510886995.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-09-19
AI Technical Summary
Existing BMS systems require manual programming or manual settings when allocating addresses, which results in high costs, high risk of errors, and lack of flexibility to adapt to changes in the composition of energy storage facilities.
By utilizing the I/O resources of the controller in the BMS system, establishing a ring link, automatically allocating addresses, and using signal interaction and data statistics to implement address allocation for master and slave modules, the cost of hardware and manual intervention can be reduced.
This enables automatic address assignment without manual programming and hardware changes, reducing costs, reducing the risk of errors, and improving system flexibility and reliability.
Smart Images

Figure CN120675975A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of energy storage technology, and in particular to a method and system for automatically allocating addresses for a BMS. Background Art
[0002] In energy storage facilities, in order to charge and discharge batteries and manage safety, a BMS system needs to be designed to monitor the energy storage battery pack. Therefore, the BMS system needs to communicate with the monitoring unit, inverter unit, EMS system and other components.
[0003] Currently, communication protocols such as CAN and RS485 are commonly used. However, they need to be pre-set through software. Once the composition of the energy storage needs to be changed, the program must be rewritten and the software must be re-burned. This is not flexible enough, increases labor costs and increases the risk of errors.
[0004] If the address is set manually using a physical address coding element, the coding element is bulky and the number of addresses that can be edited is limited, which increases hardware and labor costs, increases the risk of errors, and affects system operation.
[0005] Therefore, this application proposes a new technical solution. Summary of the Invention
[0006] In order to improve the convenience of using a BMS system and reduce its cost, the present application provides a method and system for automatically allocating addresses for a BMS.
[0007] In the first aspect, the present application provides a method for automatically allocating addresses to a BMS, which adopts the following technical solutions: A method for automatically allocating addresses for a BMS, comprising: Step 1: Establish allocation conditions, which include: Select two I / O terminals from each controller in the system as functional task terminals, and connect adjacent controllers to each other through the functional task terminals to form a ring link, generating a corresponding network topology diagram; Define the two directions of the BMS master control unit on the ring link as direction A and direction B, and define one of the multiple controllers as the BMS master control unit and the other controllers as BMS slaves; Set the pull-up of each functional task end to a high level, and the functional mode is initially set to the I / O receiving port; Step 2: Interface settings, which include: The BMS main control unit selects direction A or direction B to send the interface function setting signal; The BMS slave receives the interface function setting signal, and the I / O interface that receives the signal is set to receive I / O, and the other I / O is set to send I / O and sends the interface function setting signal; The other BMS slave at the rear of the ring link repeats the action of the previous BMS slave until the function setting signal is sent back to the BMS master unit; Step 3: Slave statistics, including: The BMS master unit sends statistical instruction data, and the BMS slaves sequentially receive, update, and forward the statistical instruction data, and update at least one data field; wherein, the update rule is that each time the data field is updated, the accumulated value is set once; The BMS main control unit obtains the returned statistical instruction data, reads the data field and parses it to obtain the number of slaves N; Step 4: Address allocation, which includes: The BMS master unit sends address allocation instruction data, and the BMS slaves sequentially receive the instructions, extract addresses, update and forward statistical instruction data, and update at least one data field; wherein the address allocation instruction data includes at least N slave addresses, and the update rule includes replacing the extracted address bits with preset verification values; The address allocation is successful until the BMS master control unit obtains the returned address allocation instruction data and extracts the verification values representing all BMS slaves.
[0008] Optionally, the statistical instruction data includes a data field and a test field; After receiving the statistical instruction data, the BMS slave verifies the test domain, and after passing the test, it updates the data domain and generates a new test domain; After receiving the statistical instruction data, the BMS main control unit verifies the verification domain and obtains the number of slaves N after the verification passes.
[0009] Optionally, the address allocation instruction data includes a data field and a check field, and after the check is passed, the data field is updated and a new check field is generated; wherein the data field is a combination of the slave address or a combination of the slave address and the verification value; After receiving the statistical instruction data, the BMS main control unit verifies the verification domain. If the verification value representing all BMS slaves is extracted after the verification passes, the address allocation is successful.
[0010] Optionally, communication anomaly detection is also included, which includes: If the BMS main control unit sends data, it identifies the data and determines its matching task; Search the pre-uploaded standard timeout record according to the current task and obtain the timeout time t matched by a single BMS slave; Calculate the current timeout based on the current number of slaves; If no data is received back to the BMS master control after the timeout period, a manual troubleshooting prompt will be output, and the prompt may pop up on the display interface.
[0011] Optionally, the interface function setting signal includes a square wave of m*(a1±d1)+m*(a2±d2), wherein a1 and a2 refer to the duration of high and low levels, and m represents the number of repetitions of high and low levels.
[0012] Optionally, the method further includes: if the address allocation is successful, executing a slave tracking process; The slave tracking process includes: Execute step 3 with the preset time T as the period, i.e., re-perform slave statistics; If the newly obtained number of slaves N' is not equal to the number of slaves N in the latest address allocation, then step 3 is executed continuously for a preset number of verification times. If N' is the same, then at least steps 1 to 4 are executed again.
[0013] Optionally, if address reallocation occurs during a slave tracking process, the address security verification process is executed; The address security verification process includes: The BMS main control unit sends safety verification instruction data; wherein, the safety verification instruction data includes a command field, a data field and a check field, and the data field is initially 0; The BMS slave receives and verifies the safety verification instruction data, and updates the data field and the verification field after passing the verification. The update rule of the data field is to extract the address of the current BMS slave and add it to the data field, and compare it with the existing addresses in the data field one by one to determine whether there is an identical address. If yes, the identical address in the data field is replaced by a code; if not, the process ends. Generate a new verification domain based on the new data domain, update the safety verification instruction data and forward it to another BMS slave until the BMS master control unit receives the returned safety verification instruction data; The BMS main control unit parses and verifies the safety verification instruction data, and reads the data field after passing the verification; If there is an assignment code in the data field, an abnormal prompt of address update will be output.
[0014] Optionally, the step 1 of establishing the allocation conditions further includes: interconnecting two I / O terminals of each controller, connecting an electronic switch in series therebetween, and connecting a controlled terminal of the electronic switch to the corresponding controller; If no data is received back to the BMS master after the timeout period, the I / O fault point troubleshooting and jumper assignment process is executed; wherein the I / O fault point troubleshooting and jumper assignment process includes: Execute step 3 once and the data field is required to be initially set to 0. When the BMS slave updates the data field, it reads the machine time and adds it to the data field. The BMS master control unit reads the data field returned after executing step 3, and determines the BMS slave with timeout abnormality based on the timeout time t matched by the single BMS slave; Execute step 2 and set both I / O interfaces of the BMS slave with timeout abnormality to send I / O, so that the BMS slave with timeout abnormality controls the corresponding electronic switch to close; Repeat at least steps 3 and 4.
[0015] In a second aspect, the present application provides a BMS automatic address allocation system, which adopts the following technical solutions: A BMS automatic address allocation system includes a memory and a processor, wherein the memory stores a computer program that can be loaded by the processor and execute any one of the above-mentioned BMS automatic address allocation methods.
[0016] To sum up, the present application includes the following beneficial technical effects: the present application can make full use of the redundancy of the controller I / O resources, and only two I / O interfaces are required to realize the master-slave module address allocation, and no other equipment intervention is required, thereby reducing hardware costs; there is no need to manually rewrite the program and re-burn the software, reducing the situation where the system address is disordered and cannot work normally due to manual intervention, and when necessary, the address topology can be obtained in real time through the Internet of Things connection to the BMS main control unit or the local display interface, which is more intuitive and convenient and flexible to operate. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It is a schematic diagram of the topological structure of this application. DETAILED DESCRIPTION
[0018] The following is combined with Figure 1 This application is described in further detail.
[0019] The embodiment of the present application discloses a method for automatically allocating addresses for a BMS.
[0020] Reference Figure 1 , BMS automatic address allocation methods include: Step 1: Establish allocation conditions, which include: S11. Select two I / O terminals from each controller in the system (i.e., BMS system, energy storage system) as functional task terminals, and connect the functional task terminals of (physically) adjacent controllers to each other through wires to form a ring link, thereby generating a corresponding network topology diagram.
[0021] It is understandable that any CPU or controller with an integrated CPU has a large number of I / O resources, especially in energy storage systems where redundancy often exists, and therefore can be used for this application. This is also one of the advantages of this application: reducing hardware costs by reusing redundant resources.
[0022] It should be noted that the CPU or controller in this application should have a timer function, and preferably a model with I / O with edge (rising edge, falling edge) detection function.
[0023] S12. Define the two directions of the BMS master control unit on the ring link as direction A and direction B, and define one of the multiple controllers as the BMS master control unit (referred to as the master), and the other controllers as BMS slaves; The pull-up pins of each functional task are set to a high level, and the functional mode is initially set to the I / O receiving port.
[0024] Regarding pulling the I / O pin up to a high level, examples include: connecting an external pull-up resistor to the pin and enabling the pull-up resistor inside the chip by the controller to make the initial default high level.
[0025] Step 2: Interface settings, which include: S21. The BMS main control unit selects direction A or direction B to send an interface function setting signal.
[0026] S22, the BMS slave receives an interface function setting signal, and the I / O interface that receives the signal is set to a receiving I / O, and another I / O is set to a sending I / O interface and sends an interface function setting signal.
[0027] S23. Another BMS slave at a later position on the ring link repeats the action of the previous BMS slave until the function setting signal is sent back to the BMS master control unit, completing the interface setting.
[0028] Step 3: Slave statistics, including: S31, the BMS master control unit sends statistical instruction data in the direction selected in step 2, and the BMS slave sequentially receives, updates and forwards the statistical instruction data, and updates at least one data field; The update rule is that each time an update is performed, the data field accumulates a fixed value, such as one of integers such as 1, 2, or 3. It is understood that the instruction needs to be parsed before the update is executed, which is the basic action.
[0029] S32. The BMS main control unit obtains the returned statistical instruction data, reads the data field and parses it to obtain the number of slaves N. Example: If the above constant is 1, then N represents the number of slaves.
[0030] In this embodiment, the system local master, the host computer connected to the master, and the remote end can load the corresponding functional software and display the above-mentioned ring link, network topology diagram, number of slaves, etc. on the UI interface to facilitate staff to complete related work.
[0031] Step 4: Address allocation, which includes: S41, the BMS master control unit sends address allocation instruction data in the direction selected in step 2, and the BMS slave sequentially receives the instruction, extracts the address, updates and forwards the statistical instruction data, and updates at least one data field; The address allocation instruction data includes at least N slave addresses, and the updating rule includes replacing the extracted address bits with preset verification values; the verification values are, for example, numbers such as 0, 1, and 3.
[0032] S42: The address allocation is successful until the BMS main control unit obtains the returned address allocation instruction data and extracts the verification values representing all BMS slaves.
[0033] According to the above content, this application can make full use of the controller I / O resource redundancy, and only two I / O interfaces are needed to realize the master-slave module address allocation, and no other equipment intervention is required, thus reducing hardware costs; there is no need to manually rewrite the program and re-burn the software, reducing the situation where the system address is disordered and cannot work normally due to manual intervention. If necessary, the address topology can be obtained in real time through the Internet of Things connection to the BMS main control unit or the local display interface, which is more intuitive and convenient and flexible to operate.
[0034] In one embodiment of the present application, the above-mentioned interface function setting signal includes: a combination of a long signal and a short signal; specifically: a square wave of m*(a1±d1)+m*(a2±d2), wherein a1 and a2 correspond to high level and low level, if a1 corresponds to high level, then a2 corresponds to low level, otherwise a2 is high level; thus, a1 and a2 are the corresponding level maintenance time lengths; d1 and d2 are the fluctuation allowable time lengths; m represents the number of repetitions of high and low levels.
[0035] It can be understood that the high and low levels appear alternately in the above signal, and according to the initial setting of the I / O, the low level half cycle comes first.
[0036] Example of a square wave of m*(a1±d1)+m*(a2±d2): the long signal is a 200ms±10% square wave, and the short signal is a 100ms±10% square wave. Specifically: low level 200ms—high level 200ms—low level 100ms—high level 100ms.
[0037] The baud rate of the above signal can be customized according to actual conditions, with a maximum value not exceeding 9600 bit / s. Based on the above settings, the interface function setting signal is relatively more complex and has a stronger anti-interference ability, which can reduce the probability of error in interface settings.
[0038] In one embodiment of the present application, the above-mentioned statistical instruction data (or statistical command frame) includes a data field and a check field. It should be noted that as an instruction, it contains a command field as a basic condition. The command field is an instruction code used to instruct the slave to perform a certain operation. The instruction code can be determined according to the model selected by the slave.
[0039] That is, the above statistical instruction data should be complete and include: a command field, a data field and a check field.
[0040] The above-mentioned data domain refers to: the part that carries the information field, for example: in step three, it is 1, 2, 3... indicating the number of slaves; in step four, it is a set of slave addresses. The addresses extracted in step four can be extracted from front to back in the order of the arrangement of the slaves, and each address is separated by a symbol. After extraction, 0 can be used for replacement filling.
[0041] The check field is information used to verify the integrity of instruction data. In this embodiment, it can be generated by calculating the command field and data field using a specified algorithm. This way, every time the data field is updated, the check field is also updated to improve security. Example of check field generation: If the command field is 0001 and the data field is 0, then 0001 + 0 = 0001.
[0042] Based on the above, after receiving the data from the machine, the BMS parses it, that is, deciphers each field, and then verifies it with the test field. After the test passes, the data field is updated and a new test field is generated. After receiving the statistical instruction data, the BMS main control unit verifies the verification domain and obtains the number of slaves N after the verification passes.
[0043] In another embodiment of the present application, the address allocation instruction data (address allocation command frame) includes a data field and a check field, the contents of which are different but the principles are the same as those of the previous embodiment.
[0044] After the verification is passed, the data domain is updated and a new verification domain is generated; the data domain is a combination of slave addresses or a combination of slave addresses and verification values, that is, the first combination is N slave addresses, followed by a combination of N-1 slave addresses + 0; and so on, to the last N zeros.
[0045] After receiving the statistical instruction data, the BMS main control unit verifies the verification domain. If the verification value representing all BMS slaves is extracted after passing the verification, that is, N zeros, the address allocation is successful. Based on this, the staff can further set it as follows: After the address is successfully assigned, the BMS main control unit sends the complete slave address topology to the display interface for staff to view, check and record.
[0046] In another embodiment of the present application, the method further includes: communication anomaly detection, specifically: If the BMS main control unit sends data, it identifies the data and determines its matching task; According to the current task, the pre-uploaded standard timeout record is searched to obtain the timeout time t matched by a single BMS slave. The standard timeout record records the standard length of time that a single BMS slave theoretically takes to return a signal to the BMS master after executing each task and is judged as a timeout.
[0047] Calculate the current timeout; that is, N*t; If no data is received back to the BMS master control after the timeout period, a manual troubleshooting prompt will be output, and the prompt may pop up on the display interface.
[0048] According to the above settings, this application can use different timeout periods to track tasks when the BMS master performs different tasks, so as to promptly remind staff when a task (such as address allocation) times out.
[0049] In another embodiment of the present application, the method further comprises: If the address is assigned successfully, the slave tracking process is executed; the slave tracking process includes: Execute step 3 with a preset time T (e.g. 5 minutes) as a period, i.e. re-perform slave statistics; If the newly obtained number of slaves N' is not equal to the number of slaves N in the latest address allocation, step 3 is executed continuously for a preset number of verification times (eg, 3 times). If N' is the same, at least steps 1 to 4 are executed again.
[0050] According to the above settings, after the initial configuration of this method, the system can dynamically track the slaves and automatically restart the address allocation work when the staff changes the number of slaves, making the work more convenient.
[0051] In another embodiment of the present application, if address reallocation occurs during a slave tracking process, an address security verification process is executed.
[0052] The address security verification process includes: The BMS master control unit sends safety verification instruction data; wherein, the safety verification instruction data includes a command field, a data field, and a check field, and the data field is initially 0. The same applies to the above-mentioned slave number statistics; The BMS slave receives and verifies (i.e., verifies with the verification field) the security verification instruction data, and updates the data field and the verification field after passing the verification. The update rule of the data field is to extract the address of the current BMS slave and add it to the data field, and compare it with the existing addresses in the data field one by one to determine whether there is an identical address. If so, the identical address in the data field is replaced by a code (for example: 0); if not, the process ends.
[0053] Afterwards, a new verification domain is generated based on the new data domain, and the updated safety verification instruction data is forwarded to another BMS slave until the BMS master control unit receives the returned safety verification instruction data; The BMS main control unit parses and verifies the safety verification instruction data, and reads the data field after passing the verification; If there is a code in the data field, the output address update exception prompt, for example: make the display interface show the complete data field; If there is no code in the data field, the output prompts that the address allocation is successful.
[0054] According to the above settings, confusion caused by address duplication during the dynamic automatic update of the slave address in the later stage can be prevented, so as to ensure the normal operation of the BMS system.
[0055] In another embodiment of the present application, step one, establishing allocation conditions, further includes: interconnecting the two I / O terminals of each controller (i.e., interconnected with wires), and connecting an electronic switch in series therebetween, with the controlled end of the electronic switch being connected to the corresponding controller.
[0056] An example of an electronic switch: a transistor, whose base is connected to the controller and the collector is connected in series between the two I / O terminals; the transistor can also replace electronic devices such as relays.
[0057] On the basis of the above, the method further includes: if no data returned to the BMS master is received after the timeout period, executing the I / O fault point troubleshooting and jumper allocation process.
[0058] The I / O fault point troubleshooting and jumper assignment process includes: The BMS master unit selects direction A and executes step 3 once. The data field is required to be initially set to 0. When the BMS slave updates the data field, it reads the machine time and adds it to the data field. For example, the data field of the first BMS slave is: 1-1650 (i.e. 16:50).
[0059] The BMS master control unit reads the data field returned after step 3 is executed, and determines the BMS slave with timeout abnormality based on the timeout time t matched by a single BMS slave. For example, if the transmission starts at 16:49, and theoretically each timeout time t is 1 minute, then the second data field should be 2-1651, but it is actually 2-1655, indicating that the second BMS slave is abnormal.
[0060] Afterwards, execute step 2 and set both I / O interfaces of the BMS slave with the timeout exception to send I / O, so that the BMS slave with the timeout exception controls the corresponding electronic switch to close; Repeat at least steps 3 and 4.
[0061] According to the above settings, firstly, the method can automatically find out which BMS slave is faulty, and secondly, it can actively skip the faulty BMS slave to improve the adaptability of the BMS system.
[0062] It should be noted that the above premise is that the communication anomaly detection times out but the signal can be returned normally.
[0063] The embodiment of the present application also discloses a BMS automatic distribution system.
[0064] The BMS automatic address allocation system includes a memory and a processor, wherein the memory stores a computer program that can be loaded by the processor and execute the BMS automatic address allocation method as described in any one of the above embodiments.
[0065] The above are all preferred embodiments of the present application, and are not intended to limit the scope of protection of the present application. Therefore, any equivalent changes made based on the structure, shape, and principle of the present application should be included in the scope of protection of the present application.
Claims
1. A method for automatically allocating addresses to BMS, characterized in that: include: Step 1: Establish allocation conditions, which include: Select two I / O terminals from each controller in the system as functional task terminals, and connect adjacent controllers to each other through the functional task terminals to form a ring link, generating a corresponding network topology diagram; Define the two directions of the BMS master control unit on the ring link as direction A and direction B, and define one of the multiple controllers as the BMS master control unit and the other controllers as BMS slaves; Set the pull-up of each functional task end to a high level, and the functional mode is initially set to the I / O receiving port; Step 2: Interface settings, which include: The BMS main control unit selects direction A or direction B to send the interface function setting signal; The BMS slave receives the interface function setting signal, and the I / O interface that receives the signal is set to receive I / O, and the other I / O is set to send I / O and sends the interface function setting signal; The other BMS slave at the rear of the ring link repeats the action of the previous BMS slave until the function setting signal is sent back to the BMS master unit; Step 3: Slave statistics, including: The BMS master unit sends statistical instruction data, and the BMS slaves sequentially receive, update, and forward the statistical instruction data, and update at least one data field; wherein, the update rule is that each time the data field is updated, the accumulated value is set once; The BMS main control unit obtains the returned statistical instruction data, reads the data field and parses it to obtain the number of slaves N; Step 4: Address allocation, which includes: The BMS master unit sends address allocation instruction data, and the BMS slaves sequentially receive the instructions, extract addresses, update and forward statistical instruction data, and update at least one data field; wherein the address allocation instruction data includes at least N slave addresses, and the update rule includes replacing the extracted address bits with preset verification values; The address allocation is successful until the BMS master control unit obtains the returned address allocation instruction data and extracts the verification values representing all BMS slaves.
2. The BMS automatic address allocation method according to claim 1, characterized in that: The statistical instruction data includes a data field and a test field; After receiving the statistical instruction data, the BMS slave verifies the test domain, and after passing the test, it updates the data domain and generates a new test domain; After receiving the statistical instruction data, the BMS main control unit verifies the verification domain and obtains the number of slaves N after the verification passes.
3. The BMS automatic address allocation method according to claim 2, characterized in that: The address allocation instruction data includes a data field and a check field, and after the check is passed, the data field is updated and a new check field is generated; wherein the data field is a combination of a slave address or a combination of a slave address and a verification value; After receiving the statistical instruction data, the BMS main control unit verifies the verification domain. If the verification value representing all BMS slaves is extracted after the verification passes, the address allocation is successful.
4. The BMS automatic address allocation method according to claim 1, characterized in that: Also included is communication anomaly detection, which includes: If the BMS main control unit sends data, it identifies the data and determines its matching task; Search the pre-uploaded standard timeout record according to the current task and obtain the timeout time t matched by a single BMS slave; Calculate the current timeout based on the current number of slaves; If no data is received back to the BMS master control after the timeout period, a manual troubleshooting prompt will be output, and the prompt may pop up on the display interface.
5. The BMS automatic address allocation method according to claim 1, characterized in that: The interface function setting signal includes a square wave of m*(a1±d1)+m*(a2±d2), wherein a1 and a2 refer to the duration of the high and low levels, and m represents the number of repetitions of the high and low levels.
6. The BMS automatic address allocation method according to claim 1, characterized in that: Also includes: If the address is assigned successfully, the slave tracking process is executed; The slave tracking process includes: Execute step 3 with the preset time T as the period, i.e., re-perform slave statistics; If the newly obtained number of slaves N' is not equal to the number of slaves N in the latest address allocation, then step 3 is executed continuously for a preset number of verification times. If N' is the same, then at least steps 1 to 4 are executed again.
7. The BMS automatic address allocation method according to claim 6, characterized in that: If address reallocation occurs during a slave tracking process, the address security verification process will be executed; The address security verification process includes: The BMS main control unit sends safety verification instruction data; wherein, the safety verification instruction data includes a command field, a data field and a check field, and the data field is initially 0; The BMS slave receives and verifies the safety verification instruction data, and updates the data field and the verification field after passing the verification. The update rule of the data field is to extract the address of the current BMS slave and add it to the data field, and compare it with the existing addresses in the data field one by one to determine whether there is an identical address. If yes, the identical address in the data field is replaced by a code; if not, the process ends. Generate a new verification domain based on the new data domain, update the safety verification instruction data and forward it to another BMS slave until the BMS master control unit receives the returned safety verification instruction data; The BMS main control unit parses and verifies the safety verification instruction data, and reads the data field after passing the verification; If there is an assignment code in the data field, an abnormal prompt of address update will be output.
8. The BMS automatic address allocation method according to claim 4, characterized in that: The step 1, establishing the allocation conditions, further includes: interconnecting two I / O terminals of each controller, connecting an electronic switch in series therebetween, and connecting a controlled terminal of the electronic switch to the corresponding controller; If no data is received back to the BMS master after the timeout period, the I / O fault point troubleshooting and jumper assignment process is executed; wherein the I / O fault point troubleshooting and jumper assignment process includes: Execute step 3 once and the data field is required to be initially set to 0. When the BMS slave updates the data field, it reads the machine time and adds it to the data field. The BMS master control unit reads the data field returned after executing step 3, and determines the BMS slave with timeout abnormality based on the timeout time t matched by the single BMS slave; Execute step 2 and set both I / O interfaces of the BMS slave with timeout abnormality to send I / O, so that the BMS slave with timeout abnormality controls the corresponding electronic switch to close; Repeat at least steps 3 and 4.
9. A BMS automatic address allocation system, characterized by: The system comprises a memory and a processor, wherein the memory stores a computer program that can be loaded by the processor and execute the method for automatically allocating addresses for a BMS as described in any one of claims 1 to 8.