DEPLOYMENT_PLAN.md 3.8 KB

超滤AI控制系统部署方案

一、测试流程

控制两台设备(1-2周)

目标:控制设备,看效果

操作

  1. 启动程序:nohup python loop_main.py > /dev/null 2>&1 &
  2. 选两台设备:比如 UF1 和 UF2(其他设备保持关闭)
  3. 前端开启 UF1 和 UF2 的模型开关
  4. 每天看2次:早上一次,下午一次
  5. 重点关注
    • 设备有没有报警
    • TMP趋势是不是稳定(看 device_states.json 里保存的历史值)
    • PLC参数有没有乱跳

判断标准

  • 决策的产水时间在 3600-6000 秒之间
  • 决策的反洗时间在 40-60 秒之间
  • 看着无明显异常

出现问题立即停止

  • 设备报警了 → 前端立即关闭
  • TMP一直涨或者一直降 → 关闭
  • 感觉不对劲 → 关闭

没问题就继续跑

  • 跑个1-2周
  • 确认稳定后再放开观察频率

二、日常怎么看

看日志

# 看最近的运行情况
tail -n 50 monitor_service.log

# 看有没有错误
tail -n 200 monitor_service.log | grep ERROR

# 实时跟踪
tail -f monitor_service.log

看设备状态

# 查看最近5次TMP记录,判断趋势
cat device_states.json

# 看起来格式化点
cat device_states.json | python -m json.tool

TMP趋势判断

  • 一直涨:可能膜污染严重,要注意
  • 一直降:可能反洗太频繁
  • 波动正常:没啥问题

看设备本身

  • SCADA系统看设备状态
  • 现场看有没有报警
  • 产水量、能耗这些数据对比下

三、出问题怎么办

设备报警

  1. 前端立即关闭模型
  2. 搞清楚是不是模型导致的

程序崩溃

  1. 看日志最后几行,看报什么错
  2. 修复后重启

TMP一直涨

  1. 前端关闭模型
  2. 观察是不是水质问题
  3. 可能需要手动CEB

决策乱跳

  1. 检查输入数据是否正常
  2. 可能是数据采集有问题
  3. 先关闭,排查原因

四、关键点说明

1. 跨膜压差异常判断

系统里能判断

  • 通过保存的历史TMP值判断趋势
  • 如果最近5次TMP持续上升 → 可能有问题
  • 如果TMP突然跳变很大 → 异常

需要SCADA系统配合

  • 绝对阈值报警(>0.08 bar)需要SCADA系统设置
  • 具体数值监控依赖SCADA

建议

  • 程序里记录TMP趋势
  • SCADA设置报警阈值
  • 两边配合使用

2. 产水量判断

系统里不能直接判断

  • 需要流量计数据
  • 需要SCADA系统提供

替代方案

  • 人工定期查看SCADA数据
  • 对比历史同期数据

五、配置说明(新增)

device_states.json 存储内容

{
  "UF1": {
    "model_prev_L_s": 3860,           // 上次决策的产水时间
    "model_prev_t_bw_s": 42,          // 上次决策的反洗时间
    "last_cycle_end_time": "2025-10-27 14:30:00",  // 上次决策时间
    "recent_tmp_values": [            // 最近N次TMP平均值(新增)
      0.0312,
      0.0318,
      0.0325,
      0.0331,
      0.0328
    ]
  }
}

配置参数(config.json)

{
  "system": {
    "tmp_history_count": 5,  // 保存最近N次TMP值,可调整
    ...
  }
}

TMP趋势判断逻辑

  • 保存最近5次(可配置)TMP平均值
  • 每次决策后更新
  • 可以通过这个列表判断:
    • 持续上升:可能需要关注
    • 突然跳变:可能数据异常
    • 波动正常:运行正常

六、成功标准

看这几点

  1. 程序能稳定跑2周
  2. 设备没有因为模型控制出问题
  3. 前端开关能正常控制
  4. TMP趋势没有明显异常

七、应急方案

前端关闭

  • 在手机端关闭系统自控按钮
  • 程序继续跑,但不下发指令

备选:停程序

ps aux | grep loop_main.py
kill <PID>

最后:PLC手动操作

  • 切换到手动模式

版本:v1.0
日期:2025-10-27