12 KiB
12 KiB
✅ 故障诊断与预警功能 - 优化更新
🎯 更新概述
根据用户反馈,对故障诊断与预警功能进行了重要优化:
✨ 新增功能
- 预警规则管理 ⭐ (新增)
- 预警记录处理 (优化)
- 简化处理状态 (优化)
📋 更新内容
1️⃣ 新增预警规则管理
功能位置
远程诊断与故障预警 → 预警规则
核心功能
规则配置:
- ✅ 规则名称和描述
- ✅ 所属分类(8大系统)
- ✅ 预警级别(提示/警告/错误/严重)
- ✅ 触发条件配置
- ✅ 推送渠道设置
- ✅ 自动创建任务
- ✅ 启用/禁用开关
触发条件:
{
sensorKey: 'coolant_temp', // 监测参数
threshold: {
type: 'greater', // 条件类型
value: 105, // 阈值
duration: 30 // 持续时间(秒)
}
}
条件类型:
- 大于 (>)
- 小于 (<)
- 等于 (=)
- 范围内 (min~max)
监测参数:
- 发动机转速 (RPM)
- 冷却液温度 (℃)
- 机油压力 (kPa)
- 燃油液位 (%)
- 液压压力 (MPa)
- 电池电压 (V)
- 振动等级
- 皮带张紧度
推送渠道:
- ✅ 站内信
- ✅ 短信通知
- ✅ 邮件通知
- ✅ 推送通知
自动任务:
- 触发预警时自动创建维修任务
- 便于快速响应和跟踪
界面展示
┌─────────────────────────────────────────┐
│ 预警规则管理 [新增规则] │
├─────────────────────────────────────────┤
│ [规则总数] [已启用] [已禁用] [严重级别] │
├─────────────────────────────────────────┤
│ 状态 | 规则名称 | 级别 | 触发条件 | 操作│
│ [✓] | 温度过高 | 严重 | 温度>105℃ | 编辑│
│ [✓] | 油压过低 | 错误 | 压力<150 | 编辑│
│ [ ] | 燃油提醒 | 警告 | 液位<20% | 编辑│
└─────────────────────────────────────────┘
默认规则
系统已预设3条常用规则:
-
发动机温度过高预警
- 级别: 严重
- 条件: 冷却液温度 > 105℃,持续30秒
- 推送: 站内信 + 短信 + 推送
- 自动创建任务: 是
-
机油压力过低预警
- 级别: 错误
- 条件: 机油压力 < 150kPa,持续10秒
- 推送: 站内信 + 短信
-
燃油液位过低提醒
- 级别: 警告
- 条件: 燃油液位 < 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. 系统记录
- 状态: 已处理
- 处理人: 当前用户
- 处理时间: 当前时间
- 处理备注
🔧 技术实现
新增文件
/components/machinery/fault/AlertRuleManagement.tsx(600+行)- 预警规则管理组件
- CRUD操作
- 规则配置表单
更新文件
-
/components/machinery/fault/FaultWarning.tsx(700+行)- 简化状态为"待处理"和"已处理"
- 优化处理流程
- 添加处理记录显示
-
/components/machinery/FaultDiagnosis.tsx- 添加Tab导航
- 集成预警规则和预警记录
-
/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. ✅ 完成
💡 最佳实践
规则配置建议
- 严重级别: 使用短信和推送,确保及时响应
- 警告级别: 使用站内信和推送,避免过度打扰
- 持续时间: 设置合理值,避免频繁误报
- 自动任务: 仅对严重故障启用
处理流程建议
- 及时处理: 尽快处理待处理的预警
- 详细备注: 记录详细的处理过程
- 参考知识库: 查看标准解决方案
- 经验总结: 将处理经验添加到知识库
🎉 总结
✅ 主要成果
- 预警规则管理: 可视化配置,灵活管理
- 处理流程优化: 简化状态,提升效率
- 记录可追溯: 完整记录处理过程
📊 功能对比
| 功能 | 更新前 | 更新后 |
|---|---|---|
| 规则配置 | ❌ 硬编码 | ✅ 可视化 |
| 处理状态 | 3个状态 | 2个状态 |
| 处理记录 | ❌ 无 | ✅ 完整 |
| 自动任务 | ❌ 无 | ✅ 支持 |
🚀 下一步
- 规则批量导入导出
- 预警趋势分析
- 预警统计报表
- 移动端适配
更新时间: 2025-10-17
版本: v2.0
状态: ✅ 已完成上线