Communication identifier determination method
By automatically determining the bus communication identifier of the inverter and the BMS using the target inverter in the energy storage system, the problem of communication identification conflict in the prior art is solved, and efficiency and accuracy are improved.
Patent Information
- Application Number
- CN202510669896.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-23
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2045-05-23
AI Technical Summary
The bus communication identifiers of the inverter and BMS in existing energy storage systems may be the same, resulting in communication conflicts, affecting the accurate control of the system, and the existing methods are not efficient.
The first message is sent to the communication bus through the target inverter, including its sequence identifier, and all messages on the bus are obtained to determine the sequence identifier of each inverter, thereby automatically determining the collision-free bus communication identifier.
Without installing dial switch hardware, the bus communication identifiers of the inverter and BMS are automatically determined through software, which improves the efficiency and accuracy of communication identifier determination.
Smart Images

Figure CN120201005A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of energy storage, and particularly relates to a method for determining communication identifiers. Background Art
[0002] In related technologies, multiple inverters in an energy storage system can be paralleled, and multiple battery packs can be connected to one inverter for parallel connection, so as to flexibly configure parameters such as the capacity and voltage of the energy storage system and improve the applicability of the energy storage system to scenarios.
[0003] In the above energy storage system, the bus communication identifiers between inverters may be the same, and the bus communication identifiers between the battery management systems (Battery Management System, BMS) corresponding to the battery packs may be the same. This will cause communication conflicts in the energy storage system and affect the accurate control of the energy storage system. Therefore, currently, DIP switch hardware is usually installed on the inverters and BMS, and the bus communication identifiers of the inverters and BMS are determined by manually setting the DIP switch hardware.
[0004] However, the current method for determining communication identifiers is not efficient. Summary of the Invention
[0005] Based on this, it is necessary to provide an efficient method for determining communication identifiers for the above technical problems.
[0006] In a first aspect, the present application provides a method for determining communication identifiers, which is applied to an energy storage system. The energy storage system includes an inverter, a BMS corresponding to the inverter, and a communication bus. The communication bus is respectively connected to the inverter and the BMS. The method includes:
[0007] A target inverter sends a first message to the communication bus. The first message includes the sequence identifier of the target inverter; the target inverter includes any one of the inverters in the energy storage system;
[0008] The target inverter obtains all the first messages on the communication bus, and determines the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus;
[0009] The target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system;
[0010] The target inverter sends a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter;
[0011] The target BMS determines the bus communication identifier of the target BMS based on the target signal; the target BMS is any one of the BMSs corresponding to the target inverter.
[0012] In the above communication identifier determination method, since the target inverter can send a first message to the communication bus, and the first message includes the sequence identifier of the target inverter, where the target inverter is any one of the inverters in the energy storage system, the target inverter can thus obtain all the first messages on the communication bus and determine the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus. Further, since the target inverter can determine the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system, there is no need to install a DIP switch hardware on the inverter, and the bus communication identifier of the target inverter without conflicts can be determined by software. Even further, since the target inverter can send a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter, and the target BMS is any one of the BMSs corresponding to the target inverter, the target BMS can further efficiently determine the bus communication identifier of the target BMS without conflicts based on the target signal. In the whole process, the bus communication identifiers can be automatically assigned to any inverter and any BMS in the energy storage system without manual participation, improving the efficiency of determining the communication identifiers. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the following will briefly introduce the drawings required to be used in the description of the embodiments of the present application or the related art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.
[0014] Figure 1 It is an application environment diagram of the communication identifier determination method in an embodiment;
[0015] Figure 2 It is a flowchart of the communication identifier determination method in an embodiment;
[0016] Figure 3 It is a flowchart of determining the first allocation evaluation result in an embodiment;
[0017] Figure 4 It is a flowchart of determining the bus communication identifier of a target BMS in an embodiment;
[0018] Figure 5 It is a flowchart of determining the second allocation evaluation result in an embodiment;
[0019] Figure 6 It is a flowchart of sending an allocation result prompt message in an embodiment;
[0020] Figure 7Schematic diagram of an energy storage system in an embodiment. Detailed implementation manners
[0021] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0022] Figure 1 Application environment diagram of a communication identifier determination method in an embodiment, as Figure 1 shown, the energy storage system includes an inverter 101, a battery pack and its corresponding BMS 102, and a communication bus 103. Among them, the inverter 101 includes a total of n series-connected inverters INV1, INV2, and INVn to realize the parallel operation of n inverters. Each inverter corresponds to a series-connected battery pack to realize the parallel connection of battery packs. For example, INV1 is connected to battery pack 1-1 (including BMS1-1), battery pack 1-2 (including BMS1-2), and battery pack 1-3 (including BMS1-3), INV2 is connected to battery pack 2-1 (including BMS2-1), and INVn is connected to battery packs n-1 to n-m (including BMSn-1 to BMSn-m). Among them, both n and m are integers greater than or equal to 1. That is to say, there are 3 parallel-connected battery packs operating under INV1. BMS1-1 is used to control battery pack 1-1, BMS1-2 is used to control battery pack 1-2, and BMS1-3 is used to control battery pack 1-3. The same applies hereinafter and will not be elaborated here.
[0023] Among them, the communication bus 103 can be a Controller Area Network (CAN) bus. The CAN bus is a broadcast communication protocol. All nodes can send and receive data, but each message has a unique identifier (abbreviation: CAN ID) to determine the priority and content of the message. Therefore, each node will carry its own CAN ID when sending a message, and the receiving party judges the message source according to the CAN ID.
[0024] However, most of the inverters in the energy storage system are composed of devices of the same model. The default CAN IDs of the inverters may be the same. Similarly, the BMSs may all be composed of devices of the same model, and their default CAN IDs may also be the same. For example, when the same type of inverters leave the factory, the default CAN ID is 0x1010. Figure 1The CAN IDs of n inverters are all 0x1010. When BMSs of the same type leave the factory, their default CAN IDs are all 0x2020. If there are m BMSs online, the CAN IDs of the m BMSs are all 0x2020.
[0025] Therefore, conflicts will occur on the communication bus of the energy storage system, thus affecting the accurate control of the energy storage system. For example, if the inverter cannot distinguish the battery pack it belongs to, the inverter does not know its true charge and discharge capacity, and the BMS does not know which inverter's instruction to follow for charging and discharging, so it cannot control charging and discharging normally.
[0026] In related technologies, to solve the CAN ID conflict problem, DIP switches are usually installed on the inverter and the battery pack. By setting different combinations of DIP switches, a unique hardware identifier is provided for the BMS in the inverter and the battery pack. For example, a 4-bit DIP switch can provide 16 different combinations. Furthermore, when the inverter and the BMS start up, they read the status of the DIP switch, use the status of the DIP switch as their unique identifier, and send this identifier to other devices through the CAN bus.
[0027] However, the above method of installing DIP switch hardware has the following problems: First, the scalability is poor. When the number of devices in the energy storage system increases, the workload of setting the DIP switches will increase significantly. If a large number of devices need to have their addresses reallocated, the DIP switches need to be set one by one, which is inefficient and error-prone. Second, human errors are likely to occur. The setting of the DIP switches depends on manual operation. The operator may set the DIP switches incorrectly due to negligence, misoperation, etc., resulting in device address conflicts or inability to communicate normally. Especially when different addresses need to be set for multiple devices, errors are more likely to occur. Third, it is difficult to troubleshoot faults. When a communication fault occurs in the energy storage system, it is very difficult to quickly determine whether it is a problem with the DIP switch settings or other hardware or software problems. Because DIP switches usually do not have an intuitive display or feedback mechanism, it is impossible to directly judge whether their settings are correct, and it is necessary to check the status of the DIP switches of each device one by one, increasing the difficulty and time cost of fault troubleshooting. Based on this, it is necessary to provide an efficient method for determining communication identifiers for the above technical problems. The following will introduce the method for determining communication identifiers of the present application.
[0028] Figure 2 As a flowchart of the method for determining communication identifiers in an embodiment, in an exemplary embodiment, as Figure 2 shown, a method for determining communication identifiers is provided. Taking the energy storage system in Figure 1 as an example, it includes the following S201 to S205.
[0029] S201. The target inverter sends a first message to the communication bus. The first message includes the sequence identifier of the target inverter.
[0030] In this embodiment, the target inverter includes any one of the inverters in the energy storage system. The number of target inverters can be one or multiple. In one embodiment, the target inverter includes all the inverters in the energy storage system.
[0031] The communication bus is the communication bus in the energy storage system. Hereinafter, the CAN bus is taken as an example for the communication bus. The sequence identifier of the target inverter is an identifier that can uniquely distinguish the target inverter, and it can include at least one of numbers, letters, and symbols. Exemplarily, the sequence identifier includes but is not limited to the serial number.
[0032] Optionally, the target inverter can periodically send the first message to the communication bus. Further optionally, the target inverter can send the first message to the communication bus according to a preset period.
[0033] It should be noted that since no corresponding bus communication identifier is assigned to the target inverter at this time, the target inverter still sends the first message to the communication bus with the default communication identifier. Hereinafter, taking n = 3 and the target inverter being Figure 1 INV1 in as an example. Exemplarily, INV1 can send the first message 1 including the serial number of INV1 to the CAN bus at a fixed interval based on the default CAN ID of INV1.
[0034] S202. The target inverter obtains all the first messages on the communication bus, and determines the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus.
[0035] In this embodiment, it can be understood that INV1 sends the first message 1 including the serial number of INV1 to the CAN bus, INV2 sends the first message 2 including the serial number of INV2 to the CAN bus, and INV3 sends the first message 3 including the serial number of INV3 to the CAN bus. That is to say, each inverter in the energy storage system can send the corresponding first message to the communication bus. Furthermore, the target inverter can receive all the first messages on the communication bus, and determine the sequence identifiers of the inverters in the energy storage system based on all the first messages. Exemplarily, INV1 receives the first message 1, the first message 2, and the first message 3 on the CAN bus.
[0036] Further, the target inverter can parse all the first messages on the communication bus to obtain the sequence identifiers of the inverters in each received first message, so as to determine the sequence identifiers of the inverters in the energy storage system. Continuing with the above example, INV1 parses the first message 1 to obtain the serial number of INV1 , INV1 parses the first message 2 to obtain the serial number of INV2 , parses the first message 3 to obtain the serial number of INV3 .
[0037] S203. The target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system.
[0038] In this embodiment, the bus communication identifier is the communication identifier on the communication bus, which includes but is not limited to CANID.
[0039] Optionally, the target inverter can determine the sorting result among the sequence identifiers of the inverters in the energy storage system, and determine its own bus communication identifier according to the order of the sequence identifier of the target inverter in the sorting result. Among them, different orders correspond to different bus communication identifiers. Exemplarily, INV1 sorts the serial number of INV1 , the serial number of INV2 and the serial number of INV3 in ascending order. Since the serial number of INV1 is ranked first, INV1 takes 0x0001 as the bus communication identifier of INV1, that is, reassigns "0x0001" as its new CANID for INV1. Similarly, INV2 can take 0x0002 as the bus communication identifier of INV2, and INV3 can take 0x0003 as the bus communication identifier of INV3. It should be noted that the above takes sorting in ascending order as an example, and this embodiment does not limit the sorting rule.
[0040] S204. The target inverter sends a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter.
[0041] In this embodiment, the BMSs connected to the target inverter all belong to the target inverter. Exemplarily, please continue to refer to Figure 1 , if the target inverter is INV1, the BMSs connected to the target inverter are BMS1-1, BMS1-2, and BMS1-3. Furthermore, INV1 sends target signals to BMS1-1, BMS1-2, and BMS1-3 respectively based on the bus communication identifier 0x0001 determined in S203.
[0042] Optionally, the target inverter may carry the bus communication identifier of the target inverter in a field of the target signal, or the target inverter may modify the phase, frequency, amplitude, duty cycle, or other coding methods of the target signal according to the bus communication identifier of the target inverter. This embodiment does not make any restrictions.
[0043] Further optionally, the target signal may be a signal in any form. Exemplarily, the target signal may include, but is not limited to, a Pulse Width Modulation (PWM) signal.
[0044] S205. The target BMS determines the bus communication identifier of the target BMS based on the target signal.
[0045] In this embodiment, the target BMS is any one of the BMSs corresponding to the target inverter. Similarly, the number of target BMSs may be one or multiple. In one embodiment, the target BMS includes all the BMSs connected to the target inverter.
[0046] It can be understood that since the target signal is the signal sent by the target inverter based on its own bus communication identifier, the bus communication identifier of the target inverter can be determined according to the target signal. Furthermore, after the target BMS receives the target signal sent by the target inverter, it can determine the bus communication identifier of the target inverter based on the target signal, that is to say, the target BMS can determine the target inverter to which it belongs.
[0047] Furthermore, the target BMS may determine the bus communication identifier of the target BMS based on the bus communication identifier of the target inverter. Optionally, the target BMS may determine the bus communication identifier of the target BMS based on the bus communication identifier of the target inverter and the sequence identifier of the target BMS. This embodiment is not limited thereto.
[0048] In the above method for determining the communication identifier, since the target inverter can send a first message to the communication bus, and the first message includes the sequence identifier of the target inverter, and the target inverter is any inverter in the energy storage system, the target inverter can obtain all the first messages on the communication bus, and based on all the first messages on the communication bus, determine the sequence identifiers of the inverters in the energy storage system. Further, since the target inverter can determine the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system, there is no need to install a DIP switch hardware on the inverter, and the bus communication identifier of the conflict-free target inverter can be determined by software. Furthermore, since the target inverter can send a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter, and the target BMS is any BMS corresponding to the target inverter, the target BMS can further efficiently determine the bus communication identifier of the conflict-free target BMS based on the target signal. In the whole process, the bus communication identifiers can be automatically assigned to any inverter and any BMS in the energy storage system without manual participation, improving the efficiency of determining the communication identifier.
[0049] In an exemplary embodiment, optionally, the above S204 includes: the target inverter determines a first offset address corresponding to the sequence identifier of the target inverter based on the arrangement result among the sequence identifiers of the inverters, and determines the bus communication identifier of the target inverter based on the first offset address and the default communication identifier of the target inverter.
[0050] In this embodiment, optionally, the target inverter can arrange the sequence identifiers of the inverters in the energy storage system based on the rule of from small to large, from large to small or other preset rules to obtain the corresponding arrangement result.
[0051] Furthermore, the target inverter can determine the first offset address corresponding to the sequence identifier of the target inverter according to the arrangement order of the sequence identifier of the target inverter in the arrangement result. The initial value and step size of the first offset address can be set according to requirements, and this embodiment does not make any restrictions. Optionally, the first offset address can be equal to the arrangement order of the sequence identifier of the target inverter minus one. For example, if the arrangement order of the sequence identifier of the target inverter is the first, the first offset address is 0; if the arrangement order of the sequence identifier of the target inverter is the second, the first offset address is 1; if the arrangement order of the sequence identifier of the target inverter is the third, the first offset address is 2.
[0052] Further, the target inverter can determine the bus communication identifier of the target inverter based on the first offset address and the default communication identifier of the target inverter. Herein, the default communication identifier of the target inverter represents the default communication identifier. Optionally, the target inverter can obtain the bus communication identifier of the target inverter after offsetting the first offset address based on the default communication identifier. That is to say, the target inverter can add the default communication identifier and the first offset address to obtain the bus communication identifier of the target inverter. For example, if the default CAN ID is "0x0001" and the first offset address is 0, the bus communication identifier of the target inverter is still "0x0001"; if the default CAN ID is "0x0001" and the first offset address is 1, the bus communication identifier of the target inverter is still "0x0002", and so on.
[0053] In the above embodiment, since the target inverter can determine the first offset address corresponding to the sequence identifier of the target inverter based on the arrangement result between the sequence identifiers of each inverter, thus, based on the first offset address and the default communication identifier of the target inverter, the unique and non-conflicting bus communication identifier of the target inverter can be determined.
[0054] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: the target inverter determines the first quantity of sequence identifiers different from the sequence identifier of the target inverter based on the sequence identifier of the target inverter and the sequence identifiers in all the obtained first messages, and determines the total number of inverters in the energy storage system according to the first quantity.
[0055] In this embodiment, after S202, the target inverter can compare the sequence identifiers in all the obtained first messages with the sequence identifier of the target inverter itself, and count the first quantity of sequence identifiers different from the sequence identifier of the target inverter. Continuing the above example, INV1 compares its own serial number with the , , in the received first messages, and determines the first quantity of inconsistent serial numbers to be 2.
[0056] Furthermore, the target inverter can determine the total number of inverters in the energy storage system according to the first quantity. Optionally, the total number of inverters . Continuing the above example, the target inverter determines the total number of inverters in the energy storage system to be 3.
[0057] Further, the above S203 includes: when the total number of inverters is greater than a first preset threshold and less than or equal to a second preset threshold, the target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system.
[0058] In this embodiment, the first preset threshold represents the minimum allowable number of paralleled inverters in the energy storage system. For example . The second preset threshold represents the maximum allowable number of paralleled inverters in the energy storage system, which can be set according to the actual situation.
[0059] Furthermore, when <total number of inverters ≤ second preset threshold , it indicates that the total number of inverters meets the requirements. In this case, the target inverter then continues to determine the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system.
[0060] In the above embodiment, since the target inverter can determine the first quantity of sequence identifiers different from the sequence identifier of the target inverter based on the sequence identifier of the target inverter and the sequence identifiers in all the first messages obtained, and determine the total number of inverters in the energy storage system according to the first quantity. Thus, when the total number of inverters is greater than the first preset threshold and less than or equal to the second preset threshold, the target inverter then determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system, which is beneficial to determining the bus communication identifier of the target inverter within a reasonable number of inverters and improves the reliability of the determined bus communication identifier of the target inverter.
[0061] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: when the total number of inverters is less than or equal to the first preset threshold, the target inverter uses the default communication identifier of the target inverter as the bus communication identifier of the target inverter.
[0062] In this embodiment, if the total number of inverters ≤ first preset threshold , it indicates that there is at most one inverter in the energy storage system. Therefore, it is not necessary to reassign a bus communication identifier for this inverter. Furthermore, in this case, the target inverter can use the default communication identifier of the target inverter as the bus communication identifier of the target inverter.
[0063] In the above embodiments, when the total number of inverters is less than or equal to the first preset threshold, the target inverter can directly use the default communication identifier of the target inverter as the bus communication identifier of the target inverter. Therefore, the process can be simplified and the complexity can be reduced.
[0064] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: when the total number of inverters is greater than the second preset threshold, the target inverter sends a first prompt message to the control terminal, and returns the steps that the target inverter obtains all the first messages on the communication bus, and determines the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus.
[0065] In this embodiment, if the total number of inverters > the second preset threshold , it indicates that the number of inverters in the energy storage system is too large, and the target inverter will send a first prompt message to the control terminal. The control terminal is a terminal for controlling the energy storage system, for example, it can be the host computer used by the user. The first prompt message is used to prompt the user to reduce the number of inverters in the energy storage system. For example, the first prompt message can be "The number of inverters currently connected to the system is too large".
[0066] In some embodiments, the first prompt message may include a first removal quantity . Exemplarily, the first prompt message can be "The number of inverters currently connected to the system is too large. Please remove inverters". The first removal quantity is determined according to the difference between the total number of inverters and the second preset threshold . For example, .
[0067] Furthermore, the target inverter will also return the above step S202. Optionally, the target inverter can wait for a first preset duration and then return the above step S202. The first preset duration can be set according to actual needs to give the user a certain amount of time to remove the redundant inverters.
[0068] In the above embodiments, when the total number of inverters is greater than the second preset threshold, the target inverter can send a first prompt message to the control terminal to prompt the user to reduce the number of inverters in the energy storage system. Therefore, the user can be reminded in time when there are too many inverters. Furthermore, by returning the steps that the target inverter obtains all the first messages on the communication bus and determines the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus, it can be automatically re-identified after the user adjusts the number of inverters, improving the adaptability and maintenance convenience.
[0069] Figure 3 It is a schematic flowchart for determining the first allocation evaluation result in an embodiment. In an exemplary embodiment, optionally, the above communication identifier determination method further includes S301 to S303.
[0070] S301, the target inverter sends a second message to the communication bus based on the bus communication identifier of the target inverter.
[0071] Continuing with the above example, after determining the bus communication identifier of INV1, INV1 can send the second message 1 to the CAN bus based on the bus communication identifier 0x0001 of INV1. Similarly, INV2 can also send the second message 2 to the CAN bus based on the bus communication identifier 0x0002 of INV2, and INV3 can also send the second message 3 to the CAN bus based on the bus communication identifier 0x0003 of INV3.
[0072] It can be understood that since the second message is a message sent based on the bus communication identifier of the target inverter, the second message includes the bus communication identifier of the target inverter.
[0073] S302, the target inverter obtains all the second messages on the communication bus and determines the bus communication identifiers of the inverters in the energy storage system based on all the second messages on the communication bus.
[0074] In this embodiment, similar to the principle of S202, the target inverter can obtain all the second messages on the communication bus and parse all the received second messages to obtain the bus communication identifiers of the inverters in the energy storage system.
[0075] Continuing with the above example, INV1 can receive the second message 1, the second message 2, and the second message 3 on the CAN bus. Furthermore, INV1 parses the second message 1 to obtain the bus communication identifier 0x0001 of INV1, parses the first message 2 to obtain the bus communication identifier 0x0002 of INV2, and parses the first message 3 to obtain the bus communication identifier 0x0003 of INV3.
[0076] S303, the target inverter determines the first allocation evaluation result according to the bus communication identifier of the target inverter and the bus communication identifiers of the inverters in the energy storage system.
[0077] In this embodiment, the first allocation evaluation result is used to characterize the allocation situation of S203. For example, the first allocation evaluation result may include normal or abnormal. Normal may indicate that there are no conflicts or errors in the bus communication identifiers of the inverters in the energy storage system, and abnormal may indicate that there are conflicts or errors in the bus communication identifiers of the inverters in the energy storage system.
[0078] Optionally, the target inverter may compare the bus communication identifier of the target inverter with the bus communication identifiers of each inverter in the energy storage system to determine the first allocation evaluation result. For example, the target inverter may determine that the first allocation evaluation result is abnormal when there is a duplication between the bus communication identifier of the target inverter and the bus communication identifiers of each inverter in the energy storage system; and determine that the first allocation evaluation result is normal when there is no duplication between the bus communication identifier of the target inverter and the bus communication identifiers of each inverter in the energy storage system.
[0079] In the above embodiment, since the target inverter can send the second message to the communication bus based on the bus communication identifier of the target inverter, obtain all the second messages on the communication bus, and determine the bus communication identifiers of each inverter in the energy storage system based on all the second messages on the communication bus, the target inverter can efficiently and accurately determine the first allocation evaluation result according to the bus communication identifier of the target inverter and the bus communication identifiers of each inverter in the energy storage system.
[0080] In an exemplary embodiment, optionally, S303 described above includes: the target inverter compares the bus communication identifier of the target inverter with the bus communication identifiers of each inverter in the energy storage system, determines the second quantity of the bus communication identifiers different from the bus communication identifier of the target inverter, and determines that the first allocation evaluation result is normal when the second quantity matches the total number of inverters, and determines that the first allocation evaluation result is abnormal when the second quantity does not match the total number of inverters.
[0081] Continuing with the above example, INV1 compares the bus communication identifier 0x0001 of INV1 with the bus communication identifiers 0x0001, 0x0002, and 0x0003 in the received second messages to determine the second quantity of the inconsistent bus communication identifiers is 2.
[0082] In this embodiment, the second quantity matching the total number of inverters means that the total number of inverters . Conversely, if , then the second quantity does not match the total number of inverters .
[0083] Furthermore, if the second quantity matches the total number of inverters , it indicates that there is no conflict in the bus communication identifiers of each inverter in the energy storage system, and the first allocation evaluation result is normal. If the second quantity does not match the total number of inverters If they do not match, it indicates that there is a conflict in the bus communication identifiers of the inverters in the energy storage system, and the first allocation evaluation result is abnormal.
[0084] In the above embodiment, since the target inverter can compare the bus communication identifier of the target inverter and the bus communication identifiers of the inverters in the energy storage system to determine the second quantity of the bus communication identifiers different from the bus communication identifier of the target inverter, therefore, when the second quantity matches the total number of inverters, it is determined that the first allocation evaluation result is normal, and when the second quantity does not match the total number of inverters, it is determined that the first allocation evaluation result is abnormal, and the first allocation evaluation result can be accurately determined according to the bus communication identifier of the target inverter and the bus communication identifiers of the inverters in the energy storage system.
[0085] In an exemplary embodiment, optionally, the above S204 includes: sending a target signal to the target BMS when the first allocation evaluation result is normal. That is, the target inverter can, when the first allocation evaluation result is normal, based on the bus communication identifier of the target inverter, send a target signal to the BMS connected to the target inverter.
[0086] In the above embodiment, since a target signal is sent to the target BMS when the first allocation evaluation result is normal, the accuracy of the target signal can be ensured.
[0087] In an exemplary embodiment, optionally, before S202, the above communication identifier determination method further includes: initializing the first cumulative count value of the target inverter . Wherein, the first cumulative count value is used to represent the determination times of the bus communication identifier of the target inverter. Exemplarily, the first cumulative count value can be set to 0 to initialize the first cumulative count value .
[0088] Further optionally, the target inverter can initialize the first cumulative count value before sending the first message , or can also initialize the first cumulative count value when sending the first message or after sending the first message , and this embodiment does not make a limitation.
[0089] In an exemplary embodiment, optionally, after S203, the above communication identifier determination method further includes: updating the first cumulative count value of the target inverter . Optionally, the target inverter adds one to the first cumulative count value to update the corresponding first cumulative count value For example, INV1 can send the second message 1 to the communication bus based on the bus communication identifier 0x0001 of INV1, and add 1 to the first cumulative count value of INV1. Add 1.
[0090] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: obtaining a first cumulative count value; in the case where the first allocation evaluation result is abnormal and the first cumulative count value is less than the first count threshold, returning to the target inverter to obtain all the first messages on the communication bus, and determining the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus; in the case where the first allocation evaluation result is abnormal and the first cumulative count value is greater than or equal to the first count threshold, the target inverter sends a second prompt message to the control terminal; the second prompt message is used to prompt the user to restart the energy storage system.
[0091] In this embodiment, when the target inverter determines that the first allocation evaluation result is abnormal, it will also obtain the corresponding first cumulative count value. For example, the target inverter can obtain the first cumulative count value from a preset storage space. 。
[0092] Furthermore, if the first allocation evaluation result is abnormal and the first cumulative count value is less than the first count threshold, it means that although there are conflicts in the bus communication identifiers of the inverters in the energy storage system after determining the bus communication identifier of the target inverter this time, the number of times of determining the bus communication identifier of the target inverter is still within the acceptable range. Therefore, the target inverter can return to step S201 to re-determine the bus communication identifier of the target inverter, and update the first cumulative count value each time after determining the bus communication identifier of the target inverter. Among them, the first count threshold can be set according to requirements, for example, it is 4.
[0093] If the first allocation evaluation result is abnormal and the first cumulative count value has exceeded the first count threshold, it means that the target inverter has performed step S201 multiple times, that is, the target inverter has performed multiple steps of determining the bus communication identifier. Therefore, to avoid falling into a loop, the target inverter will send a second prompt message to the control terminal to prompt the user to restart the energy storage system. For example, the second prompt message can be "Inverter allocation is abnormal, please power on again" to prompt the user to power on the energy storage system again.
[0094] In the above embodiments, after the target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system, the first cumulative count value of the target inverter can be updated. Therefore, the first cumulative count value can accurately reflect the number of times of determining the bus communication identifier of the target inverter. Further, after determining the first allocation evaluation result, the first cumulative count value can be obtained. When the first allocation evaluation result is abnormal and the first cumulative count value is less than the first count threshold, the target inverter returns to the step of obtaining all the first messages on the communication bus and determining the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus. When the first allocation evaluation result is abnormal and the first cumulative count value is greater than or equal to the first count threshold, the target inverter sends a second prompt message for prompting the user to restart the energy storage system to the control terminal. Therefore, it is possible to prevent the target inverter from falling into an infinite loop, save computing resources, and at the same time guide the user to intervene to solve persistent problems, ensuring the system stability and maintenance efficiency of the energy storage system.
[0095] In an exemplary embodiment, optionally, the above S204 includes: the target inverter determines the target frequency corresponding to the bus communication identifier of the target inverter and sends a target signal corresponding to the target frequency to the BMS connected to the target inverter.
[0096] In this embodiment, optionally, the target inverter may determine the target frequency according to the bus communication identifier of the target inverter and the first mapping relationship. The first mapping relationship includes the mapping relationship between the bus communication identifier and the frequency, and the first mapping relationship can be in any form. Moreover, the target frequencies corresponding to different bus communication identifiers are different. In this way, the bus communication identifier of the target inverter can be distinguished by the target frequency of the target signal.
[0097] Taking the target signal as a PWM signal as an example, a PWM signal is a periodic pulse signal. A complete cycle includes the high-level duration and the low-level duration. The frequency of PWM refers to the number of times such a cycle repeats within one second. For example, if the PWM signal completes a cycle change every 0.01 seconds, then its corresponding frequency is 100 Hz.
[0098] Optionally, the target inverter may also determine the target frequency corresponding to the bus communication identifier of the target inverter according to the default frequency and the first offset address. Further optionally, the target inverter may determine the target frequency corresponding to the bus communication identifier of the target inverter according to the default frequency, the first offset address, and a preset coefficient. The preset coefficient can be set according to actual requirements, and this embodiment does not limit it.
[0099] Exemplarily, the target inverter may determine a first product between a first offset address and a preset coefficient, and use the sum of the first product and a default frequency as the target frequency corresponding to the bus communication identifier of the target inverter. That is, the target frequency . Among them, represents the default frequency, represents the first offset address, represents the preset coefficient.
[0100] Furthermore, the target inverter can send a target signal corresponding to the target frequency to the target BMS. Optionally, the target inverter may control its PWM output pin based on the target frequency and send a target signal to the BMS connected to the target inverter.
[0101] In the above embodiment, since the target inverter can determine the target frequency based on the bus communication identifier of the target inverter and send a target signal corresponding to the target frequency to the target BMS, therefore, a unique target frequency can be determined based on the unique bus communication identifier, and the target BMS can accurately determine the belonging inverter through the target signal.
[0102] Figure 4 FIG. [X] is a schematic flowchart of a process for determining the bus communication identifier of a target BMS in an embodiment, as Figure 4 shown. In an exemplary embodiment, optionally, the above S205 includes S401 to S404.
[0103] S401, the target BMS determines the first offset address of the target inverter according to the target signal.
[0104] In this embodiment, the target BMS can obtain the target signal sent by the target inverter through a timer and determine the first offset address of the target inverter based on the target signal. It can be understood that the first offset address of the target inverter can uniquely identify the target inverter in the energy storage system, which has been uniquely determined in the previous steps. Exemplarily, the first offset address of INV1 is 0, the first offset address of INV2 is 1, and the first offset address of INV3 is 2.
[0105] That is to say, after the target BMS determines the first offset address of the target inverter, it also determines which inverter in the energy storage system the target BMS belongs to. For example, the number of the target inverter can be determined based on the first offset address. Optionally, the number of the target inverter can be the same as the first offset address or different from the first offset address. For example, the number of the target inverter can be equal to the first offset address plus 1.
[0106] Optionally, the target BMS may parse the target signal to obtain the target frequency of the target signal, and determine the first offset address of the target inverter based on the target frequency. Further optionally, the target BMS may determine the first offset address of the target inverter based on the second mapping relationship and the target frequency. Wherein, the second mapping relationship includes the mapping relationship between the frequency and the first offset address. Exemplarily, the second mapping relationship may be the same as the above-mentioned first mapping relationship. S402, the target BMS sends a third message to the communication bus, and the third message includes the first offset address of the target inverter and the sequence identifier of the target BMS.
[0107] In this embodiment, similar to the principle of S201, the sequence identifier of the target BMS is an identifier that can uniquely distinguish the target BMS, and it may include at least one of numbers, letters, and symbols. Optionally, the target BMS may periodically send the third message to the communication bus. Further optionally, the target BMS may send the third message to the communication bus according to a preset period. Similarly, since a new bus communication identifier has not been assigned to the target BMS at this time, the target BMS still sends the third message to the communication bus with the default communication identifier.
[0108] The following takes the target BMS as BMS1-1 as an example for illustration. Exemplarily, BMS1-1 may be based on the default CAN ID of BMS1-1 at fixed intervals send to the CAN bus a third message 1 including the first offset address 0 of INV1 and the serial number of BMS1-1
[0109] It can be understood that BMS1-2 will also send a third message 2 including the first offset address 0 of INV1 and the serial number of BMS1-2 to the CAN bus. BMS1-3 will also send a third message 3 including the first offset address 0 of INV1 and the serial number of BMS1-3 to the CAN bus.
[0110] S403, the target BMS obtains all the third messages on the communication bus, and determines the sequence identifiers of the BMSs in the same group based on all the third messages on the communication bus.
[0111] In this embodiment, the target BMS can obtain all the third messages on the communication bus. Continuing with the above example, BMS1-1 obtains the third message 1, the third message 2, and the third message 3 on the communication bus.
[0112] Optionally, the target BMS can parse all third messages on the communication bus to obtain the first offset address of the target inverter and the sequence identifier of the target BMS carried in each third message, and determine the sequence identifier of the BMS in the same group based on the first offset address of the target inverter and the sequence identifier of the target BMS in each third message. The BMS in the same group is the BMS connected to the target inverter in the energy storage system, that is, the BMS in the same group is the BMS belonging to the same inverter in the energy storage system.
[0113] Further optionally, the target BMS may compare the first offset address of the target inverter and obtain the first offset addresses in all third messages, and take the BMSs corresponding to the first offset address that is the same as the first offset address of the target inverter as the BMSs in the same group.
[0114] For example, if the first offset addresses in the third message 1, the third message 2, and the third message 3 are all 0, then BMS1-1 will , and Determine the sequence identifiers of BMSs in the same group.
[0115] S404: The target BMS determines the bus communication identifier of the target BMS based on the sequence identifiers of the BMSs in the same group.
[0116] In this embodiment, similar to the principle of S203, optionally, the target BMS can determine the sorting result between the sequence identifiers of the same group of BMSs, and determine its own bus communication identifier according to the order of the sequence identifier of the target BMS in the sorting result. Similarly, different orders correspond to different bus communication identifiers.
[0117] For example, BMS1-1 sets the serial number of BMS1-1 、Serial number of BMS1-2 and the serial number of BMS1-3 Sort by size, because the serial number of BMS1-1 If it is ranked first, BMS1-1 uses 0x1001 as the bus communication identifier of BMS1-1, that is, "0x1001" is reassigned to BMS1-1 as its new CAN ID. Similarly, BMS1-2 can use 0x1002 as the bus communication identifier of BMS1-2, and BMS1-3 can use 0x1003 as the bus communication identifier of BMS1-3. It should be noted that this example also uses the order of size as an example, and this embodiment does not limit the ordering rules.
[0118] In the above embodiments, since the target BMS can determine the first offset address of the target inverter according to the target signal and send a third message to the communication bus, and the third message includes the first offset address of the target inverter and the sequence identifier of the target BMS. Therefore, after the target BMS obtains all the third messages on the communication bus, it can determine the sequence identifiers of the BMSs in the same group based on all the third messages on the communication bus. The BMSs in the same group are the BMSs connected to the target inverter in the energy storage system. Further, based on the sequence identifiers of the BMSs in the same group, the target BMS can accurately and efficiently determine the bus communication identifier of the target BMS.
[0119] In an exemplary embodiment, optionally, the above method for determining the communication identifier further includes: the target BMS determines a third quantity of sequence identifiers different from the sequence identifier of the target BMS based on the sequence identifier of the target BMS and the sequence identifiers of the BMSs in the same group, and determines the total number of BMSs corresponding to the BMSs in the same group according to the third quantity.
[0120] In this embodiment, after S403, the target BMS can compare the sequence identifier of the target BMS and the sequence identifiers of the BMSs in the same group, and count the third quantity of sequence identifiers in the sequence identifiers of the BMSs in the same group that are different from the sequence identifier of the target BMS. Continuing with the above example, BMS1-1 compares its own serial number with the sequence identifiers in the sequence identifiers of the BMSs in the same group 、 and , and determines that the third quantity of inconsistent serial numbers is 2.
[0121] Furthermore, the target BMS can determine the total number of BMSs corresponding to the BMSs in the same group according to the third quantity . Among them, the total number of BMSs is also the total number of BMSs in the BMSs in the same group belonging to the target inverter. Optionally, the total number of inverters . Continuing with the above example, the target BMS determines that the total number of BMSs is 3.
[0122] Further, the above S404 includes: when the total number of BMSs is greater than the third preset threshold and less than or equal to the fourth preset threshold, the target BMS determines the bus communication identifier of the target BMS based on the sequence identifiers of the BMSs in the same group.
[0123] In this embodiment, the third preset threshold represents the minimum allowable number of parallel-connected BMSs in the inverter. For example . The fourth preset threshold represents the maximum allowable number of parallel-connected BMSs in the inverter, which can be set according to the actual situation.
[0124] Furthermore, when the third preset threshold <Total number of BMSs ≤ it indicates that the total number of BMSs meets the requirements. In this case, the target BMS determines the bus communication identifier of the target BMS based on the sequence identifier of the BMSs in the same group.
[0125] In the above embodiments, since the target BMS determines the third quantity of sequence identifiers different from the sequence identifier of the target BMS based on the sequence identifier of the target BMS and the sequence identifiers of the BMSs in the same group, and determines the total number of BMSs corresponding to the BMSs in the same group according to the third quantity, and when the total number of BMSs is greater than the third preset threshold and less than or equal to the fourth preset threshold, the target BMS determines the bus communication identifier of the target BMS based on the sequence identifier of the BMSs in the same group, the reliability of the determined bus communication identifier of the target BMS is improved.
[0126] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: when the total number of BMSs is less than or equal to the third preset threshold, the target inverter uses the default communication identifier of the target BMS as the bus communication identifier of the target BMS.
[0127] In this embodiment, if the total number of BMSs ≤ the third preset threshold it indicates that at most one BMS is connected under the target inverter, and there is no need to reassign a bus communication identifier for this BMS. Therefore, in this case, the target BMS can use the default communication identifier of the target BMS as the bus communication identifier of the target BMS to simplify the process.
[0128] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: when the total number of BMSs is greater than the fourth preset threshold, the target BMS sends a second prompt message to the control terminal, and returns the step of the target BMS obtaining all third messages on the communication bus and determining the sequence identifiers of the BMSs in the same group based on all the third messages on the communication bus.
[0129] In this embodiment, if the total number of BMSs > it indicates that there are too many BMSs connected under the target inverter. Therefore, the target inverter sends a second prompt message to the control terminal. The second prompt message is used to prompt the user to reduce the number of BMSs connected to the target inverter. For example, the first prompt message can be "The number of BMSs connected to the current inverter INV1 is too large".
[0130] In some embodiments, the second prompt message may include the second removal quantity. . Exemplarily, the second prompt message may be "Too many BMSs are connected to the current inverter INV1. Please remove BMSs". The first removal quantity is determined according to the difference between the total quantity of BMSs and . For example, .
[0131] Further, the target BMS will also return the steps of S404 described above. Optionally, the target BMS may wait for a second preset duration before returning the steps of S404 described above. The second preset duration may be set according to actual requirements to give the user a certain amount of time to remove the redundant BMSs.
[0132] In the above embodiments, since when the total quantity of BMSs is greater than the fourth preset threshold, the target BMS sends the second prompt message to the control terminal and returns the steps that the target BMS obtains all the third messages on the communication bus and determines the sequence identifier of the BMSs in the same group based on all the third messages on the communication bus, and the second prompt message is used to prompt the user to reduce the quantity of BMSs connected to the target inverter, it is possible to avoid the situation where the quantity of BMSs connected to the target inverter is abnormal.
[0133] In an exemplary embodiment, optionally, S404 described above includes: the target BMS determines the second offset address corresponding to the target BMS based on the arrangement result among the sequence identifiers of the BMSs in the same group; the target BMS determines the bus communication identifier of the target BMS based on the second offset address and the preset communication identifier of the target inverter.
[0134] In this embodiment, the target BMS may arrange the sequence identifiers of the BMSs in the same group based on a rule such as from small to large, from large to small, or other preset rules to obtain the corresponding arrangement result.
[0135] Similar to the principle of the first offset address, the target BMS may determine the second offset address corresponding to the target BMS according to the arrangement order of the sequence identifier of the target BMS in the arrangement result. The initial value and step size of the second offset address may be set according to requirements and are not limited in this embodiment. Optionally, the second offset address may be equal to the arrangement order of the sequence identifier of the target BMS minus one. For example, if the sequence identifier of the target BMS is the first in the arrangement order, the second offset address is 0; if the sequence identifier of the target BMS is the second in the arrangement order, the second offset address is 1; if the sequence identifier of the target BMS is the third in the arrangement order, the second offset address is 2.
[0136] Among them, the preset communication identifier refers to the starting address of the communication identifier of the BMS in the same group corresponding to the target inverter. Optionally, the preset communication identifier can be determined according to the maximum number of BMSs that the target inverter can connect to. Exemplarily, assuming that each inverter can connect at most 3 BMSs, the preset communication identifier corresponding to INV1 can be 0x1001. In this way, the available range of the bus communication identifier of the BMS under INV1 is from 0x1001 to 0x1003; the preset communication identifier corresponding to INV2 can be 0x1004. In this way, the available range of the bus communication identifier of the BMS under INV2 is from 0x1004 to 0x1006; the preset communication identifier corresponding to INV3 can be 0x1007. In this way, the available range of the bus communication identifier of the BMS under INV3 is from 0x1007 to 0x1009.
[0137] Furthermore, the target BMS can determine the bus communication identifier of the target BMS based on the second offset address and the preset communication identifier of the target inverter. Optionally, the target BMS can obtain the bus communication identifier of the target BMS after offsetting the second offset address based on the preset communication identifier. That is to say, the target BMS can add the preset communication identifier and the second offset address to obtain the bus communication identifier of the target BMS. For example, if the preset communication identifier corresponding to INV1 is "0x1001" and the first offset address is 0, the bus communication identifier of the target BMS is still "0x1001". If the preset communication identifier corresponding to INV1 is "0x1001" and the first offset address is 1, the bus communication identifier of the target BMS is still "0x1002", and so on.
[0138] In the above embodiment, since the target BMS can determine the second offset address corresponding to the target BMS based on the arrangement result between the sequence identifiers of the BMSs in the same group, the target BMS can determine the unique and non-conflicting bus communication identifier of the target BMS based on the second offset address and the preset communication identifier of the target inverter.
[0139] Figure 5 It is a schematic flowchart for determining the second allocation evaluation result in an embodiment, as Figure 5 shown. In an exemplary embodiment, optionally, the above communication identifier determination method further includes S501 to S503.
[0140] S501, the target BMS sends a fourth message to the communication bus based on the bus communication identifier of the target BMS.
[0141] In this embodiment, continuing with the above example, after determining the bus communication identifier of BMS1-1, BMS1-1 can send the fourth message 1 to the CAN bus based on the bus communication identifier 0x1001 of BMS1-1. Similarly, BMS1-2 can also send the fourth message 2 to the CAN bus based on the bus communication identifier 0x1002 of BMS1-2, and BMS1-3 can also send the fourth message 3 to the CAN bus based on the bus communication identifier 0x1003 of BMS1-3.
[0142] It can be understood that since the fourth message is a message sent based on the bus communication identifier of the target BMS, the fourth message includes the bus communication identifier of the target BMS.
[0143] S502, the target BMS obtains all the fourth messages on the communication bus and determines the bus communication identifiers of the BMSs in the same group based on all the fourth messages on the communication bus.
[0144] In this embodiment, optionally, the target BMS can obtain all the fourth messages on the communication bus and parse all the received fourth messages to obtain the bus communication identifiers of the BMSs in the same group. Further optionally, the target BMS can determine the bus communication identifiers of the BMSs in the same group according to the fourth message and the preset communication identifier of the target inverter. Exemplarily, if the target BMS determines that the preset communication identifier of the target inverter INV1 is 0x1001, then the BMSs with bus communication identifiers from 0x1001 to 0x1003 in the third message are determined to be the BMSs in the same group.
[0145] S503, the target BMS determines the second allocation evaluation result according to the bus communication identifier of the target BMS and the bus communication identifiers of the BMSs in the same group.
[0146] In this embodiment, the second allocation evaluation result is used to characterize the allocation situation of S404. For example, the second allocation evaluation result can include normal or abnormal. Normal can indicate that there are no conflicts or errors in the bus communication identifiers of the BMSs in the same group connected to the target inverter, and abnormal can indicate that there are conflicts or errors in the bus communication identifiers of the BMSs in the same group connected to the target inverter.
[0147] Optionally, the target BMS may compare the bus communication identifier of the target BMS with the bus communication identifiers of the BMSs in the same group to determine the second allocation evaluation result. For example, the target BMS may determine that the second allocation evaluation result is abnormal when there is a duplication between the bus communication identifier of the target BMS and the bus communication identifiers of the BMSs in the same group; and determine that the second allocation evaluation result is normal when there is no duplication between the bus communication identifier of the target BMS and the bus communication identifiers of the BMSs in the same group. For another example, the target BMS may compare the bus communication identifier of the target BMS with the bus communication identifiers of the BMSs in the same group, determine the fourth quantity of bus communication identifiers different from the bus communication identifier of the BMS, and determine that the second allocation evaluation result is normal when the fourth quantity matches the total quantity of BMSs, and determine that the second allocation evaluation result is abnormal when the fourth quantity does not match the total quantity of BMSs.
[0148] In the above embodiments, since the target BMS can send the fourth message to the communication bus, and the fourth message includes the bus communication identifier of the target BMS, the target BMS acquires all the fourth messages on the communication bus, determines the bus communication identifiers of the BMSs in the same group based on all the fourth messages on the communication bus, and accurately and efficiently determines the second allocation evaluation result according to the bus communication identifier of the target BMS and the bus communication identifiers of the BMSs in the same group.
[0149] In an exemplary embodiment, optionally, before S403, the above communication identifier determination method further includes: initializing the second accumulation count value of the target BMS . Wherein, the second accumulation count value of the target BMS is used to represent the allocation times of the bus communication identifier of the target BMS. Exemplarily, the second accumulation count value can be set to 0 to initialize the second accumulation count value .
[0150] Further optionally, the target BMS may initialize the second accumulation count value before sending the third message , or may also initialize the second accumulation count value when sending the third message or after sending the third message , and this embodiment does not make any restrictions.
[0151] In an exemplary embodiment, optionally, after S404, the above communication identifier determination method further includes: updating the second accumulation count value of the target BMS . Optionally, the target BMS may increment the second accumulation count value by one to update the second accumulation count value For example, the target BMS may send a fourth message to the communication bus based on the bus communication identifier of the target BMS, and increment the second cumulative count value by 1.
[0152] In an exemplary embodiment, optionally, after S503, the above communication identifier determination method further includes: obtaining the second cumulative count value of the target BMS; in the case where the second allocation evaluation result is abnormal and the second cumulative count value is less than the second count threshold, returning to the step where the target BMS obtains all the third messages on the communication bus and determines the sequence identifier of the BMSs in the same group based on all the third messages on the communication bus, and updating the second cumulative count value; in the case where the second allocation evaluation result is abnormal and the second cumulative count value is greater than or equal to the second count threshold, the target BMS sends a third prompt message to the control terminal; the third prompt message is used to prompt the user to restart the BMS corresponding to the target inverter.
[0153] In this embodiment, when the second allocation evaluation result of the target BMS is abnormal, the corresponding second cumulative count value will also be obtained Optionally, the target BMS may obtain the second cumulative count value from a preset storage space 。
[0154] Furthermore, if the second allocation evaluation result is abnormal and the second cumulative count value is less than the second count threshold, it indicates that although there is a conflict in the bus communication identifiers of the BMSs in the same group after determining the bus communication identifier of the target BMS this time, the number of times of determining the bus communication identifier of the target BMS is still within the acceptable range. Therefore, the target BMS can return to step S404 to re-determine the bus communication identifier of the target BMS, and update the second cumulative count value each time after determining the bus communication identifier of the target BMS Among them, the second count threshold can also be set according to requirements, for example, it is 4. The second count threshold and the first count threshold can be the same or different.
[0155] If the second allocation evaluation result is abnormal and the second cumulative count value has exceeded the second count threshold, it means that the target BMS has performed step S404 multiple times. To avoid getting into a loop, the target BMS will send a third prompt message to the control terminal to prompt the user to restart the BMS corresponding to the target inverter. For example, the third prompt message can be "The BMS allocation under this inverter is abnormal, please power on again" to prompt the user to power on the BMS under this inverter again.
[0156] In the above embodiments, after the target BMS determines the bus communication identifier of the target BMS based on the sequence identifier of the BMSs in the same group, the second cumulative count value can be obtained. When the second allocation evaluation result is abnormal and the second cumulative count value is less than the second count threshold, the target BMS returns to the step of obtaining all the third messages on the communication bus and determining the sequence identifier of the BMSs in the same group based on all the third messages on the communication bus. When the second allocation evaluation result is abnormal and the second cumulative count value is greater than or equal to the second count threshold, the target BMS sends a third prompt message to the control terminal to prompt the user to restart the BMS corresponding to the target inverter. Therefore, the target BMS can be prevented from falling into an infinite loop and computing resources can be saved.
[0157] Figure 6 FIG. is a schematic flow chart of sending an allocation result prompt message in an embodiment, as Figure 6 shown. In an exemplary embodiment, optionally, the above communication identifier determination method further includes S601 to S604.
[0158] S601, the target BMS sends a fifth message to the communication bus based on the bus communication identifier of the target BMS.
[0159] In this embodiment, the fifth message includes the battery voltage corresponding to the target BMS. The battery voltage corresponding to the target BMS includes the battery voltage of the battery pack corresponding to the target BMS. Continuing the above example, BMS1-1 sends the fifth message 1 to the CAN bus based on the bus communication identifier 0x1001 of BMS1-1, and the fifth message 1 includes the battery voltage corresponding to BMS1-1 .
[0160] Similarly, BMS1-2 sends the fifth message 2 to the CAN bus based on the bus communication identifier 0x1002 of BMS1-2, and the fifth message 2 includes the battery voltage corresponding to BMS1-2 . BMS1-3 sends the fifth message 3 to the CAN bus based on the bus communication identifier 0x1003 of BMS1-3, and the fifth message 3 includes the battery voltage corresponding to BMS1-3 .
[0161] S602, the target inverter receives the fifth message sent by the BMSs in the same group and determines the theoretical voltage corresponding to the BMSs in the same group according to the fifth message sent by the BMSs in the same group.
[0162] In this embodiment, after the target inverter receives the fifth message sent by the BMSs in the same group, it can parse the received fifth message and determine the theoretical voltage corresponding to the BMSs in the same group according to the sum of the battery voltages in the received fifth message.
[0163] Exemplarily, INV1 receives the fifth message 1, the fifth message 2, and the fifth message 3, and determines the theoretical voltage corresponding to the BMS in the same group. .
[0164] S603, the target inverter obtains the measured voltage corresponding to the BMS in the same group.
[0165] In this embodiment, the target inverter can obtain the measured voltage corresponding to the BMS in the same group through a voltage sensor. For example, the target inverter can detect the measured voltage corresponding to the BMS in the same group through the hardware input sampling port.
[0166] Continuing with the above example, INV1 can obtain the measured voltage corresponding to the BMS in the same group. , it can be understood that that is, the total measured voltage corresponding to BMS1-1, BMS1-2, and BMS1-3.
[0167] S604, the target inverter sends a distribution result prompt message to the control terminal according to the theoretical voltage and the measured voltage.
[0168] In this embodiment, optionally, the target inverter can determine that the distribution result prompt message is abnormal when the theoretical voltage and the measured voltage are inconsistent, and determine that the distribution result prompt message is normal when the theoretical voltage and the measured voltage are consistent, and send the corresponding distribution result prompt message to the control terminal.
[0169] In the above embodiment, since the target BMS sends the fifth message to the communication bus based on the bus communication identifier of the target BMS, and the fifth message includes the battery voltage corresponding to the target BMS, after the target inverter receives the fifth message sent by the BMS in the same group, it can determine the theoretical voltage corresponding to the BMS in the same group according to the fifth message sent by the BMS in the same group. Further, since the target inverter obtains the measured voltage corresponding to the BMS in the same group, the target inverter accurately sends a distribution result prompt message to the control terminal according to the theoretical voltage and the measured voltage, improving the reliability of the communication identifier determination process.
[0170] In an exemplary embodiment, optionally, when the gap between the theoretical voltage and the measured voltage is greater than or equal to a preset gap, the target inverter sends a fourth prompt message to the control terminal, and the fourth prompt message is used to prompt the user that there is an unassigned BMS in the target inverter.
[0171] In this embodiment, the gap between the theoretical voltage and the measured voltage may include the absolute value of the difference between the theoretical voltage and the measured voltage, may also include the ratio between the theoretical voltage and the measured voltage, and may further include the standardized difference between the theoretical voltage and the measured voltage. This embodiment is not limited thereto. The preset gap It can be set according to requirements, for example, a number close to 0.
[0172] Optionally, when the gap between the theoretical voltage and the measured voltage of the target inverter is greater than or equal to a preset gap, the target inverter can first wait for a third preset duration. If the gap between the theoretical voltage and the measured voltage is still greater than or equal to the preset gap after the third preset duration, the target inverter sends a fourth prompt message to the control terminal to prompt the user that there is an unallocated BMS for the target inverter.
[0173] Continuing with the above example, the target inverter can send a fourth prompt message "There is an unassigned BMS connected to the current inverter. Please re-plug the BMS" under the condition of
[0174] In the above embodiment, since the target inverter can send a fourth prompt message to the control terminal when the gap between the theoretical voltage and the measured voltage is greater than or equal to the preset gap, the fourth prompt message can timely prompt the user that there is an unallocated BMS for the target inverter.
[0175] In an exemplary embodiment, optionally, when the gap between the theoretical voltage and the measured voltage of the target inverter is less than the preset gap, the target inverter sends a fifth prompt message to the control terminal, and the fifth prompt message is used to prompt the user that the allocation has been completed normally.
[0176] Continuing with the above example, if , the target inverter can send a fifth prompt message "The current energy storage system has been allocated".
[0177] In the above embodiment, since the target inverter sends a fifth prompt message to the control terminal when the gap between the theoretical voltage and the measured voltage is less than the preset gap, the fifth prompt message can timely prompt the user that the allocation has been completed normally.
[0178] In an exemplary embodiment, optionally, the above S601 includes: when the second allocation evaluation result is normal, the target BMS sends a fifth message to the communication bus based on the bus communication identifier of the target BMS.
[0179] In an exemplary embodiment, optionally, the above communication identifier determination method further includes: determining the sending period of the target message according to a first preset period; or determining the sending period of the target message according to the first preset period and the delay period corresponding to the target message.
[0180] In this embodiment, the target message includes at least one of the first message, the second message, the third message, the fourth message, or the fifth message.
[0181] That is to say, in one implementation, any inverter or BMS in the energy storage system can periodically send corresponding messages at a fixed first preset period when sending messages. Among them, the first preset periods corresponding to different target messages can be different. Exemplarily, the target inverter can send the first message to the communication bus at fixed intervals The target inverter can send the second message to the communication bus at fixed intervals The target BMS can send the third message to the communication bus at fixed intervals The target BMS can send the fourth message to the communication bus at fixed intervals The target inverter can send the fifth message to the communication bus at fixed intervals to the communication bus.
[0182] In another implementation, any inverter or BMS in the energy storage system can send corresponding messages periodically by superimposing a delay period on the first preset period when sending messages. Among them, the delay periods corresponding to different target messages can be different.
[0183] Optionally, the delay period corresponding to the target message can be determined randomly. Taking the first message as an example, the target inverter can add a random delay to the fixed interval and then send the first message to the communication bus. For example, assuming the fixed interval is 500 milliseconds (ms), before sending the first message each time, a random delay of 0 - 100 ms can be added.
[0184] Optionally, the delay period corresponding to the target message can be determined according to the sequence identifier of the sending device. For example, when the target message includes the first message, and the sending device is the target inverter, the delay period can be generated according to the last two digits of the serial number of the target inverter, so as to send the corresponding first message according to the first preset period and the delay period corresponding to the target message.
[0185] Optionally, the delay period can be determined according to the corresponding offset address. For example, when the target message is the first message or the second message, the delay period is determined according to the first offset address, and when the target message is the third message, the fourth message or the fifth message, the delay period is determined according to the second offset address.
[0186] In the above embodiments, since the target message includes at least one of the first message, the second message, the third message, the fourth message or the fifth message, determining the sending period of the target message according to the first preset period can efficiently send the corresponding target message. And determining the sending period of the target message according to the first preset period and the delay period corresponding to the target message is beneficial to stagger the time when each device sends messages, reducing the possibility of message conflicts.
[0187] To more clearly introduce the communication identifier determination method of this application, the following example is used for illustration. In one embodiment, during the execution of the communication identifier determination method, the inverter and BMS in the energy storage system first enter the initialization phase. Among them, the initialization phase can be the phase entered after the energy storage system is powered on. The initialization phase is used for the inverter to initialize the first cumulative count value and send the first message, and for the BMS to initialize the second cumulative count value. Exemplarily, when initializing, the inverter first initializes the first cumulative count value to 0, configures the PWM signal pin output to the BMS as low level, and then sends the first message based on the default CAN ID. Assuming there are n inverters in the energy storage system, all n inverters send the corresponding first messages with the default CAN ID. It can be understood that since the serial numbers of each inverter are different, the data of the first messages sent by each inverter are different. When initializing, the BMS initializes the second cumulative count value to 0.
[0188] After the initialization phase, the inverter in the energy storage system enters the inverter retrieval phase. The inverter retrieval phase is used to obtain all the first messages within a certain duration to determine the total number of inverters. Exemplarily, the inverter receives all the first messages on the CAN bus within T1 time, parses the data of the first messages, compares whether the received serial number is the same as its own serial number. If they are not the same, it records them, counts the number of inconsistent first messages, and determines the total number of inverters based on the number of inconsistent first messages. After the T1 time counting ends, it can automatically enter the next phase.
[0189] After the inverter retrieval phase, the inverter in the energy storage system enters the inverter quantity matching phase. The inverter quantity matching phase is used to compare the total number of inverters with the first preset threshold and the second preset threshold, so as to enter the inverter address allocation phase when the total number of inverters is greater than the first preset threshold and less than or equal to the second preset threshold. Exemplarily, if the total number of inverters is less than or equal to the first preset threshold, it indicates that there is only one inverter in the current energy storage parallel system, and the default CAN ID can be used for communication, and then it can directly jump to the inverter output signal phase. If the total number of inverters is greater than the second preset threshold, the first prompt message can be prompted on the user interface and wait for T2 time. When the T2 time counting ends, it returns to the inverter retrieval phase again. If the total number of inverters is greater than the first preset threshold and less than or equal to the second preset threshold, it enters the inverter address allocation phase.
[0190] The inverter address allocation stage is used to execute the steps of S203 above. Exemplarily, within time T3, the inverter can aggregate the received serial numbers and its own serial number, and determine the first offset address corresponding to the serial identifier of the target inverter based on the arrangement result among the serial identifiers of each inverter, so as to determine the bus communication identifier of the target inverter based on the first offset address and the default communication identifier of the target inverter. After the timing of time T3 ends, the next inverter self-check stage is executed.
[0191] The inverter self-check stage is used to determine the first allocation evaluation result, and enter the inverter output signal stage when the first allocation evaluation result is normal. Exemplarily, the inverter sends a second message based on the new CAN ID and increments the first cumulative count value by 1. Then, the inverter detects whether there is a device on the communication bus that conflicts with its own CAN ID, and counts the second quantity of different CAN IDs to determine whether the second quantity matches the total number of inverters. If it matches, the next inverter output signal stage is entered; if it does not match, it is judged whether the first cumulative count value is less than 4 times. If it is less than 4 times, the inverter retrieval stage is executed again; if it is greater than or equal to 4 times, the second prompt message is prompted.
[0192] The inverter output signal stage is used to execute the steps of S204 above. Exemplarily, the inverter outputs a PWM signal (i.e., the target signal) with a corresponding frequency through the PWM output pin, and transfers the PWM signal to the input port of the corresponding BMS through hardware design.
[0193] After that, the BMS in the energy storage system enters the BMS detection signal stage. The BMS detection signal stage is used to determine the first offset address of the inverter to which it belongs according to the target signal. Exemplarily, the BMS uses the timer capture function to detect the PWM signal output by the inverter, and determines the first offset address of the inverter to which it belongs according to the frequency of the detected PWM signal output by the inverter, that is, determines the number of the inverter to which it belongs.
[0194] After that, the BMS in the energy storage system enters the BMS retrieval stage. The BMS retrieval stage is used for the BMS to send the third message within a certain duration to determine the total number of BMSs corresponding to the same group of BMSs. Exemplarily, the BMS sends the third message based on the default CAN ID. The third message includes the number of the inverter to which it belongs and its own serial number. Within the time T4, the inverter receives all the third messages on the communication bus. If the parsed inverter number is the same as the number of the inverter to which it belongs, it can be determined that the BMS with this serial number is connected to the same inverter as itself, thereby determining the serial numbers of the BMSs in the same group. Furthermore, the BMS compares whether the serial numbers of the BMSs in the same group are the same as its own serial number. If they are not the same, they are recorded, and the number of inconsistent third messages is counted. And the total number of BMSs in the same group is determined based on the number of the third messages. When the time T4 ends, it enters the next BMS quantity matching stage.
[0195] The principle of the BMS quantity matching stage is similar to that of the inverter quantity matching stage, which will not be elaborated here. The BMS quantity matching stage is used to compare the total number of BMSs with the third preset threshold and the fourth preset threshold, so as to enter the BMS address allocation stage when the total number of BMSs is greater than the third preset threshold and less than or equal to the fourth preset threshold. The BMS address allocation stage is used to execute the steps of S404. That is to say, within the time T5, the BMS determines the second offset address based on the arrangement result between the sequence identifiers of the BMSs in the same group, and determines the bus communication identifier of the BMS based on the second offset address and the preset communication identifier of the inverter to which it belongs. After the timing of the time T5 ends, it executes the next BMS self-check stage.
[0196] After that, the BMS in the energy storage system enters the BMS self-check stage. The BMS self-check stage is used to determine the second allocation evaluation result. The process of the BMS self-check stage can refer to the above-mentioned inverter self-check stage, which will not be elaborated here. Further, when the second allocation evaluation result is normal, it enters the inverter inspection stage. The inverter inspection stage is used to execute the above steps of S601~S604.
[0197] Figure 7 It is a schematic diagram of an energy storage system in an embodiment. As Figure 7 shown, exemplarily, there are two inverters INV1 and INV2 in parallel in this energy storage system. BMS1-1, BMS1-2, and BMS1-3 are respectively connected under INV1, and BMS2-1, BMS2-2, and BMS2-3 are respectively connected under INV2.
[0198] Assume that the serial number of INV1 is 56789 and the serial number of INV2 is 01234. The serial number of BMS1-1 is 12222, the serial number of BMS1-2 is 11111, and the serial number of BMS1-3 is 13333; the serial number of BMS2-1 is 21111, the serial number of BMS2-2 is 22222; the serial number of BMS2-3 is 23333. The default CAN ID of INV1 and INV2 is 0x1010, and the default CAN ID of all BMSs is 0x2020.
[0199] Moreover, the maximum number of inverters that the energy storage system can allow to be connected is 2, and the maximum number of BMSs that each inverter can allow to be connected is 3. The CAN ID range of the inverters in the energy storage system is 0x1010 - 0x1011, and the CAN ID range of the BMSs is 0x2020 - 0x2025. The inverter with CAN ID 0x1010 is numbered 1, and the pre-allocated CAN ID range for the connected BMSs to use is 0x2020 - 0x2022; the inverter with CAN ID 0x1011 is numbered 2, and the pre-allocated CAN ID range for the connected BMSs to use is 0x2023 - 0x2025.
[0200] In order to enable INV1 to know how many BMSs are physically connected to it and which ones they are, enable INV2 to know how many BMSs are connected to it and which ones they are, so as to obtain the charge and discharge capabilities of each inverter, and moreover, enable each BMS packet to know which inverter it is connected to, so as to execute the charge and discharge actions according to whose instructions. The energy storage system can execute the above communication identification determination method according to the following process.
[0201] First, enter the initialization phase. In the initialization phase, when the energy storage system powers on and runs, the inverter INV1 first initializes the first cumulative count value , and configures the PWM signal pin output to the BMS to a low level. After that, INV1 sends the first message 1 at a fixed interval based on the CAN ID (i.e., 0x1010). The first message 1 includes the serial number 56789 of INV1. When BMS1-1 powers on and runs, it initializes the second cumulative count value .
[0202] Then enter the inverter retrieval phase. In the inverter retrieval phase, INV1 receives all the first messages on the CAN bus within a certain preset duration and parses all the first messages. Since the serial number of only one inverter, 01234, is different from its own serial number 56789, the total number of inverters can be determined .
[0203] Then it enters the inverter quantity matching stage. In the inverter quantity matching stage, since the maximum number of inverters that can be connected to this energy storage parallel system is 2, the total number of inverters meets the requirements.
[0204] Then it enters the inverter address allocation stage. In the inverter address allocation stage, INV1 compares the received serial number 56789 with its own serial number 01234. Since 01234 is less than 56789, the default address 0x1010 is offset by 1 address to get 0x1011, so that the CAN ID of INV1 is reallocated to 0x1011. Similarly, the CAN ID of INV2 is reallocated to 0x1010.
[0205] Then it enters the inverter self-check stage. In the inverter self-check stage, INV1, based on the new CAN ID (that is, 0x1011), sends the second message 1 at a fixed interval and increments the first cumulative count value by 1, that is, updates the first cumulative count value . Then, INV1 detects whether there is an inverter on the communication bus that conflicts with its own CAN ID, and counts the first quantity different from its own CAN ID. Since the first quantity matches the total number of inverters , it continues to enter the inverter output signal stage.
[0206] In the inverter output signal stage, assuming that the target frequency is determined to be 60 Hz based on , INV1 outputs a PWM signal with a corresponding frequency of 60 Hz as the target signal through the PWM output pin, and transmits the target signal to the input port of the corresponding BMS through the hardware design.
[0207] Then it enters the BMS signal detection stage. In the BMS signal detection stage, BMS1-1 uses the timer capture function to detect that the frequency of the target signal output by INV1 is 60 Hz. It is determined that BMS1-1 is connected to the inverter numbered 2 through the second mapping relationship (such as Table 1 above). Similarly, BMS1-2 and BMS1-3 also perform the same process, which will not be elaborated here.
[0208] Then it enters the BMS retrieval stage. In the BMS retrieval stage, BMS1-1, based on the default CAN ID (that is, 0x2020), at a fixed interval Send the third message 1, where the third message 1 includes the number of INV1 (i.e., 2) and its own serial number (i.e., 12222). Further, BMS1-1 detects all the third messages on the CAN bus, determines that there are BMS1-2 with a serial number of 11111 and BMS1-3 with a serial number of 13333 whose inverter numbers are 2, and determines the total number of BMSs corresponding to the same group of BMSs 。
[0209] After that, it enters the BMS quantity matching stage. In the BMS quantity matching stage, since each inverter can allow a maximum of 3 BMSs to be connected, therefore, the total number of BMSs corresponding to the same group of BMSs meets the requirements.
[0210] After that, it enters the BMS address allocation stage. In the BMS address allocation stage, BMS1-1 compares the recorded serial numbers 11111 and 13333 with its own serial number 12222, sorts the numbers from small to large, and since its own serial number is sorted second, it uses the CAN ID of the starting BMS of INV1 (i.e., the preset communication identifier, 0x2023) offset by 2 - 1 addresses to obtain 0x2024 as the new CAN ID of BMS1-1. Similarly, the CAN ID of BMS1-2 with a serial number of 11111 is reallocated the ID of 0x2023, and the CAN ID of BMS1-3 with a serial number of 13333 is reallocated to 0x2025. The CAN IDs of the BMSs corresponding to INV2 with a serial number of 01234 are updated to 0x2020 - 0x2022.
[0211] After that, it enters the BMS self-check stage. In the BMS self-check stage, BMS1-1, based on the new CAN ID (i.e., 0x2024), sends the fourth message 1 at a fixed interval and increments the second cumulative count value by 1, that is, updates the second cumulative count value 。 Further, BMS1-1 detects whether there is a BMS on the communication bus that conflicts with its own CAN ID, and counts the second quantity of BMSs with different CAN IDs connected under the same inverter 。 Since the second quantity matches the total number of BMSs , it continues to enter the inverter inspection stage.
[0212] In the inverter inspection stage, BMS1-1, based on the new CAN ID, sends the fifth message 1 at a fixed interval The fifth message includes the battery voltage corresponding to BMS1-1 In this way, INV1 can receive and record the battery voltages sent by BMS1-1, BMS1-2, and BMS1-3 respectively. Moreover, INV1 detects the total voltage of the connected battery pack through the hardware input sampling port. Furthermore, if it indicates that the address allocation of all battery packs under INV1 is normal, and prompts the user "The current system has completed the address allocation".
[0213] It can be seen that the communication identifier determination method provided by this application, through ingenious design, can simplify the process. When installing the energy storage system, there is no need to manually set fixed addresses for each device, reducing the configuration workload and error probability during the installation process, lowering the requirements for the professional skills of installers, and improving the installation efficiency. Moreover, the topology structure of the energy storage system may vary due to application scenarios and functional requirements, and the method of this application can automatically adjust according to changes in the topology structure of the energy storage system, adapt to different topology structures, ensure that each device can communicate and interact with data quickly and accurately under different connection methods, and enhance the adaptability of the system to diverse topology structures. In addition, in an actual energy storage system, energy storage devices and related components produced by different manufacturers may be used. Dynamically allocating addresses follows a unified standard and protocol, which can provide a unified address allocation and communication specification for devices of different manufacturers, enabling them to work together in the same system, achieve seamless docking and interoperability, and improve the compatibility and openness of the energy storage system.
[0214] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0215] Based on the same inventive concept, the embodiment of this application also provides an energy storage system for implementing the communication identifier determination method described above. The solution for solving the problem provided by this energy storage system is similar to the solution described in the above method, and will not be elaborated here.
[0216] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as within the scope recorded in this application. The above-described embodiments merely represent several implementation manners of this application. Their descriptions are relatively specific and detailed, but they should not be construed as a limitation on the patent scope of this application. It should be noted that for those of ordinary skill in the art, without departing from the concept of this application, several modifications and improvements can still be made, and these all belong to the protection scope of this application. Therefore, the protection scope of this application shall be subject to the appended claims.
Claims
1. A method for determining a communication identifier, characterized in that, Applied to an energy storage system, the energy storage system includes an inverter, a BMS corresponding to the inverter, and a communication bus, and the communication bus is respectively connected to the inverter and the BMS; the method includes: The target inverter sends a first message to the communication bus, and the first message includes the sequence identifier of the target inverter; the target inverter includes any one of the inverters in the energy storage system; The target inverter obtains all the first messages on the communication bus, and determines the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus; The target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system; The target inverter sends a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter; The target BMS determines the bus communication identifier of the target BMS based on the target signal; the target BMS is any one of the BMSs corresponding to the target inverter.
2. The method according to claim 1, wherein The target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system, including: The target inverter determines the first offset address corresponding to the sequence identifier of the target inverter based on the arrangement result between the sequence identifiers of the inverters, and determines the bus communication identifier of the target inverter based on the first offset address and the default communication identifier of the target inverter.
3. The method according to claim 1, wherein The method further includes: The target inverter sends a second message to the communication bus based on the bus communication identifier of the target inverter; The target inverter obtains all the second messages on the communication bus, and determines the bus communication identifiers of the inverters in the energy storage system based on all the second messages on the communication bus; The target inverter determines a first allocation evaluation result according to the bus communication identifier of the target inverter and the bus communication identifiers of the inverters in the energy storage system; The target inverter sends a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter, including: When the first allocation evaluation result is normal, sending the target signal to the target BMS.
4. The method according to claim 3, wherein After the target inverter determines the bus communication identifier of the target inverter based on the sequence identifiers of the inverters in the energy storage system, the method further includes: Updating the first cumulative count value of the target inverter; After the target inverter determines the first allocation evaluation result according to the bus communication identifier of the target inverter and the bus communication identifiers of the inverters in the energy storage system, the method further includes: Obtaining the first cumulative count value; When the first allocation evaluation result is abnormal and the first cumulative count value is less than the first count threshold, return to the step where the target inverter obtains all the first messages on the communication bus and determines the sequence identifiers of the inverters in the energy storage system based on all the first messages on the communication bus; When the first allocation evaluation result is abnormal and the first cumulative count value is greater than or equal to the first count threshold, the target inverter sends a second prompt message to the control terminal; the second prompt message is used to prompt the user to restart the energy storage system.
5. The method according to any one of claims 1-4, characterized in that, The target inverter sends a target signal to the BMS connected to the target inverter based on the bus communication identifier of the target inverter, including: The target inverter determines the target frequency corresponding to the bus communication identifier of the target inverter and sends the target signal corresponding to the target frequency to the BMS connected to the target inverter.
6. The method according to any one of claims 1-4, characterized in that, The target BMS determines the bus communication identifier of the target BMS based on the target signal, including: The target BMS determines the first offset address of the target inverter according to the target signal. The target BMS sends a third message to the communication bus, and the third message includes the first offset address of the target inverter and the sequence identifier of the target BMS. The target BMS obtains all the third messages on the communication bus and determines the sequence identifiers of the BMSs in the same group based on all the third messages on the communication bus; the BMSs in the same group are the BMSs connected to the target inverter in the energy storage system. The target BMS determines the bus communication identifier of the target BMS based on the sequence identifiers of the BMSs in the same group.
7. The method according to claim 6, wherein The method further includes: The target BMS determines the third quantity of the sequence identifiers different from the sequence identifier of the target BMS based on the sequence identifier of the target BMS and the sequence identifiers of the BMSs in the same group, and determines the total number of BMSs corresponding to the BMSs in the same group according to the third quantity. The target BMS determines the bus communication identifier of the target BMS based on the sequence identifiers of the BMSs in the same group, including: When the total number of BMSs is greater than the third preset threshold and less than or equal to the fourth preset threshold, the target BMS determines the bus communication identifier of the target BMS based on the sequence identifiers of the BMSs in the same group.
8. The method according to claim 7, wherein The target BMS determines the bus communication identifier of the target BMS based on the sequence identifiers of the BMSs in the same group, including: The target BMS determines the second offset address corresponding to the target BMS based on the arrangement result between the sequence identifiers of the BMSs in the same group. The target BMS determines the bus communication identifier of the target BMS based on the second offset address and the preset communication identifier of the target inverter.
9. The method according to claim 7, wherein The method further includes: The target BMS sends a fourth message to the communication bus based on the bus communication identifier of the target BMS. The target BMS obtains all the fourth messages on the communication bus and determines the bus communication identifiers of the BMSs in the same group based on all the fourth messages on the communication bus. The target BMS determines the second allocation evaluation result according to the bus communication identifier of the target BMS and the bus communication identifiers of the BMSs in the same group.
10. The method according to claim 9, characterized in that After the target BMS determines the bus communication identifier of the target BMS based on the sequence identifier of the same-group BMS, the method further includes: Updating the second cumulative count value of the target BMS; After the target BMS determines the second allocation evaluation result according to the bus communication identifier of the target BMS and the bus communication identifier of the same-group BMS, the method further includes: Obtaining the second cumulative count value; When the second allocation evaluation result is abnormal and the second cumulative count value is less than the second count threshold, return to the step where the target BMS obtains all third messages on the communication bus and determines the sequence identifier of the same-group BMS based on all third messages on the communication bus; When the second allocation evaluation result is abnormal and the second cumulative count value is greater than or equal to the second count threshold, the target BMS sends a third prompt message to the control terminal; the third prompt message is used to prompt the user to restart the BMS corresponding to the target inverter.
11. The method according to claim 6, characterized in that The method further includes: The target BMS sends a fifth message to the communication bus based on the bus communication identifier of the target BMS; the fifth message includes the battery voltage corresponding to the target BMS; The target inverter receives the fifth message sent by the same-group BMS and determines the theoretical voltage corresponding to the same-group BMS according to the fifth message sent by the same-group BMS; The target inverter obtains the measured voltage corresponding to the same-group BMS; The target inverter sends an allocation result prompt message to the control terminal according to the theoretical voltage and the measured voltage.
12. The method according to any one of claims 1-4, characterized in that, The method further includes: Determining the sending period of the target message according to the first preset period; Or, determining the sending period of the target message according to the first preset period and the delay period corresponding to the target message; Wherein, the target message includes at least one of the first message, the second message, the third message or the fourth message.
Citation Information
Patent Citations
Group parallel operation address allocation method based on CAN bus and node equipment
CN117135143A
Vehicle-mounted communication method and system, electronic equipment and storage medium
CN117831150A
Address allocation method for energy storage system, energy storage system and readable storage medium
CN118041892A
Energy storage system, control method thereof and power utilization system
CN119651721A
Flexible battery management system (BMS)-gateways and modular energy management systems for second-life electric vehicle (EV) batteries in energy storage systems
US20250118982A1