Energy management system development method and energy management system
Through code decoupling, modular design, plug-in and interface customization, the serious and repeated development of existing energy management systems are solved, and a more efficient, flexible and scalable energy management system is achieved.
Patent Information
- Application Number
- CN202510127513.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2045-02-05
AI Technical Summary
The existing energy management system has shortcomings in reusability, uniformity of graphical user interface design and personalization of functional requirements, resulting in serious customization and repeated development problems.
Through code decoupling, modular design, plug-in and interface customization, it is divided into independent modules such as device access, human-computer interface and control strategy, and the configuration file drives dynamic loading of interface elements and dynamic switching of control strategies.
It significantly improves the flexibility, reusability and customization of the system, reduces development costs and time, and improves the overall performance and reliability of the system.
Smart Images

Figure CN119556920A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of software development, and in particular relates to an energy management system development method and an energy management system. Background Art
[0002] As an important solution for energy management optimization, industrial and commercial energy storage systems can not only effectively balance the supply and demand relationship, but also provide economic benefits to enterprises when electricity prices fluctuate. In this process, the role of energy management systems has become increasingly important. It is responsible for real-time monitoring of energy storage equipment, data collection and processing, status evaluation, and strategy management. In the current market, energy management system solutions are emerging in an endless stream, and the competition among various technologies and products is becoming increasingly fierce, prompting the continuous evolution of related technologies.
[0003] However, the existing energy management software still has many shortcomings in practical applications. First, many systems perform poorly in terms of reusability, resulting in a large amount of customized development for each project. This not only increases development costs, but also prolongs the project implementation cycle. Secondly, the design of graphical user interfaces often lacks uniformity, and developers need to repeatedly draw interfaces in different projects, resulting in a waste of resources. In addition, due to the diversity and complexity of application scenarios of industrial and commercial energy storage products, differences in equipment access, networking methods, and control strategies, the functional requirements of energy management systems are highly personalized, further exacerbating the difficulty of software development.
[0004] In this context, a new technical solution is urgently needed to solve the problems of severe customization and repeated development in existing energy management systems. Summary of the invention
[0005] In order to solve the above technical problems, the present invention provides an energy management system development method and energy management system, which aims to improve the flexibility and reusability of industrial and commercial energy storage energy management systems through code decoupling, functional modularization and plug-in, so as to achieve more efficient energy management and scheduling. Through these technical innovations, not only can the development cost and time be reduced, but also the reliability and overall performance of the system can be improved, which will help the sustainable development of the industrial and commercial energy storage industry.
[0006] The technical solution provided by the present invention is as follows: A method for developing an energy management system, comprising: Code decoupling: The energy management system is divided into independent functional units, each of which is contained in a different software package; the functional units include a device access unit, a human-machine interface unit, and a control strategy unit; Module decomposition: decompose the device access unit into independent functional modules, including a device module and a communication module. The device module is used to access hardware devices, and the communication module contains the communication interfaces of all access devices and the corresponding communication protocols; decompose the human-machine interface unit into independent functional modules, including a display interface and a control interface. The display interface is used to display the energy storage station, and the control interface is used for function switching and operation; decompose the control strategy unit into independent functional modules, including a state module and a mode module. The state module is used to obtain the operating state of the energy storage station, and the mode module calls the corresponding control strategy according to the operating state of the energy storage station; Interface customization: The human-machine interface unit loads different interface elements according to the configuration file, and each interface element corresponds to an access device or functional module; Plug-in: Different functional modules, devices, and strategies are encapsulated into independent plug-ins, which are dynamically loaded according to the configuration file when the system is running.
[0007] Further: The state module defines multiple operating states of the energy storage station. The state module continuously collects and updates the state information of the energy storage station through data sensors, determines the current operating state of the energy storage station based on the state information, and sends it to the mode module; The mode module includes a set of specific control strategies, which describe how the energy storage station should perform control operations under the current operating state; after receiving the state signal, the mode module selects an appropriate control strategy according to the current state and starts executing it.
[0008] Furthermore, the configuration file contains the interface elements that need to be displayed on the interface, and defines the appearance, interaction method, and associated data and methods of each interface element in the interface; when the system starts, it will read and parse the configuration file, dynamically generate and display the corresponding interface elements according to the information in the configuration, and bind the corresponding data source and control method.
[0009] Furthermore, the control strategy of the interface elements is specified in the configuration file. When the system is running, it will dynamically load and execute the corresponding control strategy according to the definition in the configuration file; the user's interactive operation on the interface will trigger the execution of the control strategy.
[0010] Furthermore, the layout information of the interface elements is set in the configuration file, including the size and position on devices with different screen resolutions; when the system starts, each interface element adaptively adjusts its own layout according to the layout information in the configuration file and the current device.
[0011] Furthermore, the plug-in includes device driver plug-in and operation strategy plug-in: Device plug-in: Device drivers of different brands and models are encapsulated into independent plug-ins, which provide communication and control interfaces for corresponding devices. Users specify the required device plug-in through configuration files. The system loads the required plug-in at runtime according to the configuration files and calls the interface provided by the plug-in to manage and control the device. Strategy plug-in: Customize control strategies according to different scenario requirements and encapsulate them as independent plug-ins. Users specify the required strategy plug-in through the configuration file. The system loads the required plug-in at runtime according to the configuration file and switches different control strategies according to requirements.
[0012] An energy management system developed based on the above method includes a device access unit, a human-machine interface unit and a control strategy unit, as well as a configuration file, a plurality of device plug-ins and a strategy plug-in; The device access unit includes a device module and a communication module. The device module is used to access hardware devices. The communication module contains the communication interfaces of all access devices and the corresponding communication protocols. The device plug-in includes device drivers of different brands and models and provides communication and control interfaces of corresponding devices. The user specifies the required device plug-in in the configuration file. The human-machine interface unit includes a display interface and a control interface. The display interface is used to display the energy storage station, and the control interface is used for function switching and operation. The user defines the appearance, layout, interaction mode, and associated data and methods of each interface element in the interface through a configuration file; The control strategy unit includes a state module and a mode module. The state module is used to obtain the operating state of the energy storage station, and the mode module calls the corresponding control strategy according to the operating state of the energy storage station. The state module includes multiple operating states of the energy storage station, and the mode module includes multiple corresponding control strategies. The operating state and its corresponding control strategy are customized by the user through the strategy plug-in specified by the configuration file.
[0013] Preferably, it also includes several interface element plug-ins, and the user selects the interface elements to be displayed for the human-machine interface unit through the configuration file.
[0014] Preferably, a log module is also included to record information during the operation of the system, including user operation information, warning information and error information.
[0015] Compared with the prior art, the present invention has at least the following beneficial effects: The present invention significantly improves the flexibility, reusability and customizability of the system through innovative means such as code decoupling, modular design, plug-in and interface customization, and has significant advantages over the prior art. First, by dividing the system into independent modules such as device access, human-machine interface and control strategy, the coupling between different functions is reduced, so that each module can be updated and expanded independently, thereby reducing the need for frequent code modifications during the development process and reducing development costs and time. Secondly, the plug-in design further enhances the flexibility of the system. The system can dynamically load the required plug-ins according to the configuration to meet the personalized needs of different scenarios, while reducing memory usage and optimizing system performance. In addition, through the dynamic loading of interface elements and configuration file driving, the system can adaptively adjust the interface layout and control strategy in different devices and scenarios, providing higher customization capabilities.
[0016] In general, the present invention not only improves the overall performance and reliability of the energy management system, but also provides an efficient, flexible and scalable solution for the industrial and commercial energy storage field. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings are used to provide further understanding of the present invention and constitute a part of the specification. They are used to explain the present invention together with the embodiments of the present invention and do not constitute a limitation of the present invention.
[0018] Figure 1 is a schematic diagram of a system software package provided by an embodiment of the present invention; Figure 2 It is a schematic diagram of the system module composition provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0019] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, other embodiments obtained by ordinary technicians in this field without making creative work are all within the scope of protection of the present invention.
[0020] Embodiment 1 This embodiment provides an energy management system development method.
[0021] The energy management system of an industrial and commercial energy storage station can be roughly divided into three parts: equipment access, networking mode, and control strategy. Equipment access is to connect energy storage cabinets, photovoltaics, loads and other equipment to the station. These devices form a network according to a specific networking mode, and the station operates according to a specific control strategy, thereby achieving safe and stable operation of the station.
[0022] In view of the serious customization of industrial and commercial energy storage management systems, this embodiment adopts the following development solution: 1. Code decoupling The energy management system of industrial and commercial energy storage is functionally divided into three major units, namely, equipment access, interactive interface, and control strategy, such as Figure 1 As shown in the figure, the entire energy management system software consists of three packages: the Device package for device access, the MicroGrid package for the interactive interface, and the Strategy package for the control strategy.
[0023] Device package: contains all access device types in industrial and commercial energy storage and the communication interfaces of these devices.
[0024] MicroGrid package: Contains the composition of the system interface and the corresponding composition of each graphic element on the interface.
[0025] Strategy package: Contains the control strategy for equipment networking operation in industrial and commercial energy management systems, including states and control modes corresponding to each state.
[0026] Code decoupling is achieved from these three major aspects. The role of decoupling is to separate the system functionally. When the devices connected to a project are different, but the others are the same, only the code of the connected devices needs to be modified, while the code of the interactive interface and control strategy can remain unchanged. Similarly, the codes of the modules of the other two major functions can also be modified because of their differences.
[0027] 2. Functional decomposition According to the above three large functional units, continue to decompose the system code into smaller software modules.
[0028] like Figure 2 As shown, the code of the entire system is divided into the following six modules according to function, namely: DEV: Device module. All device types connected to the site are included in this module. If different sites use the same device, the device code can be reused to reduce the workload of repeated development.
[0029] COM: Communication module. The communication module includes the communication interfaces of all devices, including various corresponding protocols, such as Modbus, CAN, etc. The same protocol is completely reused code in different devices.
[0030] HMI: Human-machine interface, which realizes the display interface and human-machine interaction control interface of the station. The main interface displays the overall interface of the station, and the human-machine interaction control interface realizes the operation and switching of functions.
[0031] MODE: mode module. The strategy modes of all stations are formulated according to the control requirements of the stations. When the control requirements are different, the mode codes are different. Otherwise, the mode codes can be reused.
[0032] STATE: It means status module. The status module indicates the status of the station. Together with the MODE module, it constitutes the control strategy unit of the station. When the station is in different status, it will run in different modes. The code of the same status can be reused in different stations.
[0033] LOG: The log module will be combined with any other modules to realize information reminder and information recording.
[0034] When implementing the software, these modules are implemented according to the corresponding components, such as Figure 2 The software component diagram is shown. Then, the components are implemented using the corresponding classes.
[0035] 3. Customization of interface entities Interface entity customization refers to dynamically loading different primitives (interface elements) in the human-machine interface (HMI) of the energy management system according to specific configuration files. These primitives represent various entities in the system (such as equipment, sensors, control strategies, etc.). In this way, the system can quickly customize and display the interface in different scenarios, ensuring that the interface content and interaction methods match user needs and application scenarios, while reducing development and maintenance costs.
[0036] Specifically, interface entity customization is achieved through the following steps and technologies: 3.1 Configuration file driven interface entity customization Configuration files (such as YAML, JSON, or XML) contain information about entities and primitives that need to be displayed on the interface. Each primitive corresponds to a device or functional module, and the configuration file defines the appearance, interaction mode, associated data and methods of the primitive in the interface. Configuration files can support the definition of different types of interface elements (such as icons, buttons, display boxes, charts, etc.).
[0037] The entity information in the configuration file includes: Entity type: such as photovoltaic inverter, energy storage equipment, load, etc.
[0038] Graphics element types: such as icons, progress bars, curve charts, dashboards, etc.
[0039] Position and layout: Specify the position, size, display style, etc. of each element in the interface.
[0040] Data binding: Define the data structure and methods bound to each primitive.
[0041] Interactive behaviors: such as click, drag, button click events, etc.
[0042] Control strategy association: The association between configuration elements and control methods and strategies.
[0043] The following is an example of a configuration file (JSON format): { "entities": [ { "type": "inverter", "id": "PV1", "icon": "icon_pv.png", "layout": {"x": 100, "y": 150, "width": 200, "height": 100}, "data": { "voltage": "sensor_voltage_PV1", "current": "sensor_current_PV1", "power": "sensor_power_PV1" }, "methods": { "start": "start_inverter_PV1", "stop": "stop_inverter_PV1" }, "control_strategy": "charging_mode" }, { "type": "battery", "id": "BAT1", "icon": "icon_battery.png", "layout": {"x": 400, "y": 150, "width": 200, "height": 100}, "data": { "state_of_charge": "sensor_soc_BAT1", "temperature": "sensor_temp_BAT1" }, "methods": { "charge": "charge_battery_BAT1", "discharge": "discharge_battery_BAT1" }, "control_strategy": "balancing_mode" } ] } 3.2 Dynamically loading interface elements (1) Load the configuration file when the interface starts When the system starts, the interface component will read the configuration file and parse the entity definition in it, dynamically generate and display the corresponding interface elements according to the information in the configuration. The graphic elements of each entity (such as photovoltaic inverter icons, battery icons of energy storage devices, etc.) are dynamically placed according to the layout information in the configuration, and bound to the corresponding data source and control method.
[0044] When the graphics element is loaded, its appearance, data and interactive behavior are initialized through the settings in the configuration file. The interface does not need to be hard-coded and can be flexibly changed according to different scenarios and needs.
[0045] (2) Binding and updating of entity primitives Each primitive is bound to a specific data structure (such as device data, sensor information, etc.). For example, the photovoltaic inverter primitive may be bound to the voltage, current, power and other data of the photovoltaic inverter, while the battery primitive is bound to the battery charging status, battery temperature, SOC (State of Charge) and other data.
[0046] Data binding: The interface uses data binding technology (such as using the DataBinding framework) to update the display content of the element in real time. For example, when the current of the photovoltaic inverter changes, the element will automatically update to display the current current value.
[0047] Method binding: In addition to data binding, primitives can also be bound to specific control methods. For example, a photovoltaic inverter primitive may have "start" and "stop" buttons, which are bound to corresponding control methods (such as start_inverter_PV1 and stop_inverter_PV1). When the user clicks the button, the control method is triggered, which in turn calls the corresponding device control strategy (such as starting or stopping the inverter).
[0048] (3) Update and incident response Real-time update: The display of graphics will be updated in real time as the system status changes. For example, the battery status (SOC) of the energy storage device will change during the charging and discharging process, and the battery graphics on the interface will be updated accordingly to display the current battery charge percentage.
[0049] User interaction: The interface provides interactive functions (such as buttons, sliders, switches, etc.). When the user operates, the associated methods of the graphic elements and control strategies will be called, thereby triggering the behavior of the device. For example, clicking the "Start" button will trigger the start_inverter_PV1 method to control the photovoltaic inverter to start working.
[0050] 3.2 Relationship between control strategies and methods (1) Dynamic binding of control strategies and graphics elements Each entity can be bound not only to data, but also to a corresponding control strategy. In the configuration file, each entity can specify its corresponding control strategy, such as a photovoltaic inverter may be associated with "charging mode (charging_mode)", and a battery may be associated with "load balancing mode (balancing_mode)".
[0051] When a primitive is associated with a control strategy, interactive operations on the interface (such as button clicks, slider adjustments, etc.) will trigger the execution of the control strategy. For example, when the user clicks the "Start" button, the interface will call the bound control method (such as start_inverter_PV1) and adjust the operation mode according to the specified control strategy (such as entering "Charging Mode").
[0052] (2) Dynamic invocation of strategies and control methods When the system is running, each primitive will dynamically load and execute the corresponding control strategy according to the definition in its configuration file. For example, the configuration file of the photovoltaic inverter primitive specifies the "charging mode" control strategy and associates the charging control method charge_inverter_PV1.
[0053] The control strategy itself can be dynamically loaded, for example, by introducing a plug-in mechanism to allow users to choose different strategies according to different operating scenarios and needs. For example, some projects may need to introduce a "maximum power point tracking (MPPT)" control strategy, while other projects use a simple voltage-based charging strategy.
[0054] 3.3 Dynamic interaction and custom interface functions (1) Customized interface function In addition to basic data and method binding, users can also dynamically customize the interactive functions of the graphics element through configuration files. For example, users can choose whether to display the status information of the device, whether to enable the alarm function, whether to provide remote control of the device, etc. Users can also customize the color, icon, animation effect, etc. of the graphics element as needed, making the interface more flexible and personalized.
[0055] (2) Adaptive interface layout The "Layout" section in the configuration file can specify the location, size and other information of the graphics element, and automatically adjust the layout on different screen resolutions or devices. In this way, whether the user is using a mobile phone, tablet or desktop, the interface can be adaptively adjusted according to the device characteristics to ensure a good user experience.
[0056] Through the customization of interface entities driven by configuration files, the system can dynamically load and adjust interface content according to different requirements at runtime, achieving high flexibility and customizability. The binding of graphic elements with device data, control methods, and control strategies ensures the tight integration of interface and system functions, while simplifying the development and maintenance process, reducing the workload of hard coding, and greatly improving the scalability of the system.
[0057] 4. Combining state machines with patterns In complex energy management systems, the design of control strategies must be flexible and customizable enough to adapt to different equipment, environments, and control requirements. In order to achieve high efficiency, maintainability, and scalability of the control strategy, the control strategy unit can be divided into two main parts: the state module and the mode module.
[0058] The state module is responsible for continuously monitoring the operating status of the system and judging the overall status of the current system based on this status information. Each state represents the "situation" of the system at a specific moment. The state module defines multiple operating states of the system, which are closely related to the actual operating status of the system and are continuously collected and updated in real time through data sensors. The state module is also responsible for judging the state conversion conditions according to specific rules. For example, when the photovoltaic power generation power exceeds the set value, the state module can convert the system state from "standby" to "charging"; or, when the battery's state of charge (SOC) reaches the upper limit, the system state is converted from "charging" to "standby".
[0059] The mode module contains a set of specific operating modes, which describe how the system should perform control operations in a specific state. Each mode represents a specific control behavior. The mode module is not directly responsible for judging the operating status of the system, but performs specific control actions based on the state information provided by the state module. The mode module defines the control strategy in each state and dynamically selects the appropriate control mode according to the change of state. Each operating mode can be customized and expanded according to specific needs. For example, in the "charging mode", there may be different control strategies, such as maximizing photovoltaic power generation, giving priority to grid power, or choosing energy storage battery charging, which are all handled by the mode module.
[0060] When the system is running, the status module continuously monitors and detects real-time data of the system, such as device voltage, current, power, temperature, etc. When the status module detects a specific condition (for example, the battery charge is below a certain threshold, or the photovoltaic power generation exceeds a predetermined range), it sends a signal to the mode module to indicate the current state of the system. After receiving the status signal, the mode module selects the appropriate control mode according to the current state and starts execution. For example, when the system state is "charging", the mode module selects "charging mode" and starts to adjust the charging power, switch the battery charging method, and other operations.
[0061] By decoupling the control strategy into two independent modules, state and mode, when adding a new control strategy, the system can only modify the corresponding state or mode without rewriting the entire strategy logic. For example, if you want to add a new charging strategy for "charging state" (such as a charging strategy based on electricity price), you only need to modify the "charging mode" without changing the code of the "standby" or "discharge" state. By managing states and modes separately, you can minimize code duplication and avoid implementing the same control logic in multiple locations, thereby reducing the cost of code maintenance.
[0062] In different scenarios, the system may require different combinations of states and modes. With this separated design, developers can customize states and modes for specific site needs. For example, different types of energy storage devices or photovoltaic systems may require different control modes or state monitoring logic, but due to the decoupling of states and modes, the customization process becomes more concise and efficient.
[0063] 5. Plug-in Pluginization, as the name implies, is to encapsulate different functional modules, device drivers, control strategies, etc. into independent plug-in files (such as dynamic link libraries DLL or shared libraries). These plug-ins can be dynamically loaded according to the configuration file at runtime. The main program of the system is responsible for managing the loading, unloading and interaction of plug-ins to ensure the stable operation of the system. When the plug-in is loaded, the main program will query the plug-in interface and initialize the resources required by the plug-in. The plug-in will provide functional interfaces such as device acquisition and control instructions according to the request of the main program. When a plug-in is no longer needed, the main program will call the uninstall interface to release the plug-in resources to avoid memory leaks and resource waste.
[0064] The most significant advantage of plug-in is that it can dynamically load the required functional modules and flexibly customize functions according to the needs of different stations. For example, a station may only need to load a certain brand of PCS plug-in, while another station may need to load a different brand of PCS plug-in. Through configuration file management, the appropriate plug-in can be selected according to the specific needs of the station at runtime, avoiding system redundancy and unnecessary resource occupation.
[0065] The plug-in architecture is very suitable for system expansion and maintenance. With the addition of new devices and control strategies, developers only need to create new plug-ins and connect them to the main program interface without modifying the existing system code. For example, when a new PCS device needs to be connected, just develop a new PCS plug-in and load it into the system, and the system can support the new device type.
[0066] In this embodiment, plug-in includes device driver plug-in and control strategy plug-in: (1) Device driver plug-in In an energy management system, device drivers usually involve devices from different manufacturers and models. For example, PCS (photovoltaic inverter), energy storage devices, etc. In a plug-in design, device drivers of different brands and models can be packaged into independent plug-ins. For example: Jingqing's PCS plug-in: provides communication and control interface with Jingqing brand PCS equipment.
[0067] Enjiu's PCS plug-in: provides communication and control interface with Enjiu brand PCS devices.
[0068] Through the configuration file, users can specify the required device plug-ins, for example: { "devices": [ { "type": "PCS", "brand": "EnJiu", "plugin": "EnJiu_PCS.dll" } ] } The system loads the required plug-ins at runtime according to the configuration files, and calls the interfaces provided by the plug-ins to manage and control the devices.
[0069] (2) Control strategy plug-in In an energy management system, control strategies are the core of system operation. For example, charging strategies, discharging strategies, load balancing strategies, etc. Each strategy may need to be adjusted according to the needs of different scenarios. In a plug-in design, each strategy can be encapsulated as an independent plug-in, such as a charging strategy plug-in to implement a specific energy storage device charging algorithm.
[0070] The configuration file specifies the control strategy plugin: { "strategies": [ { "type": "Charging", "plugin": "ChargingStrategy.dll" } ] } By selecting and loading plug-ins, the system can switch different control strategies according to needs during runtime.
[0071] Embodiment 2 Based on the above development method, this embodiment provides an energy management system for industrial and commercial energy storage, such as Figure 2 The system mainly includes: It includes a device access unit, a human-machine interface unit, a control strategy unit, a configuration file, several device plug-ins, and a strategy plug-in. The device access unit further includes a device module and a communication module. The device module is used to access hardware devices, and the communication module contains the communication interfaces of all access devices and the corresponding communication protocols. The device plug-in includes device drivers of different brands and models, and provides the communication and control interfaces of the corresponding devices. Users specify the required device plug-in through the configuration file.
[0072] The human-machine interface unit can be divided into a display interface and a control interface. The display interface is used to display the energy storage station, and the control interface is used for function switching and operation. The user defines the appearance, layout, interaction mode, and associated data and methods of each interface element in the interface through a configuration file. In some embodiments, the interface elements can also be plug-in-based, and the user can select the interface elements to be displayed for the human-machine interface unit through the configuration file to achieve personalized interface customization.
[0073] The control strategy unit includes a state module and a mode module. The state module is used to obtain the operating state of the energy storage station, and the mode module calls the corresponding control strategy according to the operating state of the energy storage station. The state module includes multiple operating states of the energy storage station, and the mode module includes multiple corresponding control strategies. The operating state and its corresponding control strategy are customized by the user through the strategy plug-in specified by the configuration file.
[0074] In some embodiments, the energy management system further includes a logging module.
[0075] The log records the operation of the application, including normal operation information, warning information, and error information. By analyzing the log, operation and maintenance personnel can monitor the health of the system, detect potential problems in time, and take measures. When the system crashes or serious errors occur, the log module records key events and data, which is essential for fault analysis and problem location. By viewing the log, developers can understand the status of the program before and after the problem occurs, so as to better understand the root cause of the problem.
[0076] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them. Under the concept of the present invention, the technical features in the above embodiments or different embodiments may also be combined, the steps may be implemented in any order, and there are many other changes in different aspects of the present invention as described above, which are not provided in detail for the sake of simplicity. Although the present invention has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for developing an energy management system, characterized in that: include: Code decoupling: The energy management system is divided into independent functional units, each of which is contained in a different software package; the functional units include a device access unit, a human-machine interface unit, and a control strategy unit; Module decomposition: decompose the device access unit into independent functional modules, including a device module and a communication module. The device module is used to access hardware devices, and the communication module contains the communication interfaces of all access devices and the corresponding communication protocols; decompose the human-machine interface unit into independent functional modules, including a display interface and a control interface. The display interface is used to display the energy storage station, and the control interface is used for function switching and operation; decompose the control strategy unit into independent functional modules, including a state module and a mode module. The state module is used to obtain the operating state of the energy storage station, and the mode module calls the corresponding control strategy according to the operating state of the energy storage station; Interface customization: The human-machine interface unit loads different interface elements according to the configuration file, and each interface element corresponds to an access device or functional module; Plug-in: Different functional modules, devices, and strategies are encapsulated into independent plug-ins, which are dynamically loaded according to the configuration file when the system is running.
2. The energy management system development method according to claim 1, characterized in that: The state module defines multiple operating states of the energy storage station. The state module continuously collects and updates the state information of the energy storage station through data sensors, determines the current operating state of the energy storage station based on the state information, and sends it to the mode module; The mode module includes a set of specific control strategies, which describe how the energy storage station should perform control operations under the current operating state; after receiving the state signal, the mode module selects an appropriate control strategy according to the current state and starts executing it.
3. The energy management system development method according to claim 1, characterized in that: The configuration file contains the interface elements that need to be displayed on the interface, and defines the appearance, interaction mode, and associated data and methods of each interface element in the interface; when the system starts, it will read and parse the configuration file, dynamically generate and display the corresponding interface elements according to the information in the configuration, and bind the corresponding data source and control method.
4. The energy management system development method according to claim 3, characterized in that: The control strategy of the interface elements is specified in the configuration file. When the system is running, it will dynamically load and execute the corresponding control strategy according to the definition in the configuration file; the user's interactive operations on the interface will trigger the execution of the control strategy.
5. The energy management system development method according to claim 3, characterized in that: The layout information of the interface elements is set in the configuration file, including the size and position on devices with different screen resolutions; when the system starts, each interface element adaptively adjusts its layout according to the layout information in the configuration file and the current device.
6. The energy management system development method according to claim 1, characterized in that: The plug-in includes device driver plug-in and operation strategy plug-in; Device plug-in: Device drivers of different brands and models are encapsulated into independent plug-ins, which provide communication and control interfaces for corresponding devices. Users specify the required device plug-in through configuration files. The system loads the required plug-in at runtime according to the configuration files and calls the interface provided by the plug-in to manage and control the device. Strategy plug-in: Customize control strategies according to different scenario requirements and encapsulate them as independent plug-ins. Users specify the required strategy plug-in through the configuration file. The system loads the required plug-in at runtime according to the configuration file and switches different control strategies according to requirements.
7. The energy management system development method according to claim 1, characterized in that: The format of the configuration file is YAML, JSON or XML; the plug-in is a dynamic link library or a shared library.
8. An energy management system developed based on the method according to any one of claims 1 to 7, characterized in that: It includes device access unit, human-machine interface unit and control strategy unit, as well as configuration files, several device plug-ins and strategy plug-ins; The device access unit includes a device module and a communication module. The device module is used to access hardware devices. The communication module contains the communication interfaces of all access devices and the corresponding communication protocols. The device plug-in includes device drivers of different brands and models and provides communication and control interfaces of corresponding devices. The user specifies the required device plug-in in the configuration file. The human-machine interface unit includes a display interface and a control interface. The display interface is used to display the energy storage station, and the control interface is used for function switching and operation. The user defines the appearance, layout, interaction mode, and associated data and methods of each interface element in the interface through a configuration file; The control strategy unit includes a state module and a mode module. The state module is used to obtain the operating state of the energy storage station, and the mode module calls the corresponding control strategy according to the operating state of the energy storage station. The state module includes multiple operating states of the energy storage station, and the mode module includes multiple corresponding control strategies. The operating state and its corresponding control strategy are customized by the user through the strategy plug-in specified by the configuration file.
9. The energy management system according to claim 8, characterized in that: It also includes several interface element plug-ins, and users can select the interface elements to be displayed for the human-machine interface unit through the configuration file.
10. The energy management system according to claim 8, characterized in that: It also includes a log module for recording information during system operation, including user operation information, warning information and error information.
Citation Information
Patent Citations
Method for extending functions of management information system through plugins
CN103645919A
Configurable control method for energy management system
CN108347345A
Energy storage energy management system and method
CN113537843A
Human-computer interaction interface configuration system based on plug-in
CN118051255A