# 挤出机数据分析模块开发计划 ## 项目概述 基于现有分拣磅秤数据分析系统,开发一个独立的挤出机数据分析模块,用于分析public.aics_extruder_data数据表中的生产数据,实现换批分析、参数趋势展示和异常报警等功能。 ## 技术实现计划 ### 1. 项目结构设计 **新增文件**: - `app/services/extruder_service.py`:挤出机数据处理服务 - `app/dashboard/extruder_dashboard.py`:挤出机仪表盘 - 修改 `dashboard.py`:添加挤出机模块入口 ### 2. 数据服务实现 **开发文件**:`app/services/extruder_service.py` **实现功能**: - `get_extruder_data`:从数据库查询挤出机数据 - `detect_batch_changes`:基于SPEC编号变更检测换批事件 - `calculate_batch_duration`:计算每个批次的持续时长 - `calculate_batch_production`:统计各批次的生产数量 - `analyze_parameter_trends`:分析参数变化趋势 - `detect_anomalies`:检测数据异常 ### 3. 可视化仪表盘开发 **开发文件**:`app/dashboard/extruder_dashboard.py` **实现功能**: - 时间范围选择器 - SPEC编号筛选器 - 时间序列图表(螺杆转速、电流、压力、重量) - 换批事件标记 - 批次分析表格 - 数据导出功能 - 异常报警显示 ### 4. 系统集成 **修改文件**:`dashboard.py` **实现功能**: - 添加挤出机模块导航 - 保持与现有分拣磅秤模块一致的设计风格 - 实现模块间的无缝切换 ## 核心功能实现 ### 1. 换批分析算法 - 基于spec_name字段的变更检测换批事件 - 计算每次换批的开始时间、结束时间及持续时长 - 统计各批次的生产数量(基于metered_weight) - 建立SPEC编号与产量的对应关系 ### 2. 数据可视化 - 使用Plotly创建交互式时间序列图表 - 实现多参数叠加显示 - 添加换批事件的可视化标记 - 支持图表缩放和数据钻取 ### 3. 异常检测 - 基于compound_ratio、die_ratio等字段检测比对不匹配项 - 突出显示异常数据 - 提供异常统计和分析 ### 4. 性能优化 - 实现数据缓存机制 - 优化数据库查询 - 支持3个月历史数据的高效查询 ## 开发步骤 1. **创建项目结构**:建立挤出机模块的文件结构 2. **实现数据服务**:开发挤出机数据处理服务 3. **开发仪表盘**:创建挤出机数据分析仪表盘 4. **系统集成**:将新模块集成到现有系统 5. **功能测试**:测试各功能模块的正确性 6. **性能优化**:确保系统响应迅速 7. **文档完善**:添加模块说明和使用指南 ## 预期成果 - 功能完整的挤出机数据分析模块 - 精确的换批分析和产量统计 - 直观的参数趋势可视化 - 与现有系统一致的用户体验 - 高性能的数据处理和查询能力