This issue recommends a simulated wind farm monitoring project, simulating a power plant and 15 fans. The data are inserted into the timing database using random numbers in real time, and then extracted from the timing database by websocket+quartz and pushed to the interface for display.
design objective
- Display the operating data of the unit, such as the instantaneous power generation of the unit, cumulative power generation, power generation hours, wind turbine and motor speed and wind speed, wind direction, etc., visually displayed in the form of wind rose diagram, curve or chart.
Displays the operating status of the wind turbine.
Displays the faults that occur during the operation of each unit. When the fault is displayed, the type and occurrence time of the fault are displayed, so that the operator can deal with and eliminate the fault in time to ensure the safety and continuous operation of the wind turbine.
design philosophy
- Scalability – On the one hand, the design of the system should fully meet the needs of the current environment and the application needs of the future period of time, on the other hand, it should be easy to expand the function, and can flexibly add or delete the function module.
From the perspective of technology development and user needs, the software structure itself should be able to integrate with other application systems to share information and resources.
Interoperability – Support real-time database data interface, and through the standard relational database interface (ODBC, OLE DB) to achieve data integration with ERP and other MIS systems. The openness of the platform ensures that different functions can be tailored from different data modules of the production management system in the future to meet the needs of a specific task and achieve interoperability.
data design
- Power plant information The power plant information includes the number of the power plant, the total number of fans, and the total installed capacity
Fan configuration information Fan ID, fan brand, power, actual power, location (coordinate), power plant, start time, installation time, and running status.
Fan data statistics are performed on the wind speed, speed, power generation, power, yaw times, yaw Angle, etc.
Fan faults Record the fan serial number, fault type, person in charge, processing status, processing time, and description. The fault types include blade faults, steering faults, generator faults, and other faults.
Wind speed and Direction Range Statistical information Wind speed and Direction The wind speed and direction Angle in a certain period are measured based on the duration.
Power Range Power Statistics Indicates the power in a specified period based on the duration and is displayed in a line chart.
Cabin information Real-time statistics of cabin data. Fan serial number, engine room temperature, engine room Angle, gearbox oil temperature, low-speed shaft temperature, high-speed shaft alone, gear oil pressure, AC voltage, generator output and frequency, power factor, instantaneous power, etc.
menu design
Full-field monitoring
- Fan matrix Displays general information about fans by arranging fans in block matrix form. Single machine overview: Fan overview, fan overview
Fan List The fan information is displayed in a list
The full-field map displays fan graphics in the form of position graphics
data statistics
- Running data displays wind field information
Electricity statistics show the daily, monthly and annual energy generation of 24 months in a bar chart
Wind Speed statistics Rose Chart A rose chart showing wind speed intervals in all directions
Wind statistics Rose Chart shows the duration of wind in each direction Rose chart
Power curve The power curve shows the statistics of the power interval change curve of the wind field during the days, months and years
Report management
Electricity statistics Query (day month year)
Wind speed and Direction statistics Query (day month year)
Fan yaw statistics Query (Day month year)
Fan alarm statistical inquiry (day month year)
Alarm management
Alarm processing Display specific fan alarm information, set processing. You can fill in the processing information.
Alarm Statistics Displays the number of fan alarms, including the number and type of faults.
Database Design
project structure
data ├── data-common // utility class│ └── annotation // Custom annotation│ └── config // 全局配置│ └── constant // 通用常量│ └── core // 核心控制│ └── enums // 通用枚举│ └── exception // 通用异常│ └── json // JSON数据处理│ └── utils // 通用类处理│ └── xss // XSS过滤处理├── data-framework // 框架核心│ └── aspectj // 注解实现│ └── config // 系统配置│ └── datasource // 数据权限│ └── manager // 异步处理│ └── shiro // 权限控制│ └── util // 通用工具│ └── web // 前端控制├── data-biz // 业务代码│ └── domain // 实体类│ └── mapper // mapper│ └── service // 服务接口层│ └── service // 服务实现层│ └── manager // 异步处理├── data--admin // 后台服务接口Api│ └── web // 启动│ └── config // 配置│ └── controller // 控制层│ └── core.config // swagger配置│ └── encoder │ └── quartz // 定时任务│ └── socket // websocket├── data--generator // 代码生成├── data--quartz // 定时任务├── data--system // 系统代码
Database installation
Add a trenddb_api.jar to your local maven repository in the lib folder under the project root or TrendDB installation directory. groupId and artifactId are TrendDB_API with version 1.0. Run the following command in the directory where the jar resides
mvn install:install-file -Dfile=TrendDB_API.jar -DgroupId=TrendDB_API -DartifactId=TrendDB_API -Dversion=1.0 -Dpackaging=jar