Files
smart-crop-ui/src/FAULT_DIAGNOSIS_UPDATE.md

12 KiB
Raw Blame History

故障诊断与预警功能 - 优化更新

🎯 更新概述

根据用户反馈,对故障诊断与预警功能进行了重要优化:

新增功能

  1. 预警规则管理 (新增)
  2. 预警记录处理 (优化)
  3. 简化处理状态 (优化)

📋 更新内容

1 新增预警规则管理

功能位置

远程诊断与故障预警 → 预警规则

核心功能

规则配置:

  • 规则名称和描述
  • 所属分类8大系统
  • 预警级别(提示/警告/错误/严重)
  • 触发条件配置
  • 推送渠道设置
  • 自动创建任务
  • 启用/禁用开关

触发条件:

{
  sensorKey: 'coolant_temp',      // 监测参数
  threshold: {
    type: 'greater',              // 条件类型
    value: 105,                   // 阈值
    duration: 30                  // 持续时间(秒)
  }
}

条件类型:

  • 大于 (>)
  • 小于 (<)
  • 等于 (=)
  • 范围内 (min~max)

监测参数:

  • 发动机转速 (RPM)
  • 冷却液温度 (℃)
  • 机油压力 (kPa)
  • 燃油液位 (%)
  • 液压压力 (MPa)
  • 电池电压 (V)
  • 振动等级
  • 皮带张紧度

推送渠道:

  • 站内信
  • 短信通知
  • 邮件通知
  • 推送通知

自动任务:

  • 触发预警时自动创建维修任务
  • 便于快速响应和跟踪

界面展示

┌─────────────────────────────────────────┐
│ 预警规则管理              [新增规则]    │
├─────────────────────────────────────────┤
│ [规则总数] [已启用] [已禁用] [严重级别] │
├─────────────────────────────────────────┤
│ 状态 | 规则名称 | 级别 | 触发条件 | 操作│
│ [✓] | 温度过高 | 严重 | 温度>105℃ | 编辑│
│ [✓] | 油压过低 | 错误 | 压力<150  | 编辑│
│ [ ] | 燃油提醒 | 警告 | 液位<20%  | 编辑│
└─────────────────────────────────────────┘

默认规则

系统已预设3条常用规则

  1. 发动机温度过高预警

    • 级别: 严重
    • 条件: 冷却液温度 > 105℃持续30秒
    • 推送: 站内信 + 短信 + 推送
    • 自动创建任务: 是
  2. 机油压力过低预警

    • 级别: 错误
    • 条件: 机油压力 < 150kPa持续10秒
    • 推送: 站内信 + 短信
  3. 燃油液位过低提醒

    • 级别: 警告
    • 条件: 燃油液位 < 20%
    • 推送: 站内信 + 推送

2 简化处理状态

状态变更

原状态:

待处理 → 处理中 → 已解决

新状态:

待处理 → 已处理

变更原因

  • 移除"处理中"状态,简化流程
  • 只保留"待处理"和"已处理"两个状态
  • 处理流程更清晰直观

状态说明

状态 说明 颜色
待处理 等待处理的预警 🟠 橙色
已处理 已完成处理的预警 🟢 绿色
已忽略 已忽略的预警 灰色

3 预警记录处理优化

功能位置

远程诊断与故障预警 → 预警记录

处理流程

步骤1: 查看详情

点击"详情" → 查看3个Tab:
  - 预警详情(故障码、诊断、原因)
  - 解决方案(分步骤指导)
  - 知识库(相关文章)

步骤2: 处理预警

1. 填写处理备注
2. 点击"标记已处理"
3. 系统记录处理人、处理时间

步骤3: 查看处理记录

已处理的预警显示:
  - 处理人员
  - 处理时间
  - 处理备注

统计数据

┌─────────────────────────────────────────┐
│ [总预警] [待处理] [已处理] [严重] [预测]│
│    15      8       7       2      3    │
└─────────────────────────────────────────┘

🎨 界面结构

Tab导航

┌─────────────────────────────────────────┐
│ 远程诊断与故障预警                       │
├─────────────────────────────────────────┤
│ [预警规则] [预警记录] [健康评估] [参数监测]│
└─────────────────────────────────────────┘

预警规则 Tab

┌─────────────────────────────────────────┐
│ 预警规则管理              [新增规则]    │
├─────────────────────────────────────────┤
│ 统计卡片 × 4                            │
├─────────────────────────────────────────┤
│ 规则列表表格                            │
│ - 启用/禁用开关                         │
│ - 规则信息                              │
│ - 触发条件                              │
│ - 推送渠道                              │
│ - 编辑/删除操作                         │
└─────────────────────────────────────────┘

预警记录 Tab

┌─────────────────────────────────────────┐
│ 预警记录                  [推送设置]    │
├─────────────────────────────────────────┤
│ 统计卡片 × 5                            │
├─────────────────────────────────────────┤
│ 预警列表表格                            │
│ - 级别标签                              │
│ - 农机名称                              │
│ - 故障码                                │
│ - 状态(待处理/已处理)                 │
│ - 详情/知识库/发送操作                  │
└─────────────────────────────────────────┘

📊 数据流程

预警触发流程

1. 传感器数据采集
   ↓
2. 匹配预警规则
   - 检查规则是否启用
   - 检查触发条件
   - 检查持续时间
   ↓
3. 生成预警记录
   - 状态: 待处理
   - 记录检测时间
   ↓
