sewind_w2000_mixed_taierzhuang.yaml 6.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # 数据契约 — 台儿庄风电场-鹿荒 (华电山东枣庄) — 上海电气 SEWIND W2000 混机型 (111+116)
  2. # ★混机型双期场: A-1..A-25=一期 W2000/111 (D111/hub80/额定风9.9/切出22, 2014协议)
  3. # B-1..B-20=二期 W2000/116 (D116/hub90/额定风12.5/切出25, 2016协议)
  4. # 任何 fleet-relative 分析必按期(A/B前缀)分组 — 长清 111/105 混型教训同族。
  5. # 复用 sewind W2000 族语义 (长清110/吉山105/唐龙116/郭家店99); Tier-A ground-truth 头奖场。
  6. meta:
  7. farm: 台儿庄风电场-鹿荒 (华电山东枣庄分公司)
  8. farm_code: TEZ
  9. oem: 上海电气 SEWIND
  10. model: "混: W2000/111-2.0MW (A期25台) + W2000/116-2.0MW (B期20台)"
  11. topology: dfig_geared
  12. rated_kw: 2000 # plateau实测 A:2100/2112, B:2071/2086 (风>13 p95/max)
  13. rotor_diameter_m: {A: 111, B: 116}
  14. hub_height_m: {A: 80, B: 90}
  15. n_turbines_with_data: 45 # A-1..A-25 + B-1..B-20; 双键: 一期25×2=50MW 二期20×2=40MW 与协议吻合
  16. province: 山东枣庄台儿庄
  17. sampling: {min10_s: 600} # t.diff median 实证; 包内无秒级层 (最高频=10min)
  18. windows: {min10: "2024-01-01→2024-12-31, ★缺2024.9整月 (11/12月, 每月5周文件)"}
  19. met_mast: absent # 无mast → 机舱风 self_ref → 绝对功率曲线/Cp INSUFFICIENT
  20. event_table: "机组状态和故障/×44 (状态码+中文描述; 缺A-10) + 风机事件/×44 (中英对照; 缺A-10)"
  21. ground_truth: "★Tier-A: 大部件更换时间.xlsx 13条(几乎全齿轮箱, 2017.11-2021.5, 全A期) + 2024全年检zip + 二期CMS月报pdf; ⚠更换全在SCADA窗前 → 更换级检出延迟不可行, 用作齿箱新旧covariate"
  22. encoding: gb18030
  23. reuse: "sewind W2000族 (长清/吉山/唐龙/郭家店); 111与116逐型验(rated风9.9vs12.5, 转速带A max15.1/B max14.7)"
  24. provenance: "outputs/taierzhuang/sop/{survey.json,disk_manifest.json}; G-OEM probe 2026-07-10 冬夏两周77,850行45台"
  25. turbine_10min:
  26. required: [有功功率(kW), 10min滑动平均风速(m/s), 齿轮箱油温(℃)]
  27. sentinel_text: "无数据" # ★整行文本哨兵 (mixed-dtype 根源, 0.07%行) → NaN
  28. columns:
  29. 时间: {canonical_id: timestamp, parse: datetime}
  30. 风机名称: {canonical_id: WTUR_id, note: "带前导空格必strip; A/B前缀=期/机型键"}
  31. 有功功率(kW): {canonical_id: WAPC_active_power, unit: kW, valid_range: [-100, 2200]}
  32. 机舱位置(°): {canonical_id: WYAW_nacelle_position, unit: deg, valid_range: [0, 360]}
  33. 扭缆位置(°): {canonical_id: WYAW_cable_twist, unit: deg, valid_range: [-800, 800], note: "实测-395..693 累积角"}
  34. 风轮转速(rpm): {canonical_id: WROT_speed, unit: rpm, valid_range: [0, 20], note: "A max15.1 / B max14.7 (双型转速带)"}
  35. 桨距角(°): {canonical_id: WROT_pitch_collective, unit: deg, valid_range: [-10, 95], note: "A期见-89.5离群尾→界外NaN; 顺桨~89-93"}
  36. 桨距角1(°): {canonical_id: WROT_pitch_1, unit: deg, valid_range: [-10, 95]}
  37. 桨距角2(°): {canonical_id: WROT_pitch_2, unit: deg, valid_range: [-10, 95]}
  38. 桨距角3(°): {canonical_id: WROT_pitch_3, unit: deg, valid_range: [-10, 95]}
  39. 低速轴承温度(℃): {canonical_id: WTRM_gearbox_lss_bearing_temp, unit: degC, valid_range: [0.5, 130], note: "exact-0 零膨胀0.4%=停机/通讯默认 → lo=0.5剔"}
  40. 高速轴承温度(℃): {canonical_id: WTRM_gearbox_hss_bearing_temp, unit: degC, valid_range: [0.5, 130], note: "A p99 81 max112(有热台嫌疑, 分析期看)"}
  41. 齿轮箱油温(℃): {canonical_id: WTRM_gearbox_oil_temp, unit: degC, valid_range: [0.5, 100]}
  42. 发电机转速(rpm): {canonical_id: WGEN_speed, unit: rpm, valid_range: [-30, 2000], note: "A max1892 / B max1835"}
  43. 发电机定子U温度(℃): {canonical_id: WGEN_stator_temp_u, unit: degC, valid_range: [0.5, 160]}
  44. 发电机定子V温度(℃): {canonical_id: WGEN_stator_temp_v, unit: degC, valid_range: [0.5, 160]}
  45. 发电机定子W温度(℃): {canonical_id: WGEN_stator_temp_w, unit: degC, valid_range: [0.5, 160]}
  46. 自由端轴承温度(℃): {canonical_id: WGEN_bearing_nde_temp, unit: degC, valid_range: [0.5, 130]}
  47. 驱动端轴承温度(℃): {canonical_id: WGEN_bearing_de_temp, unit: degC, valid_range: [0.5, 130]}
  48. 舱内温度(℃): {canonical_id: WNAC_internal_temp, unit: degC, valid_range: [-40, 60]}
  49. 舱外温度(℃): {canonical_id: WNAC_ambient_temp, unit: degC, valid_range: [-40, 50]}
  50. 10min滑动平均风速(m/s): {canonical_id: WMET_wind_speed_nacelle, unit: m/s, valid_range: [0, 50], self_ref_risk: true}
  51. 风向角(°): {canonical_id: WYAW_error_vane, unit: deg, valid_range: [-180, 180], note: "★名不符实: 列名'风向角'实为对风偏差(实测±27°中位0) — vane yaw-error, 非绝对风向; 偏航分析可用"}
  52. cleaning:
  53. physical:
  54. - "文本哨兵'无数据'→NaN (整行, 全数值列同时)"
  55. - "内部温度 exact-0 零膨胀(0.4%, 全温度列同行) → valid_range lo=0.5 剔"
  56. - "桨距 A期 -89.5 离群尾 → valid_range [-10,95] 界外NaN (非clamp)"
  57. - "有功 [-100,2200]; 发电机转速 [-30,2000]; 风轮 [0,20]"
  58. semantic:
  59. - "★混机型: 任何 fleet-relative/机群中位 必按 A/B 期分组 (111 vs 116: 额定风9.9 vs 12.5, 同风速功率不同 — 池化=长清111/105混型假异常)"
  60. - "风速=机舱风 self_ref + 无mast → 绝对功率曲线/Cp/达成率 INSUFFICIENT (仅相对/设计曲线参照)"
  61. - "'风向角'=对风偏差(vane) 非绝对风向 → 偏航per机偏置可做; 绝对风向用 机舱位置+风向角 合成"
  62. - "★2024.9 整月SCADA缺 → 分析窗声明除9月; 故障/运行记录层全年(跨层窗差)"
  63. - "A-10 无故障/事件csv(SCADA有) → 该台真值盲区; 恰为2019.8换齿轮箱台, 配对时标注"
  64. status_codes:
  65. - "故障csv: 状态类型{故障,告警} + 状态码 + 中文描述 (A-1样本: 故障2718/告警1236, 300691=桨叶轴承润滑出错)"
  66. - "事件csv: 事件名称(英)+中文名 内嵌对照表 (Grid_Connection=并网) → 状态码字典可自建"
  67. traps:
  68. - "★混机型45台双期 (A=111/B=116) — 勿池化; 台数双键 25+20=50+40MW 协议吻合"
  69. - "★大部件更换(13条齿轮箱)全在2017-2021 < SCADA窗2024 → 检出延迟训练不可行; 只作covariate/台账"
  70. - "★事件/故障csv 缺A-10 (换过齿轮箱的台之一) — 真值盲区台"
  71. - "文本哨兵'无数据' + 温度exact-0零膨胀 (双哨兵)"
  72. - "'风向角'名不符实=对风偏差 (±27°); 一期机位docx段落头误写'二期'(表格正确) — 业主文档笔误勿照抄"
  73. - "2024.9 整月缺; 周文件切割(每月5文件, 周界跨月)"