| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- # 羊雄山 大唐云南 高原(~2000m+) 东方电气 DEC 1.5MW×33 (F001-F033; min层全33台有数据)
- # OEM=东方风电 DEC 主控C (loose sec CSV "F033(东方风电主控C)" 坐实); 齿驱DFIG (gen~1640rpm/rotor~13rpm, 齿比≈95)
- # rated=1500kW data-first: 瞬时功率-平均高风plateau p99≈1514-1516 (F010冬/F025秋) + sec F033有功max1505 三重印证 (疑2000已证伪)
- # G-OEM 实证: scratchpad/yxs/assemble.py 全197 xlsx装配 1,619,417行 → assemble_stats.json (2026-07-16)
- # 复用 DEC 语义参考 (dec_fd116a_*, dec_df121_2500_jinhuashan); 本场导出格式=单表头96列(-最大/-平均/-最小), 列名本场重验
- schema_version: 2
- meta:
- oem: 东方电气 DEC
- model: DEC-1500 (型号未标定; 主控C; 齿驱DFIG; rotor_d 未交付铭牌)
- rated_kw: 1500
- n_turbines: 33 # F001-F033 全机台表; min层33台全有数据(内部风机列坐实)
- n_with_data: 33
- farm: yangxiongshan
- site: 云南 大唐 高原(海拔~2000m+, 空密修正候选)
- topology: geared_DFIG # 发电机转速p999≈1784 + 主轴转速~13-18rpm → 齿驱双馈, 非直驱
- self_ref_risk: true # 风速=机舱风速计(实际风速/1#/2#风速传感器 均self_ref); 无测风塔交付 → 绝对达成率禁机舱风
- windows: {min_10min: "2024-01-01~2024-12-31 (全年)", sec_1s: "2024-01-01~2024-03-31 (Q1, 按需拉未清洗)"}
- reuse_of: [dec_fd116a_2000_liangshuiquan.yaml, dec_df121_2500_jinhuashan.yaml]
- turbine_10min: # onboarding 层 = min zip 内 per台per2月 xlsx (单表头header=0, 96列, dt=600s实证)
- sampling_s: 600
- machine_col: 风机 # 内部 F0NN, 权威id (解 "羊雄山125号"文件名typo=F025 / "26号...xlsx.xlsx"双扩展)
- required: [瞬时功率-平均, 实际风速-平均]
- columns:
- 时间: {role: timestamp}
- # 非信号列不入 columns 清洗映射 (machine_col:风机 已声明于上; 序号/__src=drop/provenance, gate 透传):
- # 风机(machine_id, F001-F033, 权威id源禁靠文件名) / 序号(行序号) / __src(源文件名GBK还原)
- "实际风速-最大": {valid_range: [0, 60], observed_range: [1.141, 23.141], sentinel: [], raw_minmax: [0.64, 35.3], note: "最大轴(freeze/variance用); base=实际风速"}
- "实际风速-平均": {valid_range: [0, 60], observed_range: [0.846, 19.857], sentinel: [], raw_minmax: [0.41, 29.79], canonical_id: WMET_wind_speed_nacelle, note: "机舱风速计 self_ref, 禁绝对Cp/达成率"}
- "实际风速-最小": {valid_range: [0, 60], observed_range: [0.65, 17.137], sentinel: [], raw_minmax: [0.0, 26.57], note: "最小轴(freeze/variance用); base=实际风速"}
- "总有功发电量-最大": {valid_range: [0, 1000000000.0], observed_range: [36863505.632, 70664825.472], sentinel: [], raw_minmax: [0.0, 70906408.0], note: "最大轴(freeze/variance用); base=总有功发电量"}
- "总有功发电量-平均": {valid_range: [0, 1000000000.0], observed_range: [36863480.297, 70664717.95], sentinel: [], raw_minmax: [0.0, 70906291.12], canonical_id: WMET_energy_active_total, note: "累积电量计数器(kWh); per台单调递增, 非区间量; 用前验单调"}
- "总有功发电量-最小": {valid_range: [0, 1000000000.0], observed_range: [36863455.968, 70664614.144], sentinel: [], raw_minmax: [0.0, 70906168.0], note: "最小轴(freeze/variance用); base=总有功发电量"}
- "桨叶角度A-最大": {valid_range: [-5, 95], observed_range: [-5, 92.26], sentinel: [], raw_minmax: [-91.8, 105.44], note: "最大轴(freeze/variance用); base=桨叶角度A"}
- "桨叶角度A-平均": {valid_range: [-5, 95], observed_range: [-5, 92.19], sentinel: [], raw_minmax: [-157.03, 100.0], canonical_id: WROT_pitch_angle_1, note: "独立三叶之A; 负garbage(min-157)→NaN; 三叶不平衡可用A/B/C"}
- "桨叶角度A-最小": {valid_range: [-5, 95], observed_range: [-5, 92.19], sentinel: [], raw_minmax: [-200.22, 100.0], note: "最小轴(freeze/variance用); base=桨叶角度A"}
- "桨叶角度B-最大": {valid_range: [-5, 95], observed_range: [-5, 92.11], sentinel: [], raw_minmax: [-106.69, 100.04], note: "最大轴(freeze/variance用); base=桨叶角度B"}
- "桨叶角度B-平均": {valid_range: [-5, 95], observed_range: [-5, 92.1], sentinel: [], raw_minmax: [-167.79, 92.43], canonical_id: WROT_pitch_angle_2, note: "独立三叶之B"}
- "桨叶角度B-最小": {valid_range: [-5, 95], observed_range: [-5, 92.1], sentinel: [], raw_minmax: [-220.61, 92.43], note: "最小轴(freeze/variance用); base=桨叶角度B"}
- "桨叶角度C-最大": {valid_range: [-5, 95], observed_range: [-5, 95], sentinel: [], raw_minmax: [-91.78, 98.05], note: "最大轴(freeze/variance用); base=桨叶角度C"}
- "桨叶角度C-平均": {valid_range: [-5, 95], observed_range: [-5, 95], sentinel: [], raw_minmax: [-159.36, 97.96], canonical_id: WROT_pitch_angle_3, note: "独立三叶之C"}
- "桨叶角度C-最小": {valid_range: [-5, 95], observed_range: [-5, 95], sentinel: [], raw_minmax: [-226.93, 97.96], note: "最小轴(freeze/variance用); base=桨叶角度C"}
- "机舱内温度-最大": {valid_range: [-40, 80], observed_range: [0.696, 40.656], sentinel: [], raw_minmax: [-2.4, 46.04], note: "最大轴(freeze/variance用); base=机舱内温度"}
- "机舱内温度-平均": {valid_range: [-40, 80], observed_range: [0.525, 39.779], sentinel: [], raw_minmax: [-2.61, 45.15], canonical_id: WNAC_temp_inner}
- "机舱内温度-最小": {valid_range: [-40, 80], observed_range: [0.35, 38.938], sentinel: [], raw_minmax: [-2.75, 43.93], note: "最小轴(freeze/variance用); base=机舱内温度"}
- "机舱外温度-最大": {valid_range: [-45, 55], observed_range: [-4.239, 30.024], sentinel: [], raw_minmax: [-50.0, 268.57], note: "最大轴(freeze/variance用); base=机舱外温度"}
- "机舱外温度-平均": {valid_range: [-45, 55], observed_range: [-21.752, 28.783], sentinel: [], raw_minmax: [-53.78, 132.67], canonical_id: WMET_ambient_temp, note: "环境温; garbage极值(max132)→NaN"}
- "机舱外温度-最小": {valid_range: [-45, 55], observed_range: [-45, 28.255], sentinel: [], raw_minmax: [-68.9, 92.42], note: "最小轴(freeze/variance用); base=机舱外温度"}
- "轮毂内温度-最大": {valid_range: [-40, 120], observed_range: [2.8, 30.8], sentinel: [], raw_minmax: [0.0, 180.6], note: "最大轴(freeze/variance用); base=轮毂内温度"}
- "轮毂内温度-平均": {valid_range: [-40, 120], observed_range: [2.329, 30.1], sentinel: [], raw_minmax: [0.0, 180.37], canonical_id: WHUB_temp_inner, note: "=轮毂温度(镜像); max180=传感故障→NaN"}
- "轮毂内温度-最小": {valid_range: [-40, 120], observed_range: [1.9, 29.5], sentinel: [], raw_minmax: [-59.0, 180.3], note: "最小轴(freeze/variance用); base=轮毂内温度"}
- "发电机定子绕组温度-最大": {valid_range: [-40, 180], observed_range: [3.204, 122.453], sentinel: [], raw_minmax: [1.3, 250.0], note: "最大轴(freeze/variance用); base=发电机定子绕组温度"}
- "发电机定子绕组温度-平均": {valid_range: [-40, 180], observed_range: [3.168, 121.369], sentinel: [], raw_minmax: [1.27, 133.09], canonical_id: WGEN_winding_temp, note: "F级155阈"}
- "发电机定子绕组温度-最小": {valid_range: [-40, 180], observed_range: [3.135, 120.405], sentinel: [], raw_minmax: [1.22, 132.84], note: "最小轴(freeze/variance用); base=发电机定子绕组温度"}
- "主轴承温度-最大": {valid_range: [-45, 120], observed_range: [2.433, 34.137], sentinel: [], raw_minmax: [-2.51, 266.73], note: "最大轴(freeze/variance用); base=主轴承温度"}
- "主轴承温度-平均": {valid_range: [-45, 120], observed_range: [2.381, 33.692], sentinel: [], raw_minmax: [-43.81, 43.64], canonical_id: WTRM_mainbrg_temp, note: "主轴承(脂润滑, 无油浴)"}
- "主轴承温度-最小": {valid_range: [-45, 120], observed_range: [2.337, 33.634], sentinel: [], raw_minmax: [-68.87, 35.76], note: "最小轴(freeze/variance用); base=主轴承温度"}
- "相对机舱风向-最大": {valid_range: [-180, 180], observed_range: [-152.231, 179.978], sentinel: [], raw_minmax: [-180.0, 180.0], note: "最大轴(freeze/variance用); base=相对机舱风向"}
- "相对机舱风向-平均": {valid_range: [-180, 180], observed_range: [-162.801, 156.598], sentinel: [], raw_minmax: [-180.0, 178.98], canonical_id: WYAW_yaw_error, note: "对风误差(机舱相对); 发电态中位≈0 对风良好"}
- "相对机舱风向-最小": {valid_range: [-180, 180], observed_range: [-179.992, 143.712], sentinel: [], raw_minmax: [-180.0, 177.9], note: "最小轴(freeze/variance用); base=相对机舱风向"}
- "主轴转速-最大": {valid_range: [0, 30], observed_range: [0.0, 20.737], sentinel: [], raw_minmax: [0.0, 31.98], note: "最大轴(freeze/variance用); base=主轴转速"}
- "主轴转速-平均": {valid_range: [0, 30], observed_range: [0.0, 18.906], sentinel: [], raw_minmax: [0.0, 24.12], canonical_id: WROT_rotor_speed, note: "=叶轮转速(镜像)"}
- "主轴转速-最小": {valid_range: [0, 30], observed_range: [0.0, 18.528], sentinel: [], raw_minmax: [0.0, 20.12], note: "最小轴(freeze/variance用); base=主轴转速"}
- "机舱角度-最大": {valid_range: [0, 360], observed_range: [0.0, 359.5], sentinel: [], raw_minmax: [0.0, 359.5], note: "最大轴(freeze/variance用); base=机舱角度"}
- "机舱角度-平均": {valid_range: [0, 360], observed_range: [0.0, 359.5], sentinel: [], raw_minmax: [0.0, 359.5], canonical_id: WYAW_nacelle_position, note: "机舱位置(地理); 对风=需与风向联立"}
- "机舱角度-最小": {valid_range: [0, 360], observed_range: [0.0, 359.5], sentinel: [], raw_minmax: [0.0, 359.5], note: "最小轴(freeze/variance用); base=机舱角度"}
- "叶轮转速-最大": {valid_range: [0, 30], observed_range: [0.0, 20.737], sentinel: [], raw_minmax: [0.0, 31.98], note: "最大轴(freeze/variance用); base=叶轮转速"}
- "叶轮转速-平均": {valid_range: [0, 30], observed_range: [0.0, 18.906], sentinel: [], raw_minmax: [0.0, 24.12], canonical_id: WROT_rotor_speed_2, note: "=主轴转速(镜像)"}
- "叶轮转速-最小": {valid_range: [0, 30], observed_range: [0.0, 18.528], sentinel: [], raw_minmax: [0.0, 20.12], note: "最小轴(freeze/variance用); base=叶轮转速"}
- "发电机转速-最大": {valid_range: [0, 2200], observed_range: [0.0, 1956.322], sentinel: [], raw_minmax: [0.0, 2672.97], note: "最大轴(freeze/variance用); base=发电机转速"}
- "发电机转速-平均": {valid_range: [0, 2200], observed_range: [0.0, 1784.019], sentinel: [], raw_minmax: [0.0, 1911.29], canonical_id: WGEN_speed, note: "DFIG齿驱~1640rpm; 齿比≈95"}
- "发电机转速-最小": {valid_range: [0, 2200], observed_range: [0.0, 1761.051], sentinel: [], raw_minmax: [0.0, 1911.29], note: "最小轴(freeze/variance用); base=发电机转速"}
- "机架振动传感器(横向)-最大": {valid_range: [-0.5, 5], observed_range: [0.0, 0.041], sentinel: [], raw_minmax: [0.0, 11.85], dead_turbines: 2, note: "最大轴(freeze/variance用); base=机架振动传感器(横向)"}
- "机架振动传感器(横向)-平均": {valid_range: [-0.5, 5], observed_range: [0.0, 0.019], sentinel: [], raw_minmax: [-2.25, 0.05], dead_turbines: 2, canonical_id: WNAC_vib_lateral, note: "机架振动横向; 负garbage→NaN; 2/33台死; variance/health only"}
- "机架振动传感器(横向)-最小": {valid_range: [-0.5, 5], observed_range: [0.0, 0.008], sentinel: [], raw_minmax: [-32.77, 0.04], dead_turbines: 3, note: "最小轴(freeze/variance用); base=机架振动传感器(横向)"}
- "机架振动传感器(纵向)-最大": {valid_range: [-0.5, 5], observed_range: [0.0, 0.034], sentinel: [], raw_minmax: [0.0, 11.94], dead_turbines: 1, note: "最大轴(freeze/variance用); base=机架振动传感器(纵向)"}
- "机架振动传感器(纵向)-平均": {valid_range: [-0.5, 5], observed_range: [0.0, 0.009], sentinel: [], raw_minmax: [-4.91, 0.04], dead_turbines: 1, canonical_id: WNAC_vib_fore_aft, note: "机架振动纵向(fore-aft); 1/33台死; variance/health only"}
- "机架振动传感器(纵向)-最小": {valid_range: [-0.5, 5], observed_range: [0.0, 0.002], sentinel: [], raw_minmax: [-32.77, 0.03], dead_turbines: 4, note: "最小轴(freeze/variance用); base=机架振动传感器(纵向)"}
- "总发电量-最大": {valid_range: [0, 1000000.0], observed_range: [36863.507, 70664.829], sentinel: [], raw_minmax: [0.0, 70906.41], note: "最大轴(freeze/variance用); base=总发电量"}
- "总发电量-平均": {valid_range: [0, 1000000.0], observed_range: [36863.481, 70664.721], sentinel: [], raw_minmax: [0.0, 70906.29], canonical_id: WMET_energy_total_mwh, note: "=总有功发电量/1000(MWh); 累积计数器"}
- "总发电量-最小": {valid_range: [0, 1000000.0], observed_range: [36863.457, 70664.618], sentinel: [], raw_minmax: [0.0, 70906.17], note: "最小轴(freeze/variance用); base=总发电量"}
- "机械式风向标风向-最大": {valid_range: [0, 360], observed_range: [0.0, 360.0], sentinel: [], raw_minmax: [0.0, 360.0], dead_turbines: 3, note: "最大轴(freeze/variance用); base=机械式风向标风向"}
- "机械式风向标风向-平均": {valid_range: [0, 360], observed_range: [0.0, 343.286], sentinel: [], raw_minmax: [0.0, 359.63], dead_turbines: 3, canonical_id: WMET_wind_dir_vane_mech, note: "机械风向标; 3/33台死(常值180); per台liveness闸"}
- "机械式风向标风向-最小": {valid_range: [0, 360], observed_range: [0.0, 313.506], sentinel: [], raw_minmax: [0.0, 359.63], dead_turbines: 3, note: "最小轴(freeze/variance用); base=机械式风向标风向"}
- "超声波风向标风向-最大": {valid_range: [0, 360], observed_range: [21.841, 360.0], sentinel: [], raw_minmax: [0.24, 360.0], note: "最大轴(freeze/variance用); base=超声波风向标风向"}
- "超声波风向标风向-平均": {valid_range: [0, 360], observed_range: [9.619, 350.44], sentinel: [], raw_minmax: [0.24, 359.98], canonical_id: WMET_wind_dir_vane_ultra, note: "超声波风向标; 全台活"}
- "超声波风向标风向-最小": {valid_range: [0, 360], observed_range: [0.0, 338.423], sentinel: [], raw_minmax: [0.0, 359.98], note: "最小轴(freeze/variance用); base=超声波风向标风向"}
- "齿轮箱轴承1温度-最大": {valid_range: [-40, 150], observed_range: [5.063, 84.767], sentinel: [], raw_minmax: [3.15, 250.0], note: "最大轴(freeze/variance用); base=齿轮箱轴承1温度"}
- "齿轮箱轴承1温度-平均": {valid_range: [-40, 150], observed_range: [5.018, 84.516], sentinel: [], raw_minmax: [3.13, 124.43], canonical_id: WGBX_brg1_temp}
- "齿轮箱轴承1温度-最小": {valid_range: [-40, 150], observed_range: [4.981, 84.294], sentinel: [], raw_minmax: [-58.85, 90.1], note: "最小轴(freeze/variance用); base=齿轮箱轴承1温度"}
- "齿轮箱轴承2温度-最大": {valid_range: [-40, 150], observed_range: [4.726, 84.156], sentinel: [], raw_minmax: [3.03, 263.28], note: "最大轴(freeze/variance用); base=齿轮箱轴承2温度"}
- "齿轮箱轴承2温度-平均": {valid_range: [-40, 150], observed_range: [4.691, 84.02], sentinel: [], raw_minmax: [2.96, 100.03], canonical_id: WGBX_brg2_temp}
- "齿轮箱轴承2温度-最小": {valid_range: [-40, 150], observed_range: [4.652, 83.893], sentinel: [], raw_minmax: [-50.0, 92.17], note: "最小轴(freeze/variance用); base=齿轮箱轴承2温度"}
- "齿轮箱油温度-最大": {valid_range: [-40, 120], observed_range: [4.618, 74.182], sentinel: [], raw_minmax: [3.6, 250.0], note: "最大轴(freeze/variance用); base=齿轮箱油温度"}
- "齿轮箱油温度-平均": {valid_range: [-40, 120], observed_range: [4.583, 74.049], sentinel: [], raw_minmax: [3.56, 78.52], canonical_id: WGBX_oil_temp, note: "齿箱油温; 冷浸参照候选(comp=齿箱轴承温时)"}
- "齿轮箱油温度-最小": {valid_range: [-40, 120], observed_range: [4.547, 73.921], sentinel: [], raw_minmax: [-50.0, 78.47], note: "最小轴(freeze/variance用); base=齿轮箱油温度"}
- "齿轮油入口温度-最大": {valid_range: [-40, 120], observed_range: [4.291, 60.739], sentinel: [], raw_minmax: [1.53, 250.0], note: "最大轴(freeze/variance用); base=齿轮油入口温度"}
- "齿轮油入口温度-平均": {valid_range: [-40, 120], observed_range: [4.247, 60.496], sentinel: [], raw_minmax: [1.48, 68.06], canonical_id: WGBX_oil_inlet_temp}
- "齿轮油入口温度-最小": {valid_range: [-40, 120], observed_range: [4.201, 60.304], sentinel: [], raw_minmax: [1.43, 67.88], note: "最小轴(freeze/variance用); base=齿轮油入口温度"}
- "发电机驱动端温度-最大": {valid_range: [-40, 150], observed_range: [2.216, 60.757], sentinel: [], raw_minmax: [-50.0, 250.0], note: "最大轴(freeze/variance用); base=发电机驱动端温度"}
- "发电机驱动端温度-平均": {valid_range: [-40, 150], observed_range: [2.167, 60.167], sentinel: [], raw_minmax: [-50.0, 162.99], canonical_id: WGEN_brg_de_temp, note: "发电机DE轴承; -50哨兵→NaN"}
- "发电机驱动端温度-最小": {valid_range: [-40, 150], observed_range: [2.051, 59.508], sentinel: [], raw_minmax: [-68.82, 93.26], note: "最小轴(freeze/variance用); base=发电机驱动端温度"}
- "发电机非驱动端温度-最大": {valid_range: [-40, 150], observed_range: [1.899, 83.932], sentinel: [], raw_minmax: [-2.87, 268.68], note: "最大轴(freeze/variance用); base=发电机非驱动端温度"}
- "发电机非驱动端温度-平均": {valid_range: [-40, 150], observed_range: [1.851, 83.627], sentinel: [], raw_minmax: [-2.9, 250.83], canonical_id: WGEN_brg_nde_temp, note: "发电机NDE轴承; garbage(max250)→NaN"}
- "发电机非驱动端温度-最小": {valid_range: [-40, 150], observed_range: [1.799, 83.334], sentinel: [], raw_minmax: [-68.58, 250.0], note: "最小轴(freeze/variance用); base=发电机非驱动端温度"}
- "1#风速传感器-最大": {valid_range: [0, 60], observed_range: [0.8, 26.273], sentinel: [], raw_minmax: [0.34, 41.77], note: "最大轴(freeze/variance用); base=1#风速传感器"}
- "1#风速传感器-平均": {valid_range: [0, 60], observed_range: [0.8, 19.993], sentinel: [], raw_minmax: [0.34, 29.84], canonical_id: WMET_anemometer_1, note: "机舱风速计1"}
- "1#风速传感器-最小": {valid_range: [0, 60], observed_range: [0.8, 14.904], sentinel: [], raw_minmax: [0.34, 23.92], note: "最小轴(freeze/variance用); base=1#风速传感器"}
- "2#风速传感器-最大": {valid_range: [0, 60], observed_range: [0.8, 27.551], sentinel: [], raw_minmax: [0.0, 44.3], note: "最大轴(freeze/variance用); base=2#风速传感器"}
- "2#风速传感器-平均": {valid_range: [0, 60], observed_range: [0.549, 19.924], sentinel: [], raw_minmax: [0.0, 27.23], canonical_id: WMET_anemometer_2, note: "机舱风速计2"}
- "2#风速传感器-最小": {valid_range: [0, 60], observed_range: [0.0, 14.417], sentinel: [], raw_minmax: [0.0, 23.92], note: "最小轴(freeze/variance用); base=2#风速传感器"}
- "轮毂温度-最大": {valid_range: [-40, 120], observed_range: [2.8, 30.8], sentinel: [], raw_minmax: [0.0, 180.6], note: "最大轴(freeze/variance用); base=轮毂温度"}
- "轮毂温度-平均": {valid_range: [-40, 120], observed_range: [2.33, 30.101], sentinel: [], raw_minmax: [0.0, 180.37], canonical_id: WHUB_temp, note: "=轮毂内温度(镜像)"}
- "轮毂温度-最小": {valid_range: [-40, 120], observed_range: [1.9, 29.5], sentinel: [], raw_minmax: [-58.8, 180.3], note: "最小轴(freeze/variance用); base=轮毂温度"}
- "无功功率-最大": {valid_range: [-200, 200], observed_range: [-9.6, 100.2], sentinel: [], raw_minmax: [-49.5, 1046.4], note: "最大轴(freeze/variance用); base=无功功率"}
- "无功功率-平均": {valid_range: [-200, 200], observed_range: [-34.335, 22.268], sentinel: [], raw_minmax: [-63.8, 50.4], canonical_id: WGRID_reactive_power}
- "无功功率-最小": {valid_range: [-200, 200], observed_range: [-113.7, 13.8], sentinel: [], raw_minmax: [-1813.5, 50.4], note: "最小轴(freeze/variance用); base=无功功率"}
- "瞬时功率-最大": {valid_range: [-100, 1700], observed_range: [0.0, 1633.5], sentinel: [], raw_minmax: [-24.3, 1862.7], note: "最大轴(freeze/variance用); base=瞬时功率"}
- "瞬时功率-平均": {valid_range: [-100, 1700], observed_range: [-12.599, 1531.977], sentinel: [], raw_minmax: [-31.87, 1562.4], canonical_id: WAPC_active_power, note: "有功功率(瞬时功率-平均=10min均有功); rated~1500; min层无字面有功功率列, 此列即有功"}
- "瞬时功率-最小": {valid_range: [-100, 1700], observed_range: [-58.5, 1489.8], sentinel: [], raw_minmax: [-1113.9, 1562.4], note: "最小轴(freeze/variance用); base=瞬时功率"}
- cleaning:
- physical: "valid_range 界外→NaN (apply_contract_gate, 非clamp); 桨叶角度负garbage(-157)/温度极值(轮毂180,机舱外132,发电机NDE250,DE -50)→NaN"
- semantic: "无状态码列(min层) → 限电/停机型判据须sec层设备主要状态 或 物理派生(P/频率/风速); 相对机舱风向=对风误差直读; 机舱角度=地理机舱位置"
- per_turbine_liveness: "机械式风向标风向(3/33死=常值180)/机架振动横纵(1-2/33死) 分析前必per台liveness闸(表头有列≠有活信号); 用超声波风向标风向为主风向"
- traps:
- - "缺失情况xlsx声称 #4/#9/#11/#12/#27/#31 10min缺有功功率测点 → data-first证伪: 全33台瞬时功率100%非nan(全年). min层无字面『有功功率列, 有功=瞬时功率; 有功功率字面列仅sec层有"
- - "文件名artifact: 『羊雄山125号风机9-10月=F025的9-10月(内部风机列坐实); 26号11-12月.xlsx.xlsx双扩展 → 必用内部风机列, 禁文件名parse-id"
- - "F033缺3-4月段(5/6段, 41586行); 余32台6段齐全; 总1,619,417行"
- - "总有功发电量/总发电量=累积计数器(kWh/MWh双标), per台单调; 派生发电量须diff, 非区间量"
- - "轮毂内温度≡轮毂温度, 主轴转速≡叶轮转速 (镜像dup列)"
- - "无测风塔交付 → 绝对功率曲线无自由来流锚(机舱风self_ref); 达成率须担保曲线+空密修正(高原~2000m)"
- - "min层无SCADA状态码/事件码列; sec层有设备主要状态(bitfield 327685=运行)+首发故障地址, 但事件代码表未交付"
|