| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- # 数据契约 — 郭家店一二三期 (华电莱州) — 上海电气 SEWIND W2000-99-80, 2MW DFIG geared
- # ⚠⚠ 技改场: 一期A系/二期B系/三期薛家; 改造正在分析窗(2025-2026)内进行 → retrofit-aware 必须
- # 复用 repo sewind_w2000_110_80(长清) + sewind_w2000_116_tanglong_p3(唐龙) 语义层 (W2000族, 99变体)
- schema_version: 2
- meta:
- farm: 郭家店风电场 (一期A系/二期B系/三期薛家, 华电莱州, 山东)
- farm_code: F079
- oem: 上海电气 SEWIND
- model: W2000-99-80 (2MW DFIG geared; 99m叶轮/80m轮毂; 重齿齿轮箱; 上海电机厂双馈; MOOG/电力电子变桨; 南瑞/阳光变流器)
- topology: dfig_geared
- rated_kw: 2000 # 实测 P99.9~2050-2110 (超发~10%; 换长116不改rated, 改中低风曲线)
- rotor_diameter_m: 99 # ⚠ 一期10台已换116(扫风面积大) → 功率曲线分两组
- hub_height_m: 80
- province: 山东莱州 (海拔125-330m丘陵复杂地形)
- n_turbines: "一期A1-A25(25) + 二期B1-B25(25) + 三期薛家(~25) ≈ 75"
- sampling: {sec_s: 30, min_s: 600}
- windows: {sec_30: "2025-2026 (zip本体, F079_机组ID_30秒_月度.csv)", min_10: "84列csv"}
- analysis_window: "2025-2026 (用户定; 2021技术监督报告作已知问题对照背景)"
- retrofit_matrix_ref: app_ETL/configs/farms/guojiadian_retrofit_matrix.csv
- retrofit_timeline_ref: outputs/guojiadian/sop/retrofit_timeline.csv
- met_mast: absent # 无测风塔 → 绝对功率曲线 INSUFFICIENT (机舱风self_ref)
- coordinates: present # 🟢 一二三期2018.08带经纬度+X/Y/Z+地名 → 尾流可做
- power_curve_table: present_per_phase # 各期25曲线csv; 换长台需对应116曲线
- encoding: gb18030
- provenance: "survey_notes.md; codex索引 _claude_analysis_index/file_index.csv"
- prior_work: "repo guojiadian_p3 parquet(06-04旧分析)作废, 本次全1-2-3期+retrofit重做"
- # ============ 30秒层 (103列超富; 主分析层; zip本体) ============ [canonical: turbine_sec]
- turbine_sec:
- sampling_s: 30
- required: [有功功率, 30秒平均风速, 风机状态]
- fields:
- 时间: {canonical_id: timestamp, parse: datetime, observed_range: "2025-2026", note: "标准datetime; 89279行/月/台"}
- 风机名称: {canonical_id: WTUR_id, observed_range: "A1-A25/B/薛家", note: "ANN号风机-NN; 文件名F079000101X→A1X"}
- 有功功率: {canonical_id: WAPC_active_power, unit: kW, observed_range: [-30, 2120], note: "rated2000实测P99.9~2050-2110超发"}
- 无功功率: {canonical_id: WAPC_reactive_power, unit: kVar, observed_range: [-1000, 1000]}
- 功率因数: {canonical_id: WAPC_power_factor, observed_range: [-1, 1]}
- 电网频率: {canonical_id: WGRD_frequency, unit: Hz, observed_range: [0, 55], note: "脱网→0; 限电判别用"}
- "30秒平均风速": {canonical_id: WMET_wind_speed_nacelle, unit: m/s, observed_range: [0, 40], self_ref_risk: true, note: "机舱风; +10min滑动/瞬时"}
- "60秒平均风向角": {canonical_id: WMET_wind_dir, unit: deg, observed_range: [0, 360], note: "+瞬时风向角; 坐标系待验"}
- 机舱位置: {canonical_id: WYAW_nacelle_position, unit: deg, observed_range: [0, 360], note: "heading; 偏航2026全场升级→pre/post"}
- 扭缆位置: {canonical_id: WYAW_cable_twist, unit: deg, observed_range: [-720, 720]}
- 风轮转速: {canonical_id: WROT_speed, unit: rpm, observed_range: [-5, 25], note: "发电态~12"}
- 发电机转速: {canonical_id: WGEN_speed, unit: rpm, observed_range: [-50, 2000], note: "geared双馈"}
- "桨距角1": {canonical_id: WROT_pitch_1, unit: deg, observed_range: [-5, 95], note: "🔴集距死(三叶极差中位0.000°); +桨距角2/3+集距; 顺桨~93°"}
- 机舱振动传感器X: {canonical_id: WNAC_vibration_x, unit: g, observed_range: [-5, 5], note: "🔴clip; +Y/有效值; 集距死→不平衡靠此"}
- 机舱振动传感器Y: {canonical_id: WNAC_vibration_y, unit: g, observed_range: [-5, 5]}
- 齿轮箱油温: {canonical_id: WTRM_gearbox_oil_temp, unit: degC, observed_range: [-20, 100], note: "+润滑油/冷却水/低高速轴承; 齿轮箱2023改8台"}
- 发电机定子U温度: {canonical_id: WGEN_stator_temp_u, unit: degC, observed_range: [-20, 180], note: "+V/W"}
- 发电机驱动端轴承温度: {canonical_id: WGEN_bearing_de_temp, unit: degC, observed_range: [-20, 150], note: "+自由端"}
- 发电机滑环温度: {canonical_id: WGEN_sliprng_temp, unit: degC, observed_range: [-20, 200]}
- 变流器实际转矩: {canonical_id: WCNV_torque, observed_range: [-100, 3000], note: "⚠单位标℃疑误(转矩); 变流器2023+25改"}
- 风机状态:
- canonical_id: WTUR_state
- observed_range: [0, 10]
- status_enum_ref: configs/fault_dicts/sewind_w2000_99_guojiadian_state_enum.csv
- semantic: "★cross-tab坐实: 8=发电60%(P479/转速12/桨距0)/1=有风停机25%(ws5.7顺桨93°, 偏高需关注)/3=低风待机9%/2=停机3%(=服务模式)/6=启动/4,5,7=过渡停机"
- 故障状态: {canonical_id: WTUR_fault_flag, observed_range: [0, 1], note: "0/1; 1占3.2%"}
- 服务模式状态: {canonical_id: WTUR_service_mode, observed_range: [0, 1], note: "改造/检修期=1"}
- 刹车激活状态: {canonical_id: WTUR_brake_active, observed_range: [0, 1]}
- 限功率运行:
- canonical_id: WAPC_powerlimit_flag
- observed_range: [0, 1]
- dead_semantic: true
- note: "🔴🔴 假列! =1完全等于风机状态8发电态(满发2058/高风照发)=发电模式标志非真限电(马王iPowerLimit型); 禁用于限电判定"
- 有功设定值:
- canonical_id: WAPC_active_setpoint
- observed_range: [0, 0]
- dead_column: true
- note: "🔴 全0死列; 限电不能靠setpoint"
- "月可利用率": {canonical_id: WTUR_avail_builtin_month, unit: pct, observed_range: [0, 100], note: "内置;先验真glitchy; +日/年"}
- 电容电压1: {canonical_id: WPCS_cap_voltage_1, unit: V, observed_range: [0, 50], note: "⭐变桨超级电容~32V; +电容电压2/3+电容柜温度1-3; 对照2021变桨电池内阻过高"}
- 电机电流1: {canonical_id: WPCS_motor_current_1, unit: A, observed_range: [-100, 100], note: "⭐变桨电机; +电机电流2/3+电机温度1-3; 变桨健康/对照2021变桨轴承异响"}
- # ============ 10分钟层 (84列; 辅; csv) ============
- turbine_10min:
- sampling_s: 600
- required: [有功功率]
- fields:
- 时间: {canonical_id: timestamp, parse: datetime, observed_range: "2025-2026"}
- 风机名称: {canonical_id: WTUR_id, observed_range: "ANN/BNN"}
- 有功功率: {canonical_id: WAPC_active_power, unit: kW, observed_range: [-30, 2120], note: "10分钟层; 84列=30秒子集; P2有3/8列偏门导出非主schema"}
- cleaning:
- physical:
- - "有功功率 clip[-30,2120]; 转速哨兵near0剔; 风速clip[0,40]"
- - "🔴 X/Y振动 clip[-5,5]; 振动统计用median(corrupt防护)"
- - "温度越界哨兵剔; 重复列名(电网电压.1/齿轮箱油温.1.2)比值判死列"
- semantic:
- - "风速=机舱风 self_ref → 无mast → 绝对功率曲线/Cp INSUFFICIENT (Cp>Betz铁证)"
- - "🔴 限功率运行列=假发电模式标志, 有功设定值=死列 → 限电用同步性判别器(R6)非直接列"
- - "内置可利用率(日月年)先验真(glitchy) → 交叉风机状态派生"
- - "集距死(三叶极差0.000°) → 叶片不平衡靠X/Y振动(level非1P)"
- retrofit_aware:
- - "🔴🔴 每条数据 join retrofit_timeline 贴改造状态: 机位×时间 → 当时叶片型号(116/99)/变桨/变频/偏航 状态"
- - "改造期间(开始~结束)=计划停机 → 从可用率/性能/故障剔除(否则改造停机误当故障)"
- - "叶片型号时变: 23年换台整窗116; 26年换7台(A11/12/5/4/1/6/2)在2026-04~06从99→116 → 按换型日期切"
- - "功率曲线/性能/Cp 必按 叶片config(116 vs 99)分组; 禁一锅(99台会被误判欠发)"
- - "故障Pareto/可靠性 = 改造前 vs 改造后分别统计(技改效果); 偏航/变频/变桨专项必pre/post对比"
- - "三期薛家无改造 = 对照基线组"
- traps:
- - "★★ 改造在分析窗(2025-2026)内进行 → retrofit-aware必须(非静态config); retrofit_timeline.csv是地基"
- - "🔴🔴 限功率运行列=假(发电模式标志非真限电, 马王iPowerLimit型); 有功设定值=死列 → 限电靠同步性"
- - "🔴 叶片116(10台)vs99(15台)功率曲线分两组; 26年换7台窗内时变; 禁一锅比性能"
- - "★ 集距死(W2000族第N次); 叶片不平衡靠振动"
- - "🟢 三期薛家无改造=对照组; 有坐标→尾流可做; 检修记录富(故障部件+主控代码+备件)→故障Pareto强"
- - "状态1=有风停机25%偏高(顺桨93°有风不转) → 查技改/维护/问题"
- - "2021技术监督13问题(安全链/偏航制动盘/变桨电池内阻/变桨轴承异响)作25-26数据对照"
- # ============ 2026-09-03 实测订正 (2026Q3 收资, outputs/guojiadian/q3_2026/) ============
- # 用户 2026-09-03 现场事实: 齿轮箱 = 空冷; 发电机 = 水冷。以下全部按此订正。
- traps_20260903:
- gearbox_cooling: "空冷(用户裁定)。`齿轮箱冷却水温度(℃)` 不是水温: 与齿轮箱油温 corr +0.86~0.96, A/B期比油温低8~9℃, C期≈油温; 与发电机冷却水 C18 corr -0.01 → 实为油路上另一温度(最像空冷器出口/回油), 列名沿用SEC2000模板水冷槽位。用它做'水侧'分析=错(v3清单已撤)"
- gearbox_oil_inlet_dead: "`齿轮箱入口油温(℃)` 10min与30s两层全死列(distinct=1, 非零率0%), 但故障码80014'入口油温超限'报496条首发 → 告警依据待查"
- cooler_fan_outlet_dead: "`冷却风扇出口温度(℃)` 死列(常量)"
- slipring_temp_dead: "`发电机滑环温度(℃)` 全场恒0"
- pitch_blade_columns: "A/C期 桨距角1/2/3 是`桨距角`副本(相同率93~99%, 极差p99 0.01°) → 逐叶片分析仅B期可做(B期相同率30~40%, 真三叶片信号; 实测B期25台同步性极好, 极差p99 0.11°)"
- power_limit_flag: "`限功率运行` 不是限电标志: =1时>50kW占99.7%/桨距0.08°/状态8, =0时功率恒负 → 并网/发电态标志。`有功设定值` 全场恒0死列 → A/B期列级无口径. ⚠2026-09-03 审核订正: 状态码90012 `SCADA限功率` 事件流 A/B/C 三期都有 (2026-01~08: A 18.9万条/23,345h, B 32.4万条/29,134h, C 27.2万条/30,515h; B10 并集 1,641h, A17 1,380h) → 三期限电口径统一 = 90012 事件流(降功率型) + 90012∧STOPPED(停机型, 全场 832h); 早先「A/B期无可用限电口径」为误.gjd_curtail_r3.py用的`有功设定值`百分比语义与实际不符, 引用前须对齐"
- wind_dir_col: "`风向角(°)` 硬钳±18°, 且为err×0.1标度 → 角度判据须×10并注意钳位"
- temp_scale_by_phase: "电机温度1/2/3(=变桨电机, corr|桨距| +0.63)跨期标度不一致: A/B期中位320~560(未标度), C期35℃; C期电机温度2/3死列 → 跨期比温度先归一"
- col_set_flip: "10min导出列数在84↔103间逐月交替, 差集全为`.1/.2`重复列头(同通道重复导出), 无新信息; 84⊂103"
- code_tables_two_sets: "A vs B 码描述不一致0%; A/B vs C 25~33% → 两套码表{A,B}{C}; 跨期按码聚合=混计不同故障。五个高时长码未解码(100808/30106/300311/30705/30701 合计3052h)"
- nonfault_stop_codes: "910021(A/B 非116台) / 100808(C) / 990702(116 程序: A10/A7/A24 全年在日志且无文本, A1 换叶后录波可见; 三码按台互斥) = 同一逻辑: 边际风(4~5 m/s)启机→并网→功率爬坡低风等待(StartUpPowerRampingLull, A1 录波 344 s)→算法转 LowWindSpeedFreewheeling→主控正常刹车码 10 顺桨→WaitForStartup; 故障状态 0; 台间同分钟≤7 台(非场级指令); 定义在 CF 卡 StatusCode.xml(ResetDelay 决定重启等待), 程序包不含码表. 116 程序无淄博式 gInitAutoStartWaitTime/MaxNumber/Runup2FreeWaitTime, 改由 GH 参数 P_PowRamLulDur/P_ConLulDur/P_NorShuLulDur/P_LowWinSpeModMinDur/P_StaWinSpeShoAvT/LonAvT + PLC gInitWindSpdStart 定"
- buffer_waveform: "录波目录 1/10 = A1/A10 (2026-09-03 机舱位置比对确认; 早先标 B1/B10 为误), 两台皆 116 叶片一期台, 固件头 Sewind_Smart_GJD_20260602_116_YG(_YG=阳光变流器变体; 老南瑞变流器台走 CD1585_Sewind_Smart_GJD_20260810_116 包, 源码路径 1q/..._20260130_116). 273列含Bladed式控制器内部量(CI_Alg*/CO_Alg*/S_Vspr*/D_*), 100ms×20min窗; 11个文件为.baiduyun.p.downloading 半成品"
- export_dropout: "运行记录2026-05-08起19台逐台断供(含B5/C14)而SCADA正常 → 导出侧; 故障日志2026上报台数同步塌陷(74/70/65/57)=同一导出链, 两者非独立源"
|