config_simple.yaml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. # ==============================================================================
  2. # RO膜污染监控与CIP预测系统配置文件 - v3.0
  3. # 基于机理模型 ΔP(t) = ΔP₀ + k × t 的压差变化率分析
  4. # ==============================================================================
  5. global_parameters:
  6. # 数据源文件的路径和名称
  7. pickle_file_path: "/Users/wmy/data/Pycharm_Project/jkhj/jkhj_test1/shuangmo/wmy/reverse_osmosis_反渗透/historical_sensor_data_1years.pkl"
  8. # 【核心】时间尺度配置
  9. # 'D' = 天, 'H' = 小时, 'min' = 分钟
  10. aggregation_frequency: 'H'
  11. # k值计算相关参数
  12. k_calculation_days: 7 # 计算k值的回溯天数
  13. k_calculation_window: 720 # 滑动窗口大小(数据点数,建议30天=720小时)
  14. # 数据质量控制
  15. enable_outlier_removal: true # 是否启用异常值清理
  16. outlier_std_threshold: 3 # 异常值检测标准差阈值
  17. # 观察期设置
  18. observation_period_hours: 1080 # CIP观察期(小时),默认45天(1.5个月)
  19. # 趋势分析参数(新增)
  20. trend_analysis_window: 360 # 趋势分析窗口大小(数据点数,建议15天=360小时)
  21. trend_slope_threshold: 0.001 # 趋势斜率阈值,超过此值认为有明显趋势
  22. min_rising_duration: 30 # 最小持续上升时间点数(建议30小时),达到此值认为趋势稳定
  23. # 数据分割时间点(用于历史/未来数据划分)
  24. data_split_time: '2025-08-05 10:00:00'
  25. # ==============================================================================
  26. # 需要监控的指标清单: 这是一个列表,您可以添加任意多个监控任务。
  27. # ==============================================================================
  28. metrics_to_monitor:
  29. # --- 任务1: RO1一段压差监控 ---
  30. - name: "RO1-Stage1-Pressure"
  31. display_name: "RO1一段-压差趋势"
  32. description: "基于机理模型监控RO1一段膜组的污染速率,预测CIP需求"
  33. enabled: true
  34. # 目标传感器
  35. target_sensor: "C.M.RO1_DB@DPT_1"
  36. # 【核心】k值污染速率分类阈值 (基于历史数据百分位数)
  37. k_percentiles:
  38. safe: 75.0 # 安全阈值:k值低于此值时系统安全
  39. monitor: 85.0 # 监控阈值:超过此值需要密切关注
  40. alarm: 98.0 # 预警阈值:超过此值建议考虑CIP
  41. # --- 任务2: RO1一段电导监控 ---
  42. - name: "RO1-Stage1-Conductivity"
  43. display_name: "RO1一段-电导趋势"
  44. description: "监控RO1一段产水水质的恶化速率,检测膜性能衰减"
  45. enabled: true
  46. target_sensor: "C.M.RO1_Cond_CS@out"
  47. k_percentiles:
  48. safe: 75.0
  49. monitor: 85.0
  50. alarm: 98.0
  51. # --- 任务3: RO1二段压差监控 (可选) ---
  52. - name: "RO1-Stage2-Pressure"
  53. display_name: "RO1二段-压差趋势"
  54. description: "监控RO1二段膜组的污染速率"
  55. enabled: false # 默认禁用,根据需要启用
  56. target_sensor: "C.M.RO1_DB@DPT_2"
  57. k_percentiles:
  58. safe: 75.0
  59. monitor: 85.0
  60. alarm: 98.0
  61. # ==============================================================================
  62. # 配置说明
  63. # ==============================================================================
  64. # 1. aggregation_frequency: 数据聚合频率
  65. # - 'H': 小时级别,适合精细分析
  66. # - 'D': 日级别,适合长期趋势
  67. # - 'min': 分钟级别,适合实时监控
  68. #
  69. # 2. k_percentiles: 基于历史数据统计的阈值设定
  70. # - safe: 75%分位数,膜污染处于正常范围
  71. # - monitor: 85%分位数,需要关注但不需要立即行动
  72. # - alarm: 98%分位数,建议考虑CIP清洗
  73. #
  74. # 3. 机理模型核心思想:
  75. # - ΔP(t) = ΔP₀ + k × t
  76. # - k值代表膜污染速率 (压差变化率/时间)
  77. # - k值越大,污染速度越快,越需要CIP
  78. #
  79. # 4. 外部数据接口使用:
  80. # from main_simple import analyze_external_pressure_data
  81. # result = analyze_external_pressure_data('config_simple.yaml', 'RO1-Stage1-Pressure', future_data)
  82. #
  83. # 5. 趋势分析参数说明:
  84. # - trend_analysis_window: 分析趋势时考虑的历史数据点数
  85. # - trend_slope_threshold: 判断上升/下降趋势的斜率阈值
  86. # - min_rising_duration: CIP信号需要的最小连续上升点数
  87. #
  88. # 6. CIP判断逻辑改进:
  89. # 新版本不只看k值大小,而是综合考虑:
  90. # - k值是否超过监控阈值
  91. # - 是否有持续的上升趋势
  92. # - 上升趋势维持了足够长的时间
  93. # 只有三个条件都满足,才会发出CIP信号