| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # 数据契约 — 白玉山风电场 (山西 朔州 平鲁, 大唐) — OEM未定 5.0MW级 薄场, 62台(二期40 #56-#95 + 三期22 #34-#55)
- # OEM=未定 (禁猜): 无机型/铭牌/说明文档随数据交付 (intake_scan materials=0); 通道命名=GBK中文标准列
- # (发电机转速/发电量初末值/环境温度/1#2#3#变桨桨距角/风速/风向角/网侧有功功率) 无OEM专属指纹 → 不匹配库内已知场.
- # 发电机转速 p99≈687rpm = 中速传动 (非高速DFIG~1500 / 非直驱~10) → 半直驱候选, 未定谳. 实名报告前须业主铭牌确认.
- # rated=5000kW data-first: 网侧有功功率 二期+三期(3月样) p99≈4958-5002 / p999≈5019-5021 / max5182-5376(瞬时boost);
- # 发电量(末-初) p99≈828-834kWh ≈ 5000×(1/6)h=833 自洽; 与铭牌算术自洽(二期40×5MW=200MW场名 / 三期22×5MW≈100MW扩容).
- # G-OEM 实证 (2026-07-17, scratchpad/{probe_bys,goem_bys,probe2_bys}.py; 62台×3月样跑 + 全量装配):
- # 格式=月CSV(GBK); 每CSV第1行=标题行'十分钟数据(窗)', 第2行=真表头, 第3行起数据 → 装配 skiprows=1.
- # 尾随逗号产生第18空列(Unnamed:17)→装配丢弃. 时间列 tab包裹'\t..\t'→strip. 台id=CSV内'设备名称'列(禁文件名).
- # 真采样率=600s (per设备名 t.diff().median() 全62台=600 min=max; 禁全局median).
- # 哨兵: 无 magic 哨兵(-99/-999/9999/-274.15 未见); 坏值以物理界外出现(三期桨距 raw[-142.81,199.59]) → valid_range界外→NaN(非clamp, 非magic).
- # self_ref: 风速=机舱风速计 → 绝对功率曲线/Cp/达成率 INSUFFICIENT (无测风塔/mast层).
- # 风向: 仅 平均风向角(0-360 live nuniq~17-20k); 无机舱位置/朝向列 → 无第二方向列可跑pseudo-geo恒等式 →
- # frame不可判定为地理绝对, 保守 frame=unknown(vane-like), 禁作扇区/风玫瑰/绝对偏航锚 (memory pseudo-geo-wind-direction-identity-test).
- # 发电量: 初值/末值=累计counter(末值[t]==初值[t+1]精确相接); 区间能量=末-初(装配派生 energy_10min).
- # pitch: 集控广播 collective; below-rated(200<P<4000) 三叶极差 p50=p95=p99=0.0000°≪1° → three_blade N/A (非IPC).
- # 薄场: 无部件温(仅环温) → 温度NBM/隐性发热⑥⑦不可做; 无状态码; 无三相电流/电压/无功列 → CL-3三相门 SKIP.
- # 二/三期台集 DISJOINT (#34-55 vs #56-95, 交集空) → 合并装配安全, 设备名全局唯一.
- schema_version: 2
- meta:
- oem: "未定 (无铭牌/机型随数据交付; GBK标准中文列无OEM指纹; 发电机转速p99≈687rpm=中速传动候选; 待业主铭牌确认)"
- model: "未定 5.0MW级 (中速传动候选; 集控collective变桨)"
- rated_kw: 5000
- rated_note: "data-first: 网侧有功 p99≈5000/p999≈5020/max5376瞬时boost; 发电量(末-初)p99≈833≈5000×1/6自洽; 铭牌型号未交付 UNVERIFIED"
- n_turbines: 62
- n_with_data: 62
- farm: baiyushan
- site: 山西 朔州 平鲁 (大唐)
- owner: UNVERIFIED (大唐 山西朔州平鲁; 铭牌未交付)
- topology: unknown_medium_speed_candidate
- self_ref_risk: true
- phases:
- 二期: "40台 #56-#95; 内部场名'朔州平鲁白玉山200MW风电场'; 馈线 A-H线"
- 三期: "22台 #34-#55; 内部场名'白玉山100MW扩容'; 馈线 集电3-6线"
- windows:
- turbine_10min: "2023-01-01~2024-09-18 (21月CSV, 二/三期一致; 精确窗从装配数据 t.min/max 实测填 fingerprint)"
- turbine_10min:
- sampling_s: 600
- machine_col: turbine_id
- required: ["平均网侧有功功率(kW)", "平均风速(m/s)"]
- # 装配派生 meta 列 (非 raw 信号, 不过 gate, 故不列 columns; 见 cleaning/traps):
- # turbine_id = CSV内'设备名称'(#34-#95, 二/三期全局唯一) / phase = 二期|三期(zip来源) / feeder = 馈线名称
- columns:
- time_local: {role: timestamp, canonical_id: TIME_local, note: "本地时(UTC+8)区间起; 源'时间'列tab包裹strip后解析"}
- "平均发电机转速瞬时值(rpm)": {valid_range: [-10, 900], observed_range: [0.0, 690.2], sentinel: [], canonical_id: WGEN_speed, note: "发电机转速; p99≈687rpm=中速传动; 0=停机真值"}
- "平均网侧有功功率(kW)": {valid_range: [-200, 5600], observed_range: [-46, 5376], sentinel: [], canonical_id: WAPC_active_power, note: "rated源: p99≈5000/p999≈5020/max5376瞬时boost; 负值(-46)=idle自耗真值"}
- "风机发电量初值(kWh)": {valid_range: [0, 100000000], observed_range: [2406212, 3834594], sentinel: [], canonical_id: WAPC_energy_start, note: "累计counter(odometer)区间起读数; 末值[t]==初值[t+1]相接"}
- "风机发电量末值(kWh)": {valid_range: [0, 100000000], observed_range: [2406517, 3834925], sentinel: [], canonical_id: WAPC_energy_end, note: "累计counter区间末读数; 派生 energy_10min=末-初(p99≈833≈rated/6)"}
- energy_10min: {valid_range: [-50, 6000], observed_range: [0, 834], sentinel: [], canonical_id: WAPC_energy_10min, note: "装配派生=末值-初值(区间能量kWh/10min); p99≈833≈rated×1/6; 界外(counter重置/跨年跳变)→NaN"}
- "平均环境温度(℃)": {valid_range: [-45, 50], observed_range: [-31.4, 35.5], sentinel: [], canonical_id: WMET_ambient_temp, note: "唯一温度通道(薄场无部件温); 山西朔州冬季-31℃真值; 反-环温调节判据可用但无部件温对象"}
- "平均风速(m/s)": {valid_range: [0, 60], observed_range: [-0.01, 22.37], sentinel: [], self_ref_risk: true, canonical_id: WMET_wind_speed_nacelle, note: "机舱风速计 self_ref; 绝对功率曲线/Cp/达成率 INSUFFICIENT (无测风塔); min-0.01=近零噪声"}
- "风速标准差(m/s)": {valid_range: [0, 20], observed_range: [0.0, 13.65], sentinel: [], canonical_id: WMET_wind_ti_std, note: "10min风速标准差=湍流强度代理"}
- "最大风速(m/s)": {valid_range: [0, 80], observed_range: [0.0, 40], sentinel: [], canonical_id: WMET_wind_speed_max, note: "10min最大风速(阵风)"}
- "平均风向角(deg)": {frame: unknown, valid_range: [0, 360], observed_range: [0.0, 354.8], sentinel: [], self_ref_risk: true, canonical_id: WMET_wind_dir_raw, note: "唯一方向列, live(nuniq~17-20k); 无机舱位置/朝向列可跑pseudo-geo恒等式 → frame不可判地理绝对, 保守unknown(vane-like); 禁作扇区/风玫瑰/绝对偏航锚 (memory pseudo-geo-wind-direction-identity-test)"}
- "平均1#变桨桨距角(deg)": {valid_range: [-15, 95], observed_range: [-0.50, 90.53], sentinel: [], canonical_id: WROT_pitch_angle_1, note: "集控collective广播(非IPC): below-rated三叶极差p99=0.00°≪1°; 三期raw[-142.81,199.59]界外→NaN; below-rated最小桨距≈-0.5°"}
- "平均2#变桨桨距角(deg)": {valid_range: [-15, 95], observed_range: [-0.50, 90.53], sentinel: [], canonical_id: WROT_pitch_angle_2, note: "collective广播 ≡ 1#/3# (三叶极差~0); three_blade不平衡 N/A"}
- "平均3#变桨桨距角(deg)": {valid_range: [-15, 95], observed_range: [-0.50, 90.53], sentinel: [], canonical_id: WROT_pitch_angle_3, note: "collective广播 ≡ 1#/2#"}
- cleaning:
- physical: "valid_range 界外→NaN (apply_contract_gate, 非clamp); 无 magic 哨兵(全 sentinel:[]); 坏值=物理界外(三期桨距-142/199 / 极端风速)→NaN; 累计发电量counter界宽[0,1e8]勿误NaN"
- semantic: "发电量初/末=累计counter(非区间量)→派生 energy_10min=末-初; pitch=集控collective(1#≡2#≡3#)勿当独立三叶; 风向角 frame=unknown 禁作绝对/扇区锚; 无状态码列(限电/停机型只能功率+转速派生)"
- per_turbine_liveness: "分析前必per台liveness闸 (表头有列≠有活信号, memory channel-header-not-liveness); 薄场17列全为活信号(已核), 无死列"
- traps:
- - "OEM未定: 无铭牌/机型/说明文档随数据交付(intake_scan materials=0); GBK标准中文列无OEM指纹; 发电机转速p99≈687rpm=中速传动候选(未定谳); 勿据onboard推断当定谳, 实名报告前须业主铭牌确认(rated5000/owner大唐 亦按data-first/folder, UNVERIFIED铭牌)"
- - "标题行陷阱: 每月CSV第1行='十分钟数据(窗)'标题行, 第2行才是真表头 → 装配 skiprows=1; 尾逗号产生第18空列(Unnamed:17)丢弃; GBK编码(禁utf-8); 时间列tab包裹'\\t..\\t'须strip"
- - "薄场诚实(别虚标富信号): 无部件温度通道(仅环温) → 温度NBM/隐性发热⑥⑦ 不可做; self_ref机舱风 → 绝对功率曲线/Cp/达成率 INSUFFICIENT; pitch集控广播 → three_blade不平衡 N/A; 无状态码 → 限电/停机分型无先验状态码依赖功率+转速; 无三相电流/电压/无功 → CL-3三相语义门 SKIP(note非静默干净)"
- - "风向派生列陷阱(保守版): 仅1个方向列(平均风向角0-360), 无机舱位置/朝向第二列可跑pseudo-geo恒等式 → 无法证其为独立地理传感器 → frame=unknown禁作扇区/风玫瑰/绝对偏航锚(避免金华山式假阳, memory pseudo-geo-wind-direction-identity-test)"
- - "发电量=累计counter非区间量: 末值[t]==初值[t+1]精确相接(odometer); 区间能量必派生 末-初(p99≈833≈rated×1/6); 直接对初值/末值做统计=对里程表读数无意义"
- - "二/三期台集DISJOINT(#34-55三期 vs #56-95二期 交集空)→合并装配安全设备名全局唯一; 与yuelinbai数据碰撞不同(白玉山无重叠), 但内部场名容量标注不同(200MW vs 100MW扩容)分期分析用phase列"
|