csic_h111n_2000_feicheng_taoyuan.yaml 8.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # 数据契约 — 重庆海装 CSIC H111N-2.0MW (肥城桃园+安临站风电场, 华电山东; 50台"1.9MW"标注实质均2MW)
  2. # schema: docs/OEM_KB §3. 校验器: scripts/validate_contract.py. oem-onboard 2026-07-12 (肥城本部海装子集; 虎门上电W2000=feecheng契约另期)。
  3. # 权威: 肥城运行规程"48台H111N-2.0MW+2台H111N-1.9MW 由重庆海装风电设备有限公司制造"; 1.9=文字标注实质2MW(用户2026-07-12)。
  4. # CSIC家族: 语义参考 csic_h102n_2000_jishan (同OEM H系不同型); 齿轮箱DFIG + 6绕组温双绕组 + 主轴前后轴承温。
  5. # 数据: per台 <Tid>-YYYY-MM-10-600.xls (CDFV2真Excel), 列名 per台前缀 <Tid>_通道 (loader 去前缀); .mods=SCADA导出查询模板非数据。
  6. # 覆盖: 50台声称(A1-A21+B1-B29), 有10min数据~34台 (B13-B28 仅.mods无时序, B12数据异常); 无塔/无秒级/无CMS。
  7. schema_version: 2
  8. meta:
  9. oem: 重庆海装 CSIC
  10. model: H111N-2.0MW
  11. rated_kw: 2000
  12. n_turbines: 50
  13. n_with_data: 33
  14. farm: feicheng_taoyuan
  15. site: 山东肥城桃园+安临站 (华电山东肥城分公司, 一期连片)
  16. commissioned: 2015
  17. self_ref_risk: true # 风速=机舱风速计, 无测风塔 → 绝对达成率须担保曲线, 禁机舱风做绝对Cp
  18. topology: DFIG_geared
  19. reuse_of: csic_h102n_2000_jishan_p2_full.yaml # 同OEM(海装)H系语义参考; 列名不可套, 仅语义
  20. turbine_10min:
  21. sampling_s: 600
  22. columns:
  23. 采样时间: {role: timestamp}
  24. 环境温度: {canonical_id: WMET_ambient_temp, raw_unit: C, to_canonical: 1, valid_range: [-45, 55], observed_range: [-11.6, 38.6], sentinel: []}
  25. 机舱温度: {canonical_id: WNAC_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 85], observed_range: [0, 60], sentinel: []}
  26. 电网有功功率: {canonical_id: WAPC_active_power, raw_unit: kW, to_canonical: 1, valid_range: [-200, 2300], observed_range: [-23, 2153], sentinel: [], note: "并网点有功; 额定2MW(p99 1918/p99.9 2129); 主功率列"}
  27. 发电机有功功率: {canonical_id: WAPC_active_power_gen, raw_unit: kW, to_canonical: 1, valid_range: [-200, 2300], observed_range: [-24, 2151], sentinel: [], note: "发电机侧有功 (与电网有功近同, 别名验独立性勿当两路独立证据)"}
  28. 发电机转速: {canonical_id: WGEN_speed, raw_unit: rpm, to_canonical: 1, valid_range: [-50, 2000], observed_range: [0, 1842], sentinel: [], note: "高速侧DFIG med1060; 齿比≈发电机/风轮≈128"}
  29. 风轮转速: {canonical_id: WROT_rotor_speed, raw_unit: rpm, to_canonical: 1, valid_range: [0, 25], observed_range: [0, 14.4], sentinel: []}
  30. "1#叶片变桨角度": {canonical_id: WROT_pitch_angle_1, raw_unit: deg, to_canonical: 1, valid_range: [-5, 95], observed_range: [-116.8, 89.1], sentinel: [], trap: "独立变桨(三叶各一列); -116.8=稀疏corrupt(0.00%)由valid_range拦; 三叶不平衡须振动不可靠此列"}
  31. "2#叶片变桨角度": {canonical_id: WROT_pitch_angle_2, raw_unit: deg, to_canonical: 1, valid_range: [-5, 95], observed_range: [-111.7, 89], sentinel: []}
  32. "3#叶片变桨角度": {canonical_id: WROT_pitch_angle_3, raw_unit: deg, to_canonical: 1, valid_range: [-5, 95], observed_range: [-100, 89], sentinel: []}
  33. 瞬时风速: {canonical_id: WMET_wind_speed_inst, raw_unit: mps, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 40], sentinel: [], self_ref_risk: true, trap: "机舱风速计瞬时, self_ref 禁绝对Cp"}
  34. "10s平均风速": {canonical_id: WMET_wind_speed_10s, raw_unit: mps, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 40], sentinel: [], self_ref_risk: true}
  35. "60s平均风速": {canonical_id: WMET_wind_speed_60s, raw_unit: mps, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 40], sentinel: [], self_ref_risk: true}
  36. "10min平均风速": {canonical_id: WMET_wind_speed_nacelle, raw_unit: mps, to_canonical: 1, valid_range: [0, 60], observed_range: [0, 35], sentinel: [], self_ref_risk: true, note: "10min真时均, 性能模块主风速列"}
  37. 机舱方向: {canonical_id: WYAW_nacelle_position, raw_unit: deg, to_canonical: 1, valid_range: [0, 360], observed_range: [0, 360], sentinel: [], frame: "UNVERIFIED 机舱绝对方位待定"}
  38. 偏航方位角: {canonical_id: WYAW_cable_twist, raw_unit: deg, to_canonical: 1, valid_range: [-1300, 1300], observed_range: [-1165.7, 660.3], sentinel: [], note: "累积编码器值(解缆/扭缆代理), 非0-360地理; 勿直接相减对风"}
  39. 瞬时风向: {canonical_id: WMET_wind_direction, raw_unit: deg, to_canonical: 1, valid_range: [-180, 360], observed_range: [-180, 360], sentinel: [], frame: "UNVERIFIED 对风角vs地理待定; 名实须核"}
  40. "25s平均风向": {canonical_id: WMET_wind_direction_25s, raw_unit: deg, to_canonical: 1, valid_range: [-180, 360], observed_range: [-180, 360], sentinel: [], frame: UNVERIFIED}
  41. 齿轮箱油池温度: {canonical_id: WTRM_gbx_oil_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 120], observed_range: [0, 69], sentinel: [], note: "min0=停机floor非-273"}
  42. 齿轮箱高速轴前端温度: {canonical_id: WTRM_hss_bearing_temp_de, raw_unit: C, to_canonical: 1, valid_range: [-40, 120], observed_range: [0, 78], sentinel: []}
  43. 齿轮箱高速轴后端温度: {canonical_id: WTRM_hss_bearing_temp_nde, raw_unit: C, to_canonical: 1, valid_range: [-40, 120], observed_range: [0, 78], sentinel: []}
  44. 齿轮箱进口油温: {canonical_id: WTRM_gbx_oil_inlet_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 120], observed_range: [0, 66], sentinel: []}
  45. 齿轮箱冷却水温度: {canonical_id: WTRM_cooling_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 100], observed_range: [0, 64], sentinel: []}
  46. 发电机前轴承温度: {canonical_id: WGEN_de_bearing_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 150], observed_range: [0, 90], sentinel: []}
  47. 发电机后轴承温度: {canonical_id: WGEN_nde_bearing_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 150], observed_range: [0, 90], sentinel: []}
  48. 发电机绕组u1温度: {canonical_id: WGEN_stator_u1_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 180], observed_range: [0, 146], sentinel: [], note: "双绕组6路(u1/u2/v1/v2/w1/w2); F级155阈"}
  49. 发电机绕组u2温度: {canonical_id: WGEN_stator_u2_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 180], observed_range: [0, 146], sentinel: []}
  50. 发电机绕组v2温度: {canonical_id: WGEN_stator_v2_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 180], observed_range: [0, 146], sentinel: []}
  51. 发电机绕组v1温度: {canonical_id: WGEN_stator_v1_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 180], observed_range: [0, 146], sentinel: []}
  52. 发电机绕组w2温度: {canonical_id: WGEN_stator_w2_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 180], observed_range: [0, 146], sentinel: []}
  53. 发电机绕组w1温度: {canonical_id: WGEN_stator_w1_temp, raw_unit: C, to_canonical: 1, valid_range: [-40, 180], observed_range: [0, 146], sentinel: []}
  54. 主轴前轴承温度: {canonical_id: WTRM_main_bearing_temp_de, raw_unit: C, to_canonical: 1, valid_range: [-40, 100], observed_range: [0, 51], sentinel: []}
  55. 主轴后轴承温度: {canonical_id: WTRM_main_bearing_temp_nde, raw_unit: C, to_canonical: 1, valid_range: [-40, 100], observed_range: [0, 51], sentinel: []}
  56. 有功功率: {canonical_id: WAPC_active_power_alt, raw_unit: kW, to_canonical: 1, valid_range: [-200, 2300], observed_range: [-23, 2153], sentinel: [], note: "第三有功列(与电网/发电机有功近同)"}
  57. cleaning:
  58. physical: "valid_range clip→NaN (apply_contract_gate); 变桨 <-5 corrupt→NaN; 温度类 min0=停机floor保留(非哨兵)"
  59. semantic: "无状态码列于10min层(状态/事件/故障在'7、'单独数据); 偏航方位角=累积编码器勿相减; 机舱方向/风向 frame UNVERIFIED 对风分析前须定义"
  60. traps:
  61. - "列名 per台前缀 <Tid>_通道 (B02_环境温度) → loader 必去前缀再对契约; 各台文件独立"
  62. - "50台声称但 B13-B28(16台)仅.mods查询模板无10min时序; 有数据~34台 (n_with_data); B12标'数据异常'单列"
  63. - ".mods=海装SCADA导出查询模板(33 ItemID定义, XML/gb2312) 非数据本体; 真数据在 <Tid>-*.xls (CDFV2, file命令误报或size警告但xlrd可读)"
  64. - "三有功列(电网/发电机/有功功率)近同 → 别名验独立性, 勿当多路独立证据 (memory dec_3p2mw)"
  65. - "1.9MW标注(2台)实质2MW(用户2026-07-12); 全场H111N 2MW均质, fleet-relative无需按1.9/2.0分组"
  66. - "A系列另有60s(1min)层+2024-10文件; 本契约管10min(600s), 1min另议"
  67. - "无测风塔 → 机舱风self_ref, 绝对功率曲线/达成率 INSUFFICIENT (走担保曲线)"