4. 多渠道推送
   - 根据规则配置推送
   - 站内信/短信/邮件/推送
   ↓
5. 自动创建任务(可选)
   - 如果规则开启了自动任务
   - 创建维修任务

预警处理流程

1. 查看预警列表
   ↓
2. 点击"详情"查看
   - 预警详情
   - 解决方案
   - 知识库文章
   ↓
3. 填写处理备注
   ↓
4. 点击"标记已处理"
   ↓
5. 系统记录
   - 状态: 已处理
   - 处理人: 当前用户
   - 处理时间: 当前时间
   - 处理备注

🔧 技术实现

新增文件

  1. /components/machinery/fault/AlertRuleManagement.tsx (600+行)
    • 预警规则管理组件
    • CRUD操作
    • 规则配置表单

更新文件

  1. /components/machinery/fault/FaultWarning.tsx (700+行)

    • 简化状态为"待处理"和"已处理"
    • 优化处理流程
    • 添加处理记录显示
  2. /components/machinery/FaultDiagnosis.tsx

    • 添加Tab导航
    • 集成预警规则和预警记录
  3. /types/equipment.ts

    • 更新状态类型定义
    • 移除"处理中"状态

数据存储

// 预警规则存储
localStorage.setItem('smart_agriculture_alert_rules', JSON.stringify(rules));

// 预警记录存储
localStorage.setItem('smart_agriculture_faults', JSON.stringify(faults));

📝 使用示例

示例1: 创建温度预警规则

{
  name: '发动机温度过高预警',
  category: '冷却系统',
  level: 'critical',
  sensorKey: 'coolant_temp',
  threshold: {
    type: 'greater',
    value: 105,
    duration: 30
  },
  pushChannels: ['internal', 'sms', 'push'],
  autoCreateTask: true,
  enabled: true
}

效果: 当冷却液温度超过105℃并持续30秒时自动触发严重预警通过站内信、短信和推送通知并自动创建维修任务。

示例2: 处理预警记录

1. 进入"预警记录"Tab
2. 找到待处理的预警
3. 点击"详情"
4. 查看解决方案和知识库
5. 填写处理备注:
   "已检查冷却液液位补充2L冷却液
    检查水泵正常,散热器清洗完成"
6. 点击"标记已处理"
7. ✅ 完成

功能检查清单

预警规则管理

  • 新增规则
  • 编辑规则
  • 删除规则
  • 启用/禁用规则
  • 触发条件配置
  • 推送渠道设置
  • 自动创建任务
  • 规则列表展示
  • 统计数据

预警记录处理

  • 预警列表展示
  • 状态筛选
  • 查看详情
  • 解决方案展示
  • 知识库展示
  • 标记已处理
  • 处理备注
  • 处理记录显示
  • 多渠道推送

状态管理

  • 移除"处理中"状态
  • 简化为"待处理"/"已处理"
  • 类型定义更新
  • 界面适配

🎯 核心改进

1. 灵活的规则配置

原来: 规则硬编码在代码中,难以修改

现在:

  • 可视化配置界面
  • 支持多种触发条件
  • 灵活的推送设置
  • 随时启用/禁用

2. 简化的处理流程

原来:

待处理 → 处理中 → 已解决

现在:

待处理 → 已处理

优势:

  • 流程更简洁
  • 操作更便捷
  • 状态更清晰

3. 完善的记录管理

新增:

  • 处理人员记录
  • 处理时间记录
  • 处理备注记录
  • 处理历史可追溯

📈 使用场景

场景1: 配置温度预警

需求: 当发动机温度超过105℃时预警

操作:
1. 进入"预警规则"
2. 点击"新增规则"
3. 填写:
   - 名称: 发动机温度过高预警
   - 级别: 严重
   - 参数: 冷却液温度
   - 条件: 大于
   - 阈值: 105
   - 持续: 30秒
   - 推送: 站内信+短信+推送
   - 自动任务: 启用
4. 保存
5. ✅ 完成

场景2: 处理温度预警

场景: 收到温度过高预警

操作:
1. 进入"预警记录"
2. 找到温度预警
3. 点击"详情"
4. 查看解决方案:
   - 立即停机
   - 检查冷却液
   - 检查水泵
5. 执行维修操作
6. 填写备注: "已补充冷却液,检查正常"
7. 标记已处理
8. ✅ 完成

💡 最佳实践

规则配置建议

  1. 严重级别: 使用短信和推送,确保及时响应
  2. 警告级别: 使用站内信和推送,避免过度打扰
  3. 持续时间: 设置合理值,避免频繁误报
  4. 自动任务: 仅对严重故障启用

处理流程建议

  1. 及时处理: 尽快处理待处理的预警
  2. 详细备注: 记录详细的处理过程
  3. 参考知识库: 查看标准解决方案
  4. 经验总结: 将处理经验添加到知识库

🎉 总结

主要成果

  1. 预警规则管理: 可视化配置,灵活管理
  2. 处理流程优化: 简化状态,提升效率
  3. 记录可追溯: 完整记录处理过程

📊 功能对比

功能 更新前 更新后
规则配置 硬编码 可视化
处理状态 3个状态 2个状态
处理记录 完整
自动任务 支持

🚀 下一步

  • 规则批量导入导出
  • 预警趋势分析
  • 预警统计报表
  • 移动端适配

更新时间: 2025-10-17
版本: v2.0
状态: 已完成上线