README.md 2.8 KB

下面是精简版 README(交接用),重点只保留“项目是什么 + 怎么用”。


CIP Prediction Model(超滤CIP预测模型)

1. 项目简介

本项目用于超滤系统运行过程中的膜污染建模与CIP(化学清洗)时间预测。

核心功能包括:

  • 基于运行数据计算膜阻力增长(R)
  • 建立污染增长模型(R = a · V^b)
  • 预测剩余运行时间(remaining_days)
  • 支持不同压差通道(DPT_1 / DPT_2)
  • 引入历史周期数据进行参数修正
  • 输出异常状态(ERROR)用于运行监控

2. 输入数据


2.1 实时运行数据

文件:

use_data/test_cycle_sample.csv

包含:

  • time(时间,5分钟采样)
  • RO1_FluxF ~ RO4_FluxF(各RO段通量)
  • C.M.RO1_FT_JS@out ~ C.M.RO4_FT_JS@out(进水流量)
  • C.M.RO1_FT_NS@out ~ C.M.RO4_FT_NS@out(浓水流量)
  • C.M.RO_TT_ZJS@out(温度)
  • C.M.RO_Cond_ZJS@out(电导率)
  • C.M.RO_PH_ZJS@out(pH)
  • C.M.RO_ORP_ZJS@out(ORP)
  • C.M.RO_PT_ZCS@out(进水压力)
  • C.M.RO1_DB@DPT_1 ~ C.M.RO4_DB@DPT_1(一段压差)
  • C.M.RO1_DB@DPT_2 ~ C.M.RO4_DB@DPT_2(二段压差)

说明:

  • 数据为当前CIP周期的连续运行记录
  • 必须为进水运行阶段数据(控制字=24.0)
  • 不允许混入清洗、停机或切换状态数据
  • 可输入全机组数据,模型内部会自动筛选目标机组数据

2.2 历史周期数据

use_data/cycle_rv_seg1_results.csv
use_data/cycle_rv_seg2_results.csv

用于提供历史污染参数(a, b)进行修正。

说明:

  • seg1 对应 DPT_1 压差模型
  • seg2 对应 DPT_2 压差模型
  • 每条记录代表一个完整历史CIP周期
  • 包含污染模型参数(a, b)及对应运行工况统计特征(flux、cond、pH、ORP、temp)
  • 数据已完成预处理,可直接用于模型匹配,无需额外清洗或转换

3. 使用方法

3.1 基本调用

out = main(["RO4"], TMP_limit=0.19, dpt_type="DPT_1")

3.2 参数说明

  • units:机组列表(如 ["RO4"])
  • TMP_limit:最大允许压差(用于CIP判断)
  • dpt_type

    • "DPT_1"(默认)
    • "DPT_2"

4. 输出结果

正常情况

remaining_days:预计距离CIP剩余天数
R_now:当前膜阻力
V_now:当前产水量
a_final / b_final:模型参数
status = OK

异常情况

当系统判断预测失效时返回:

status = ERROR
error_time:异常发生时间
error_var:使用的压差变量

5. 运行示例

if __name__ == "__main__":

    out = main(["RO4"], TMP_limit=0.19, dpt_type="DPT_2")

    row = out.iloc[0]

    if row["status"] == "ERROR":
        print("系统异常")
        print(row["error_time"])
        print(row["error_var"])
    else:
        print(f"预计CIP时间:{row['remaining_days']:.2f} 天")