dec_fd116a_2000_liangshuiquan.yaml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # 凉水泉 东方电气 FD116A 2.0MW ×18 (2101F-2109F/2201F-2209F) — 首个 schema_version:2 契约
  2. # G-OEM 实证: scripts/lsq_goem.py → outputs/liangshuiquan/sop/goem.json (2026-06-12)
  3. schema_version: 2
  4. meta:
  5. oem: 东方电气 DEC
  6. model: FD116A
  7. rated_kw: 2000
  8. n_turbines: 18
  9. farm: liangshuiquan
  10. site: 四川凉水泉
  11. contract_curve: 双密度 1.17(场站)/1.225(标准), 额定2000@9.5m/s (收资表)
  12. windows: {min_10min: "2025-05-27~2026-05 (~1年)", sec_1s: "2026-04-28~05-28 (~1月)"}
  13. turbine_sec:
  14. sampling_s: 1
  15. columns:
  16. 时间: {role: timestamp}
  17. 风机状态:
  18. role: state_enum
  19. observed_range: [0, 0] # 文本枚举, 占位
  20. enum_crosstab: "运行(P260/rpm718)/启动(P-4.3/ws2.2/rpm12.6=实为低风待机, 名实不符!)/待机(n少/rpm346=过渡)"
  21. 有功功率: {raw_unit: kW, to_canonical: 1, valid_range: [-60, 2300], observed_range: [-30, 2100], sentinel: []}
  22. 风速1s: {raw_unit: m/s, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 26], sentinel: []}
  23. 30s平均风速: {raw_unit: m/s, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 25], sentinel: []}
  24. 10m平均风速:
  25. raw_unit: m/s
  26. to_canonical: 1
  27. valid_range: [0, 60]
  28. observed_range: [0, 25]
  29. trap: "与风速1s corr≈1.00 — 非真10分钟平均嫌疑(D2), 勿当时均用; 真时均自行从1s派生"
  30. 即时1s原始风速: {raw_unit: m/s, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 26], trap: "≡风速1s (corr 1.00) 别名, 二选一"}
  31. 绝对风向:
  32. raw_unit: deg
  33. to_canonical: 1
  34. valid_range: [0, 360]
  35. observed_range: [0, 360]
  36. frame: "0-360全域; 地理 vs 机舱相对待与机舱位置(min层)联立验 — DEC frame病跨型第3验(DF121=地理/3.2MW=nacelle)"
  37. 当前理论可发最大功率:
  38. raw_unit: kW
  39. to_canonical: 1
  40. valid_range: [0, 2300]
  41. observed_range: [0, 2100]
  42. note: "OEM自算理论可发 — 限电/达成直接测量候选; 发电态P/理论中位0.797(单日实测), 语义=按风速理论功率(待全月验)"
  43. 发电机转速: {raw_unit: rpm, to_canonical: 1, valid_range: [0, 2200], observed_range: [0, 1900], sentinel: []}
  44. 低速轴转速: {raw_unit: rpm, to_canonical: 1, valid_range: [0, 25], observed_range: [0, 15], sentinel: []}
  45. 电网频率: {raw_unit: Hz, to_canonical: 1, valid_range: [45, 55], observed_range: [49, 51], sentinel: [0]}
  46. 电缆扭角: {raw_unit: deg, to_canonical: 1, valid_range: [-1200, 1200], observed_range: [-720, 720], sentinel: []}
  47. 齿轮箱油池温度: {raw_unit: C, to_canonical: 1, valid_range: [-40, 120], observed_range: [10, 75], sentinel: []}
  48. 发电机前轴承温度: {raw_unit: C, to_canonical: 1, valid_range: [-40, 150], observed_range: [10, 90], sentinel: []}
  49. 发电机后轴承温度: {raw_unit: C, to_canonical: 1, valid_range: [-40, 150], observed_range: [10, 90], sentinel: []}
  50. 主轴轴承1(前轴承)温度: {raw_unit: C, to_canonical: 1, valid_range: [-40, 120], observed_range: [5, 70], sentinel: []}
  51. 环境温度: {raw_unit: C, to_canonical: 1, valid_range: [-45, 55], observed_range: [-10, 40], sentinel: []}
  52. 可利用标示: {valid_range: [0, 1], observed_range: [0, 0], trap: "单日全0 — 死列或事件稀疏(#14), 跨台跨月验后定"}
  53. 功率曲线取样标志: {valid_range: [0, 1], observed_range: [0, 0], trap: "单日全0, 同上"}
  54. turbine_10min:
  55. sampling_s: 600
  56. columns:
  57. 时间: {role: timestamp}
  58. 有功功率平均值: {raw_unit: kW, to_canonical: 1, valid_range: [-60, 2300], observed_range: [-30, 2100], sentinel: []}
  59. 风速1s平均值: {raw_unit: m/s, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 26], sentinel: []}
  60. 绝对风向平均值: {raw_unit: deg, to_canonical: 1, valid_range: [0, 360], observed_range: [0, 360], trap: "环量均值病: 0/360跨越处均值无效"}
  61. 机舱位置平均值: {raw_unit: deg, to_canonical: 1, valid_range: [0, 360], observed_range: [0, 360], frame: "待验: 0-360 or 累积编码"}
  62. 实际桨角叶片1平均值: {raw_unit: deg, to_canonical: 1, valid_range: [-5, 95], observed_range: [-1, 90], trap: "per-blade三叶, 集距死待验(跨OEM n=6)"}
  63. 发电机转速平均值: {raw_unit: rpm, to_canonical: 1, valid_range: [0, 2200], observed_range: [0, 1900], sentinel: []}
  64. 低速轴转速平均值: {raw_unit: rpm, to_canonical: 1, valid_range: [0, 25], observed_range: [0, 15], sentinel: []}
  65. 累计应发电量平均值: {raw_unit: kWh, to_canonical: 1, valid_range: [0, 999999999], observed_range: [0, 99999999], trap: "累积计数器 — 华锐跳变病(#30)同类, 用前验单调性"}
  66. 环境温度平均值: {raw_unit: C, to_canonical: 1, valid_range: [-45, 55], observed_range: [-10, 40], sentinel: []}
  67. 首发故障码地址平均值: {valid_range: [0, 99999], observed_range: [0, 5000], trap: "266常值观察(单台) — 地址非故障码本体? 配116A故障手册解码"}
  68. cleaning:
  69. physical: "valid_range clip→NaN (apply_contract_gate); min层用'平均值'列族"
  70. semantic: "状态枚举中文直读但语义按cross-tab坐实('启动'=低风待机); 绝对风向环量统计用circular方法"
  71. traps:
  72. - "min层双行表头 (header=1), 74列=字段×(最大/平均/最小)"
  73. - "sec文件名双格式: '2026 5 N'(个位日)/'2026 4NN'(两位日)"
  74. - "测风塔收资表登记但数据未交付 → 绝对功率曲线无自由来流锚 (机舱风self_ref)"
  75. - "轴承别名病阴性 (全等率<1%, DEC FD116A 干净, 异3.2MW/DF121经验)"