sewind_w2500_zhaijia_shangqi.yaml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # 数据契约 — 上海电气 SEWIND W2500 2.5MW 齿箱DFIG (翟家-上气层, 山东 / 华电)
  2. # schema_v2 SOP 标准件 (2026-07-18, 新场 onboard)。
  3. #
  4. # ★ 上海电气 10min 层 = py7zr 解 上气/上海电气-10分钟资料.7z (64 CSV, GBK, 58列单位嵌列名) → concat。
  5. # 翟家另有 东方风电(DEC) 2MW 秒级层(东气/13 zip嵌套, A1-A25, 需多级解压, 单独契约)。
  6. # ★技改假设: 上海电气A1-A20(2024-10~2025-12) vs 东方风电A1-A25(2025-11) → 疑控制器技改(20→25台)待坐实。
  7. # reuse: 上海电气 SEWIND W2500 家族 (库内 sewind_w2500_146_dehui / sewind_w2500_135_2p5mw); 翟家W2500变体重验。
  8. schema_version: 2
  9. meta:
  10. oem: 上海电气 SEWIND
  11. model: W2500 2.5MW 齿箱DFIG (叶轮变体待定; 库有146/135)
  12. topology: dfig_geared # ✅齿轮箱油温+高/低速轴承+发电机转速p50高速轴~1400rpm
  13. rated_kw: 2500 # ✅实证: 有功功率 p99=2516/max2629 (2.5MW级)
  14. rotor_d_m: null # 🟡 待定(库146/135; 待机型doc/功率曲线)
  15. source_farm: 翟家风场-上气层 (山东, 华电)
  16. n_machines: 20 # ✅ 风机名称 A1-A20 (东方风电层A1-A25=25台, 疑技改扩建)
  17. layout:
  18. format: "GBK CSV 十分钟实时数据查询(N).csv (58列单位嵌列名, 全台一文件); py7zr 解 7z"
  19. encoding: gbk
  20. assemble: "scripts/zhaijia_shangqi_assemble.py (py7zr解7z→concat 64 CSV; 机号=风机名称A1-A20; 去表头泄漏行'风机名称')"
  21. sampling:
  22. turbine_10min_s: 600
  23. window: "2024-10-01 ~ 2025-12-02 约14月"
  24. turbine_10min:
  25. sampling_s: 600
  26. required: ["有功功率(kW)", "10min平均风速(m/s)"]
  27. machine_col: 风机名称
  28. time_col: 时间
  29. columns:
  30. "有功功率(kW)":
  31. canonical_id: WTUR_W
  32. raw_unit: kW
  33. valid_range: [-150, 2750]
  34. observed_range: [-62, 2629] # ✅ p99=2516(rated2500 plateau); 负=空转寄生真物理禁clip
  35. self_ref_note: "本场无测风塔 → 绝对达成率INSUFFICIENT"
  36. "有功设定值":
  37. canonical_id: WAPC_setpoint_pct
  38. unit: percent
  39. valid_range: [0, 105]
  40. observed_range: [0, 100]
  41. semantic: "★**百分比设定值(0-100%)非kW** → <100%=限电/降功率标志; **限电剥离信号**(curtailment-screen可用; 区别南墅/龙口无设定列)"
  42. "10min平均风速(m/s)": {canonical_id: WMET_horWdSpd, unit: m/s, valid_range: [0, 40], observed_range: [0, 30], self_ref_risk: high}
  43. "瞬时风速(m/s)": {canonical_id: WMET_horWdSpd_inst, unit: m/s, valid_range: [0, 45], observed_range: [0, 40]}
  44. "风轮转速(rpm)": {canonical_id: WROT_RotSpd, unit: rpm, valid_range: [-2, 22], observed_range: [0, 18]}
  45. "发电机转速(rpm)": {canonical_id: WGEN_Spd, unit: rpm, valid_range: [-2, 1700], observed_range: [0, 1542],
  46. semantic: "★高速轴~1400rpm(齿箱DFIG)"}
  47. # ---- 变桨 (★集距+per叶) ----
  48. "桨距角(°)": {canonical_id: WROT_PtchAngColl, unit: deg, valid_range: [-5, 95], observed_range: [0, 90], semantic: "集距(collective)"}
  49. "桨距角1(°)": {canonical_id: WROT_PtAngBlade1, unit: deg, valid_range: [-5, 95], observed_range: [0, 90], semantic: "★per叶独立 → 三叶不平衡可做"}
  50. "桨距角2(°)": {canonical_id: WROT_PtAngBlade2, unit: deg, valid_range: [-5, 95], observed_range: [0, 90]}
  51. "桨距角3(°)": {canonical_id: WROT_PtAngBlade3, unit: deg, valid_range: [-5, 95], observed_range: [0, 90]}
  52. "变桨液压油压力(bar)": {canonical_id: WHYD_PitchPress, unit: bar, valid_range: [-5, 200], observed_range: [0, 175]}
  53. # ---- 温度 (齿箱DFIG) ----
  54. "齿轮箱油温(℃)": {canonical_id: WTRM_TmpGbxOil, unit: degC, valid_range: [-40, 130], observed_range: [0, 57], semantic: "★温度NBM冷浸参照"}
  55. "齿轮箱入口油温(℃)": {canonical_id: WTRM_TmpGbxOilIn, unit: degC, valid_range: [-40, 130], observed_range: [0, 57]}
  56. "齿轮箱冷却水温度(℃)": {canonical_id: WTRM_TmpGbxCool, unit: degC, valid_range: [-40, 130], observed_range: [0, 60]}
  57. "低速轴承温度(℃)": {canonical_id: WTRM_TmpMainBrg, unit: degC, valid_range: [-40, 130], observed_range: [0, 70], semantic: "低速轴(主轴)轴承; 高/低速配对差"}
  58. "高速轴承温度(℃)": {canonical_id: WTRM_TmpGbxHSS, unit: degC, valid_range: [-40, 130], observed_range: [0, 69]}
  59. "高速轴刹车片温度(℃)": {canonical_id: WTRM_TmpBrakePad, unit: degC, valid_range: [-40, 200], observed_range: [-10, 70], trap: "min=-200哨兵(非刹车态); 发电态过滤"}
  60. "发电机定子U温度(℃)": {canonical_id: WGEN_TmpStaU, unit: degC, valid_range: [-40, 200], observed_range: [0, 113], semantic: "★定子三相U/V/W相间不平衡"}
  61. "发电机定子V温度(℃)": {canonical_id: WGEN_TmpStaV, unit: degC, valid_range: [-40, 200], observed_range: [0, 113]}
  62. "发电机定子W温度(℃)": {canonical_id: WGEN_TmpStaW, unit: degC, valid_range: [-40, 200], observed_range: [0, 113]}
  63. "发电机前轴承温度(℃)": {canonical_id: WGEN_TmpBrgFront, unit: degC, valid_range: [-40, 130], observed_range: [0, 90], semantic: "发电机前/后轴承配对差"}
  64. "发电机后轴承温度(℃)": {canonical_id: WGEN_TmpBrgRear, unit: degC, valid_range: [-40, 130], observed_range: [0, 90]}
  65. "舱内温度(℃)": {canonical_id: WNAC_IntTmp, unit: degC, valid_range: [-40, 80], observed_range: [-5, 55]}
  66. "舱外温度(℃)": {canonical_id: WNAC_ExtTmp, unit: degC, valid_range: [-50, 60], observed_range: [-11, 46], trap: "🟡cross-turbine同窗核前provisional"}
  67. "轮毂温度(℃)": {canonical_id: WROT_TmpHub, unit: degC, valid_range: [-40, 80], observed_range: [-10, 55]}
  68. # ---- 振动 ----
  69. "机舱X方向振动加速度(g)": {canonical_id: WNAC_VibX, unit: g, valid_range: [-2, 2], observed_range: [0, 0.3]}
  70. "机舱Y方向振动加速度(g)": {canonical_id: WNAC_VibY, unit: g, valid_range: [-2, 2], observed_range: [0, 0.3]}
  71. "机舱振动有效值(g)": {canonical_id: WNAC_VibRMS, unit: g, valid_range: [0, 2], observed_range: [0, 0.3]}
  72. # ---- 位置/风向 ----
  73. "机舱位置(°)": {canonical_id: WNAC_Dir, unit: deg, valid_range: [0, 360], observed_range: [0, 360], trap: "方位角[0,360)扇区可做; 非扭角"}
  74. "扭缆位置(°)": {canonical_id: WNAC_Dir_unwrapped, unit: deg, valid_range: [-900, 900], observed_range: [-687, 737],
  75. trap: "★**扭缆位置=unwrap电缆扭角**(明示; ±1.9转; cable_twist可做)"}
  76. "风向角(°)": {canonical_id: WYAW_YawErr, unit: deg, valid_range: [-360, 360], observed_range: [-270, 180],
  77. trap: "对风误差; range[-270,180]有wrap → 用前验(过pseudo-geo)"}
  78. cleaning:
  79. physical:
  80. - "有功功率负值=空转寄生真物理禁clip"
  81. - "valid_range界外→NaN; 温度0值=停机态(发电态过滤); 高速轴刹车片-200哨兵"
  82. semantic:
  83. - "★有功设定值=百分比(0-100%)非kW; <100%=限电标志(curtailment-screen可剥离)"
  84. - "风速self_ref+无测风塔 → 绝对达成率INSUFFICIENT"
  85. - "扭缆位置=扭角(cable_twist); 机舱位置=方位角(扇区)"
  86. derive:
  87. - "10min已是时均层(上海电气原生); py7zr解7z→concat"
  88. traps:
  89. - "★**上海电气W2500 2.5MW齿箱**: 库复用sewind_w2500(德惠146/135); rated2500(p99=2516)"
  90. - "★**有功设定值=百分比限电信号**(区别南墅/龙口无设定列) → curtailment-screen可剥离"
  91. - "★**扭缆位置=扭角[±690]** + 机舱位置=方位角(两列都有); per叶桨距+集距; 定子三相; 高/低速+发电机前后轴承; 机舱振动x/y"
  92. - "★技改假设: 上海电气A1-A20(2024-10~2025-12) vs 东方风电A1-A25(2025-11); 疑控制器技改20→25台待坐标坐实"
  93. - "叶轮变体待定(库146/135); 无测风塔→绝对达成率INSUFFICIENT"