|
|
преди 1 седмица | |
|---|---|---|
| .idea | преди 1 месец | |
| __pycache__ | преди 1 месец | |
| analysis_logs | преди 1 месец | |
| cip | преди 1 месец | |
| fouling_model_0922 | преди 1 седмица | |
| Dockerfile | преди 3 седмици | |
| Jenkinsfile | преди 3 седмици | |
| README_simple.md | преди 1 месец | |
| build.sh | преди 3 седмици | |
| config.json | преди 1 седмица | |
| config_simple.yaml | преди 1 месец | |
| docker-compose.yaml | преди 3 седмици | |
| get_api_data.py | преди 1 седмица | |
| logging_system.py | преди 1 седмица | |
| main_simple.py | преди 1 седмица | |
| requirements.txt | преди 1 месец | |
| smart_monitor.py | преди 1 седмица |
基于压差预测数据分析膜污染速率,自动计算最优CIP清洗时机。
核心原理:
主要功能:
from main_simple import main
# 使用默认参数(策略3-加权平均,当前时间,所有机组)
result_df = main()
# 指定策略和时间
result_df = main(strategy=3, start_date='2025-08-26 00:00:00')
# 只分析特定机组
result_df = main(strategy=1, unit_filter='RO1')
# 自动持续监控,到期触发预测
python smart_monitor.py
监控系统会:
| 策略 | 说明 | 适用场景 |
|---|---|---|
| 1 | 最早时机 - 取一段/二段中较早的 | 保守维护 |
| 2 | 最晚时机 - 取一段/二段中较晚的 | 最大化运行时间 |
| 3 | 加权平均 - 根据k值加权(推荐) | 平衡维护和运行 |
| 4 | 污染严重 - 选k值最大的段 | 基于实际污染程度 |
{
"api": {
"base_url": "http://example.com",
"callback_endpoint": "/api/cip/callback",
"jwt_token": "your_token"
},
"scada": {
"project_id": "12345"
},
"cip_history": {
"RO1": "2025-08-05 10:00:00",
"RO2": "2025-07-20 15:00:00",
"RO3": "2025-08-01 08:00:00",
"RO4": "2025-07-15 12:00:00"
}
}
说明:
cip_history:记录各机组最近一次CIP时间,用于计算预测周期api:可选,配置后会自动推送决策结果到回调接口scada.project_id:项目标识,用于API回调核心参数在 OptimalCIPPredictor 类中:
window_days=7:k值计算窗口,增大平滑噪声,减小提高敏感度min_continuous_rising=3:k值连续上升最小点数,增大避免误报min_delay_days=30:最小延迟天数,根据实际CIP周期调整分析机组 RO1
预测天数: 90天
找到RO1压差列: 2个
C.M.RO1_DB@DPT_1_pred: 2025-10-15 18:00:00 (第71天, k=0.000234)
C.M.RO1_DB@DPT_2_pred: 2025-10-18 12:00:00 (第75天, k=0.000198)
RO1最优CIP时机: 2025-10-16 08:00:00
==================================================
分析完成
==================================================
机组类型 CIP时机 策略说明
RO1 2025-10-16 08:00:00 加权平均策略 (第72天)
RO2 2025-11-04 06:00:00 加权平均策略 (第91天)
RO3 2025-10-28 14:00:00 加权平均策略 (第84天)
RO4 None 无有效CIP时机
系统自动生成完整的分析记录,保存在 analysis_logs/ 目录:
analysis_logs/
├── CIP_Analysis_20251015_095138.log # 主日志
├── data/ # 数据文件
│ ├── CIP_Analysis_20251015_095138_prediction_data.csv # 原始预测数据
│ ├── CIP_Analysis_20251015_095138_RO1_pressure_data.csv # RO1压差数据
│ ├── CIP_Analysis_20251015_095138_RO2_pressure_data.csv
│ └── CIP_Analysis_20251015_095138_final_results.csv # 最终结果
├── plots/ # 图表
│ ├── CIP_Analysis_20251015_095138_pressure_trends.png # 压差趋势图
│ └── CIP_Analysis_20251015_095138_unit_comparison.png # 机组对比图
└── reports/ # 报告
├── CIP_Analysis_20251015_095138_analysis_data.json # 完整分析数据
└── CIP_Analysis_20251015_095138_report.html # HTML报告
1. 压差趋势图 (pressure_trends.png)
2. 机组对比图 (unit_comparison.png)
3. HTML报告 (report.html)
4. 主日志 (.log)
配置了API的话,系统会自动推送决策结果:
推送格式:
{
"list": [
{
"type": "RO1",
"project_id": "12345",
"ctime": "2025-10-16 08:00:00"
}
]
}
失败会自动重试3次,间隔10秒。
fouling_model_0922.predict.Predictor:压差预测模型cip.run_this.main:计算各机组预测周期logging_system.CIPAnalysisLogger:日志和图表生成min_continuous_rising 或 min_delay_daysanalysis_logs/ 目录下的日志文件