# 数据契约 — 商都风电场 (内蒙古, 国网) — OEM未定 2.0MW级 齿驱DFIG, 13台(1-11,13,19号) # OEM=未定 (禁猜): 控制器标签 C11_5, 通道命名指纹 (C11_5/.Glo.Con.Cab[].GscIgbTemMax / LscIgbTemMax / # WatCooPlaTem / .Glo.Gen.Wnd001/002TemU/V/W (双三相绕组) / .Glo.Gea.RotBeaTemMax / GscEncMnt) 混 # GBK中文列 (风速/风向/桨叶角度/齿轮箱油温...) → 未匹配库内任一已知OEM指纹。onboard推断勿当定谳, # 出实名报告前须业主铭牌确认 (memory oem-id-channel-naming-fingerprint)。 # rated=2000kW data-first: 电网有功功率 T1全年 p99=2000.1 / plateau ~2000 / max2050-2211=瞬时boost(+5~10%); # 10分钟发电量 max342kWh ≈ 2050×(1/6)h 自洽; 齿比≈102 (发电机速度p99≈1600rpm / 转速p99≈15.7rpm) → geared DFIG。 # G-OEM 实证 (2026-07-17, scratchpad/{shangdu_loader,assemble,colstats}; 13台×364日转置xlsx全跑): # 格式=TRANSPOSED (行=信号120, 列=144个10-min时段, 末列Source name=信号源路径非台号); 装配须转置。 # 真采样率=600s (每列=10-min时段, 转置后 t.diff=600 by construction + 各文件本地锚一致; 禁全局median)。 # 时间: 本地(UTC+8) = UTC列+8h; 装配用 登录时间(当地) 锚定日期 + 时段起始 → time_local (区间起)。 # 台号: zip/文件夹号 (内部无台名列, 仅Source name=信号路径) → id=zip号 (1-11,13,19; 缺12,14-18)。 # 哨兵: -9999 (发电机轴承DE/NDE) + -274.15 (abs-zero style, 绕组/冷却水/齿箱油温族/机舱柜/加热器等温度族); # 机舱位置负值(-700)=真累积编码器非哨兵 → 无温度哨兵。 # self_ref: 风速=机舱风速计 → 绝对功率曲线/Cp/达成率 INSUFFICIENT (无测风塔)。 # 风向名实: 风向=机舱相对对风误差(±180); 风向/北≡wrap(机舱位置+风向) 94.5%<0.5° = 派生地理非独立传感器 # (memory pseudo-geo-wind-direction-identity-test)。 schema_version: 2 meta: oem: "未定 (控制器标签 C11_5; 通道指纹不匹配库内已知场; 待铭牌/业主确认)" model: "未定 2.0MW级 (齿驱DFIG; 双三相绕组 Wnd001/002; GSC/LSC变频器; 齿比≈102)" rated_kw: 2000 rated_note: "data-first: 有功p99=2000/plateau2000/max2211瞬时boost; 发电量max342≈2050×1/6自洽; 铭牌型号未交付 UNVERIFIED" n_turbines: 13 n_with_data: 13 farm: shangdu site: 内蒙古 商都 (国网) topology: geared_DFIG owner: UNVERIFIED (国网; 铭牌未交付) self_ref_risk: true windows: turbine_10min: "2023-01-01~2023-12-31 (全年10-min; T1 364日52074行; 全台306-365日; T8含1日2024-02-23 spillover)" turbine_10min: sampling_s: 600 machine_col: turbine_id required: ["电网有功功率 - 平均值 [千瓦]", "风速 - 平均值 [米/秒]"] columns: time_local: {role: timestamp, canonical_id: TIME_local, note: "本地时(UTC+8)区间起; 装配自 登录时间(当地)锚+时段起始"} "10分钟发电量 - 总计 [千瓦时]": {valid_range: [-20, 400], observed_range: [-1.5, 342.24], sentinel: [], canonical_id: WAPC_energy_10min, note: "区间量(kWh/10min), data-first: E×6/P=1.0000精确 → =有功平均×1/6h, 非累计counter"} "10分钟消耗电量 - 总计 [千瓦时]": {valid_range: [0, 60], observed_range: [0.19, 7.7], sentinel: [], canonical_id: WAPC_energy_consumed_10min, note: "区间自耗电量"} "C11_5/.Glo.CabCon.Cab[2].CabTem001 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [6.0, 59.31], sentinel: [], canonical_id: WCNV_cabinet_temp_1} "C11_5/.Glo.CabCon.Cab[2].CabTem002 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [5.11, 55.0], sentinel: [], canonical_id: WCNV_cabinet_temp_2} "C11_5/.Glo.Con.Cab[1].GscIgbTemMax - 平均值 [摄氏度]": {valid_range: [-45, 180], observed_range: [0.0, 167.0], sentinel: [], canonical_id: WCNV_gsc_igbt_temp_1, note: "网侧变频器IGBT温 ⑦轴 (Cab1); 变频器internal analog"} "C11_5/.Glo.Con.Cab[1].LscIgbTemMax - 平均值 [摄氏度]": {valid_range: [-45, 180], observed_range: [0.0, 167.0], sentinel: [], canonical_id: WCNV_lsc_igbt_temp_1, note: "机侧/线侧变频器IGBT温 (Cab1)"} "C11_5/.Glo.Con.Cab[1].WatCooPlaTem - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [0.0, 53.74], sentinel: [], canonical_id: WCNV_water_plate_temp_1, note: "变频器水冷板温 (Cab1)"} "C11_5/.Glo.Con.Cab[2].GscIgbTemMax - 平均值 [摄氏度]": {valid_range: [-45, 180], observed_range: [14.18, 153.44], sentinel: [], canonical_id: WCNV_gsc_igbt_temp_2, note: "网侧IGBT (Cab2)"} "C11_5/.Glo.Con.Cab[2].LscIgbTemMax - 平均值 [摄氏度]": {valid_range: [-45, 180], observed_range: [14.32, 167.0], sentinel: [], canonical_id: WCNV_lsc_igbt_temp_2, note: "机侧IGBT (Cab2)"} "C11_5/.Glo.Con.Cab[2].WatCooPlaTem - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [10.0, 54.01], sentinel: [], canonical_id: WCNV_water_plate_temp_2} "C11_5/.Glo.Gen.Wnd001TemU00Max - 平均值 [摄氏度]": {valid_range: [-45, 200], observed_range: [11.69, 394.09], sentinel: [-274.15], canonical_id: WGEN_winding1_u, note: "双三相绕组1 U相; F级155℃阈; max394=spike已界外NaN"} "C11_5/.Glo.Gen.Wnd001TemV00Max - 平均值 [摄氏度]": {valid_range: [-45, 200], observed_range: [10.57, 129.15], sentinel: [-274.15], canonical_id: WGEN_winding1_v} "C11_5/.Glo.Gen.Wnd001TemW00Max - 平均值 [摄氏度]": {valid_range: [-45, 200], observed_range: [11.76, 143.34], sentinel: [-274.15], canonical_id: WGEN_winding1_w} "C11_5/.Glo.Gen.Wnd002TemU00Max - 平均值 [摄氏度]": {valid_range: [-45, 200], observed_range: [11.15, 134.5], sentinel: [-274.15], canonical_id: WGEN_winding2_u, note: "双三相绕组2 U相"} "C11_5/.Glo.Gen.Wnd002TemV00Max - 平均值 [摄氏度]": {valid_range: [-45, 200], observed_range: [10.02, 132.44], sentinel: [-274.15], canonical_id: WGEN_winding2_v} "C11_5/.Glo.Gen.Wnd002TemW00Max - 平均值 [摄氏度]": {valid_range: [-45, 200], observed_range: [10.81, 145.06], sentinel: [-274.15], canonical_id: WGEN_winding2_w} "PLC之前慢速状态 - 最大": {role: status, observed_range: [0.0, 15.0], sentinel: [], canonical_id: WSHD_PLC之前慢速状态} "PLC之前慢速状态 - 最小": {role: status, observed_range: [0.0, 13.0], sentinel: [], canonical_id: WSHD_PLC之前慢速状态} "PLC状态 - 最大": {role: status, observed_range: [0.0, 15.0], sentinel: [], canonical_id: WSHD_PLC状态} "PLC状态 - 最小": {role: status, observed_range: [0.0, 13.0], sentinel: [], canonical_id: WSHD_PLC状态} "偏航变频器功率 - 平均值 [千瓦]": {valid_range: [-1, 40], observed_range: [0.0, 12.61], sentinel: [], canonical_id: WYAW_converter_power} "偏航变频器功率 - 最大 [千瓦]": {valid_range: [-1, 40], observed_range: [0.0, 18.5], sentinel: [], canonical_id: WYAW_converter_power_max} "功率曲线有效性 - 最大": {role: status, observed_range: [0.0, 3.0], sentinel: [], canonical_id: WSHD_功率曲线有效性} "功率曲线有效性 - 最小": {role: status, observed_range: [0.0, 3.0], sentinel: [], canonical_id: WSHD_功率曲线有效性} "动态安全链状态 - 最大": {role: status, observed_range: [1.0, 14.0], sentinel: [], canonical_id: WSHD_动态安全链状态} "动态安全链状态 - 最小": {role: status, observed_range: [1.0, 14.0], sentinel: [], canonical_id: WSHD_动态安全链状态} "发电机冷却水入口温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-10.61, 59.05], sentinel: [-274.15], canonical_id: WGEN_coolant_inlet_temp, note: "发电机冷却水入口=发电机轴承热汇"} "发电机冷却水入口温度 - 最大 [摄氏度]": {valid_range: [-45, 120], observed_range: [-10.27, 365.61], sentinel: [-274.15], canonical_id: WGEN_coolant_inlet_temp_max} "发电机扼流圈温度 - 平均值 [摄氏度]": {valid_range: [-45, 180], observed_range: [0.0, 126.23], sentinel: [], canonical_id: WGEN_choke_temp_1, note: "发电机扼流圈(重名双通道之1)"} "发电机扼流圈温度 - 平均值 [摄氏度]#dup1": {valid_range: [-45, 180], observed_range: [0.0, 140.42], sentinel: [], canonical_id: WGEN_choke_temp_2, note: "重名双通道之2 (装配去重加#dup1)"} "发电机轴承非驱动端温度 - 平均值 [摄氏度]": {valid_range: [-45, 150], observed_range: [7.91, 94.8], sentinel: [-9999], canonical_id: WGEN_brg_nde_temp, note: "fleet基线 NDE>DE (p99 78 vs 55); 反对称必过 swap-test (memory scada-residual-claim-discipline)"} "发电机轴承驱动端温度 - 平均值 [摄氏度]": {valid_range: [-45, 150], observed_range: [5.87, 92.05], sentinel: [-9999], canonical_id: WGEN_brg_de_temp, note: "热汇=发电机冷却系统; 冷浸参照勿配; NBM"} "发电机速度 - 平均值 [转/分]": {valid_range: [-100, 2000], observed_range: [-1.28, 1601.28], sentinel: [-274.15], canonical_id: WGEN_speed, note: "DFIG齿驱; p99≈1600rpm; 齿比≈102 vs 转速"} "发电机速度 - 最大 [转/分]": {valid_range: [-100, 2000], observed_range: [0.0, 1798.5], sentinel: [], canonical_id: WGEN_speed_max} "发电机速度 - 最小 [转/分]": {valid_range: [-100, 2000], observed_range: [-28.0, 1597.5], sentinel: [], canonical_id: WGEN_speed_min} "变频器状态 - 最大": {role: status, observed_range: [1.0, 500.0], sentinel: [], canonical_id: WSHD_变频器状态} "变频器状态 - 最小": {role: status, observed_range: [1.0, 20.0], sentinel: [], canonical_id: WSHD_变频器状态} "叶片1变频器内部温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-2.82, 72.99], sentinel: [], canonical_id: WROT_blade_converter_temp_1, note: "真3叶执行器热(每叶独立变频器)"} "叶片2变频器内部温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-2.59, 72.42], sentinel: [], canonical_id: WROT_blade_converter_temp_2} "叶片3变频器内部温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-2.11, 71.35], sentinel: [], canonical_id: WROT_blade_converter_temp_3} "塔筒温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-6.94, 40.24], sentinel: [], canonical_id: WTWR_tower_temp} "安全链状态 - 最大": {role: status, observed_range: [1.0, 14.0], sentinel: [], canonical_id: WSHD_安全链状态} "安全链状态 - 最小": {role: status, observed_range: [1.0, 14.0], sentinel: [], canonical_id: WSHD_安全链状态} "机舱位置 - 平均值": {frame: accumulated_encoder, valid_range: [-720, 720], observed_range: [156.73, 700.51], sentinel: [], canonical_id: WYAW_nacelle_position_accum, note: "累积偏航编码器(±700, 非地理0-360方位); 解缆量, 勿当bearing算对中; 无温度哨兵(负值真)"} "机舱位置偏差 - 平均值 [度]": {frame: nacelle_relative, valid_range: [-180, 180], observed_range: [-118.98, 177.04], sentinel: [], canonical_id: WYAW_position_deviation, note: "对风误差(±180); ≈风向 corr0.99"} "机舱柜1温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-1.1, 45.06], sentinel: [-274.15], canonical_id: WNAC_cabinet1_temp, note: "机舱柜2温度 fleet全死(未映射)"} "机舱温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-2.66, 46.71], sentinel: [-274.15], canonical_id: WNAC_temp} "桨叶1角度 - 平均值 [度]": {valid_range: [-15, 95], observed_range: [-0.01, 91.5], sentinel: [], canonical_id: WROT_pitch_angle_1, note: "3叶片传感器但集距控制(collective): below-rated发电态3叶极差p95=0.04°<1° → 非IPC; 每叶独立变频器温=3物理驱动"} "桨叶1角度 - 最小 [度]": {valid_range: [-15, 95], observed_range: [-0.02, 91.44], sentinel: [], canonical_id: WROT_pitch_min_1} "桨叶2角度 - 平均值 [度]": {valid_range: [-15, 95], observed_range: [-0.01, 91.1], sentinel: [], canonical_id: WROT_pitch_angle_2} "桨叶2角度 - 最小 [度]": {valid_range: [-15, 95], observed_range: [-0.02, 91.1], sentinel: [], canonical_id: WROT_pitch_min_2} "桨叶3角度 - 平均值 [度]": {valid_range: [-15, 95], observed_range: [-0.01, 91.55], sentinel: [], canonical_id: WROT_pitch_angle_3} "桨叶3角度 - 最小 [度]": {valid_range: [-15, 95], observed_range: [-0.02, 91.55], sentinel: [], canonical_id: WROT_pitch_min_3} "油泵压力 - 平均值 [巴]": {valid_range: [-8, 16], observed_range: [0.14, 13.41], sentinel: [], canonical_id: WPMP_oil_pressure, note: "-6.25=传感器噪声地板, 界宽保留"} "环境温度 - 平均值 [摄氏度]": {valid_range: [-50, 55], observed_range: [-24.44, 46.5], sentinel: [], canonical_id: WMET_ambient_temp, note: "反-环温调节故障判据用 (fleet-median环温轴, SOP §4.6c)"} "电池1状态 - 最大": {role: status, observed_range: [4.0, 4.0], sentinel: [], canonical_id: WSHD_电池1状态} "电池1状态 - 最小": {role: status, observed_range: [1.0, 4.0], sentinel: [], canonical_id: WSHD_电池1状态} "电池1电压 - 平均值 [伏]": {valid_range: [0, 450], observed_range: [389.36, 418.81], sentinel: [], canonical_id: WELE_battery_voltage_1, note: "0=系统off读数"} "电池2状态 - 最大": {role: status, observed_range: [4.0, 4.0], sentinel: [], canonical_id: WSHD_电池2状态} "电池2状态 - 最小": {role: status, observed_range: [1.0, 4.0], sentinel: [], canonical_id: WSHD_电池2状态} "电池2电压 - 平均值 [伏]": {valid_range: [0, 450], observed_range: [389.39, 422.41], sentinel: [], canonical_id: WELE_battery_voltage_2} "电池3状态 - 最大": {role: status, observed_range: [4.0, 4.0], sentinel: [], canonical_id: WSHD_电池3状态} "电池3状态 - 最小": {role: status, observed_range: [1.0, 4.0], sentinel: [], canonical_id: WSHD_电池3状态} "电池3电压 - 平均值 [伏]": {valid_range: [0, 450], observed_range: [388.13, 421.06], sentinel: [], canonical_id: WELE_battery_voltage_3} "电网无功功率 - 平均值 [千乏]": {valid_range: [-700, 2300], observed_range: [-8.88, 964.75], sentinel: [], canonical_id: WGRID_reactive_power, note: "园区AVC调度量; fleet-relative离群封顶【参考】 (memory reactive-attribution)"} "电网无功功率 - 最大 [千乏]": {valid_range: [-700, 2300], observed_range: [0.0, 2088.28], sentinel: [], canonical_id: WGRID_reactive_power_max} "电网无功功率 - 最小 [千乏]": {valid_range: [-700, 2300], observed_range: [-34.94, 925.27], sentinel: [], canonical_id: WGRID_reactive_power_min} "电网有功功率 - 平均值 [千瓦]": {valid_range: [-200, 2400], observed_range: [-9.02, 2051.69], sentinel: [], canonical_id: WAPC_active_power, note: "rated源: p99=2033/plateau2000/max2211瞬时boost; 负值=idle自耗真值"} "电网有功功率 - 最大 [千瓦]": {valid_range: [-200, 2400], observed_range: [0.0, 2211.55], sentinel: [], canonical_id: WAPC_active_power_max} "电网有功功率 - 最小 [千瓦]": {valid_range: [-600, 2400], observed_range: [-38.89, 2038.4], sentinel: [], canonical_id: WAPC_active_power_min, note: "min列-1447=10min内瞬时电动/坏点, 界宽松"} "网侧扼流圈温度 - 平均值 [摄氏度]": {valid_range: [-45, 180], observed_range: [0.0, 103.56], sentinel: [], canonical_id: WGRID_choke_temp_1, note: "网侧扼流圈(重名双通道之1)"} "网侧扼流圈温度 - 平均值 [摄氏度]#dup1": {valid_range: [-45, 180], observed_range: [4.0, 145.0], sentinel: [], canonical_id: WGRID_choke_temp_2, note: "重名双通道之2"} "转速 - 平均值 [转/分]": {valid_range: [-15, 25], observed_range: [-0.0, 15.72], sentinel: [], canonical_id: WROT_rotor_speed, note: "低速轴转子rpm; p99≈15.7"} "转速 - 最大 [转/分]": {valid_range: [-15, 25], observed_range: [0.0, 17.59], sentinel: [], canonical_id: WROT_rotor_speed_max} "转速 - 最小 [转/分]": {valid_range: [-15, 25], observed_range: [-0.09, 15.67], sentinel: [], canonical_id: WROT_rotor_speed_min} "轮毂柜1温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-9.36, 148.04], sentinel: [], canonical_id: WHUB_cabinet_temp_1, note: "max148 outlier已界外NaN"} "轮毂柜2温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-9.73, 55.39], sentinel: [], canonical_id: WHUB_cabinet_temp_2} "轮毂柜3温度 - 平均值 [摄氏度]": {valid_range: [-45, 120], observed_range: [-8.06, 43.23], sentinel: [], canonical_id: WHUB_cabinet_temp_3} "非驱动方向(P2P) - 平均值 [米/秒²]": {valid_range: [0, 60], observed_range: [0.01, 1.9], sentinel: [], canonical_id: WNAC_vib_nondrive_p2p} "非驱动方向(P2P) - 最大 [米/秒²]": {valid_range: [0, 60], observed_range: [0.01, 33.35], sentinel: [], canonical_id: WNAC_vib_nondrive_p2p_max} "非驱动方向(P2P) - 最小 [米/秒²]": {valid_range: [0, 60], observed_range: [0.0, 0.41], sentinel: [], canonical_id: WNAC_vib_nondrive_p2p_min} "风向 - 平均值 [度]": {frame: nacelle_relative, valid_range: [-180, 180], observed_range: [-119.98, 177.44], sentinel: [], canonical_id: WYAW_yaw_error, note: "机舱相对对风误差(±180, 0=对风); 发电态中位≈0; corr0.99 vs 机舱位置偏差"} "风向/北 - 平均值 [度]": {frame: geographic_derived, valid_range: [0, 360], observed_range: [15.64, 358.03], sentinel: [], self_ref_risk: true, canonical_id: WMET_wind_dir_geo_derived, note: "恒等式 风向/北≡wrap(机舱位置+vane风向) 94.5%<0.5°/median|resid|0.004° → 派生非独立地理传感器; 作绝对锚对yaw编码器循环 (memory pseudo-geo-wind-direction-identity-test)"} "风测量有效性 - 最大": {role: status, observed_range: [1.0, 1.0], sentinel: [], canonical_id: WSHD_风测量有效性} "风测量有效性 - 最小": {role: status, observed_range: [1.0, 1.0], sentinel: [], canonical_id: WSHD_风测量有效性} "风速 - 平均值 [米/秒]": {valid_range: [0, 60], observed_range: [0.64, 28.44], sentinel: [], self_ref_risk: true, canonical_id: WMET_wind_speed_nacelle, note: "机舱风速计 self_ref; 绝对功率曲线/Cp/达成率 INSUFFICIENT (无测风塔)"} "风速 - 最大 [米/秒]": {valid_range: [0, 60], observed_range: [1.23, 36.1], sentinel: [], canonical_id: WMET_wind_speed_max} "风速 - 最小 [米/秒]": {valid_range: [0, 60], observed_range: [0.04, 21.22], sentinel: [], canonical_id: WMET_wind_speed_min} "风速湍流 - 平均值 [米/秒]": {valid_range: [0, 20], observed_range: [0.14, 13.65], sentinel: [], canonical_id: WMET_wind_ti, note: "湍流强度代理"} "驱动方向(P2P) - 平均值 [米/秒²]": {valid_range: [0, 60], observed_range: [0.01, 1.62], sentinel: [], canonical_id: WNAC_vib_drive_p2p, note: "振动统计用median非mean(单corrupt块污染)"} "驱动方向(P2P) - 最大 [米/秒²]": {valid_range: [0, 60], observed_range: [0.01, 30.98], sentinel: [], canonical_id: WNAC_vib_drive_p2p_max} "驱动方向(P2P) - 最小 [米/秒²]": {valid_range: [0, 60], observed_range: [0.0, 0.4], sentinel: [], canonical_id: WNAC_vib_drive_p2p_min} "齿轮油加热器温度 - 平均值 [摄氏度]": {valid_range: [-45, 150], observed_range: [-16.68, 96.66], sentinel: [-274.15], canonical_id: WGBX_oil_heater_temp, note: "齿箱油加热器→温控卡死判据(加热器卡ON=反环温, memory thermal-regulation-stuck-family)"} "齿轮油加热器温度 - 最大 [摄氏度]": {valid_range: [-45, 150], observed_range: [-16.65, 97.99], sentinel: [-274.15], canonical_id: WGBX_oil_heater_temp_max} "齿轮箱入口油压 - 平均值 [巴]": {valid_range: [-8, 16], observed_range: [-0.19, 5.53], sentinel: [], canonical_id: WGBX_oil_inlet_pressure, note: "-4=噪声地板"} "齿轮箱入口油温 - 平均值 [摄氏度]": {valid_range: [-45, 150], observed_range: [14.64, 300.08], sentinel: [-274.15], canonical_id: WGBX_oil_inlet_temp} "齿轮箱入口油温 - 最大 [摄氏度]": {valid_range: [-45, 150], observed_range: [15.21, 393.99], sentinel: [-274.15], canonical_id: WGBX_oil_inlet_temp_max} "齿轮箱油温 - 平均值 [摄氏度]": {valid_range: [-45, 150], observed_range: [13.3, 72.82], sentinel: [-274.15], canonical_id: WGBX_oil_temp, note: "齿箱油温; 冷浸参照候选(comp=齿箱轴承温时, cold_soak_ref_col)"} "齿轮箱油温 - 最大 [摄氏度]": {valid_range: [-45, 150], observed_range: [13.66, 73.08], sentinel: [-274.15], canonical_id: WGBX_oil_temp_max} "齿轮箱轴承温度3 - 平均值 [摄氏度]": {valid_range: [-45, 150], observed_range: [13.15, 82.53], sentinel: [-274.15], canonical_id: WGBX_bearing_temp3, note: "RotBeaTemMax齿箱转子轴承已fleet全死(未映射); 本列=齿箱轴承温3"} "齿轮箱轴承温度3 - 最大 [摄氏度]": {valid_range: [-45, 150], observed_range: [13.41, 82.58], sentinel: [-274.15], canonical_id: WGBX_bearing_temp3_max} cleaning: physical: "valid_range 界外→NaN (apply_contract_gate, 非clamp); 哨兵 -9999(发电机轴承DE/NDE) + -274.15(abs-zero温度族)→NaN; 机舱位置累积编码器界宽±720勿误NaN(负值真非哨兵)" semantic: "对风误差=风向(机舱相对±180)直读; 风向/北=派生地理(≡机舱位置+风向)勿当独立锚; 状态列(PLC/安全链/变频器/电池/有效性)=离散枚举 role:status 数值勿平均, 事件解码表未交付; 10分钟发电量=区间量非累计counter; 振动P2P统计用median非mean" per_turbine_liveness: "分析前必per台liveness闸 (表头有列≠有活信号, memory channel-header-not-liveness); fleet全死未映射列见traps; 部分列idle零(桨叶/振动/无功) nz<100%非死" traps: - "OEM未定: 控制器C11_5指纹不匹配库内任一已知场; 勿据onboard推断当定谳; 实名报告前须业主铭牌确认 (rated2000/owner国网 亦 UNVERIFIED)" - "TRANSPOSED格式: 源xlsx 行=信号列=10min时段(末列Source name=信号路径非台号); 装配转置见 scratchpad/shangdu_loader.py; 内部无台名列→id=zip号" - "派生地理列陷阱: 风向/北 ≡ wrap(机舱位置+风向) 94.5%<0.5°/median0.004° → 非独立地理传感器, 作扇区/风玫瑰/绝对偏航锚对yaw编码器循环; 对风用 风向(机舱相对) 或 机舱位置偏差(corr0.99)" - "机舱位置=累积偏航编码器(±700, 非地理0-360方位); 解缆量勿当bearing算对中; 不套温度哨兵" - "重名双通道(装配去重#dup1): 发电机扼流圈温度×2 / 网侧扼流圈温度×2 → 两物理通道非别名, 但用前比值核独立性 (memory near_equal_columns)" - "变桨=集距控制(collective)非IPC: below-rated发电态 桨叶1/2/3极差p95=0.04°<1° (3叶片传感器齐动); 每叶独立变频器内部温=3物理驱动但集距同步; 勿据3列当独立三叶不平衡分析(华创同型戒)" - "哨兵双制: 温度族 -274.15(abs-zero) + 发电机轴承 -9999; 各138行级(约1日outage); 混用勿只扫其一" - "fleet全死未映射列(gate透传): C11_5/.Glo.Gea.RotBeaTemMax(齿箱转子轴承全0) / 机舱柜2温度(全0) / 叶片顺桨位置开关(全0) / PLC之前快速状态 / GscEncMnt.ErrCnt·ErrPerCnt_1m·LscDbrEneCsm(编码器错误/制动能耗计数器, 非模拟量)" - "无三相电流/电压通道(仅电池电压) → CL-3 三相语义门 SKIP (note非静默干净)" - "无测风塔: 风速=机舱风速计 self_ref → 绝对功率曲线/Cp/达成率 INSUFFICIENT; 用担保曲线+相对机群 (power-curve-ntf)" - "IGBT/冷却水/绕组/齿箱油温 raw max有spike(167/365/394/393)已 valid_range 界外NaN; observed_range记raw观测(含spike)供反验" - "T8含1日 2024-02-23 (90行, 0.18%) spillback超'2023'窗名 = folder窗名可能错(枫香先例); window从数据实测填, 保留数据"