| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- # 数据契约 — 上海电气 SEWIND W2000-110-80 (国电济南长清风电场, 大唐2025科研)
- # schema: docs/OEM_KB §3. 校验器: scripts/validate_contract.py. oem-onboard 复用路径 2026-06-07 (第3场, SEWIND已知OEM→形式化).
- # 复用: configs/point_reference/sewind_w2000_110_80_v2026_field_standardization_v1.yaml (单位/canonical/LN已做) + 本契约补 量程/哨兵/帧/陷阱/校验层.
- meta:
- oem: 上海电气 SEWIND
- model: W2000-110-80
- topology: DFIG_geared
- rated_kw: 2000
- variants_family: "W2000-93/110/135-90/80, W2000N-99/111/116 (rotor 93/110/135m) — 同家族跨场: 郭家店/淄川/文登/临邑"
- source_farm: 国电济南长清 (山东); 6台2026(F0050001001/002/003/006/008/014) + 25台2013+故障日志(1-25号风机)
- sampling: {raw_s: 30, note: "2026导出30s(38列,名带单位如'有功功率(kW)'); 另有10min重采样parquet(41列,名无单位'有功功率'); 2013为10min(25台); ⚠双命名(带/不带单位括号)"}
- ground_truth:
- field_std: "configs/point_reference/sewind_w2000_110_80_v2026_field_standardization_v1.yaml (单位/canonical/IEC-LN 已做, 复用)"
- fault_dict: "configs/fault_dicts/sewind_w2000_fault_codes.csv (2026-09-02 扩到1000码位/实义543, 源=淄博下发包CF卡 StatusCode+StatusCodeText, 取代原335条Gemini视觉提淄博PDF; 另有16列富表 sewind_sec2000_status_codes_full.csv 带停机程序/复位类型/延时/重复升级链) ⚠**淄博口径, 非上气通用**: 长清实测对拍277共同码仅64%描述一致, 见 README_sewind_sec2000.md 与 divergence.csv"
- fault_log: "故障记录统计(单台) 25台 — ⚠逐码聚合(已激活次数+最后激活/复位时间), 无单次时长 → 真停机帕累托做不了(需SCADA状态派生)"
- status_enum: "configs/fault_dicts/sewind_w2000_turbine_state_enum.csv 空 — ⚠运行状态枚举(含state11半载降额)无官方解, 需SEWIND主控状态机文档(操作/故障手册都没有)"
- met_mast: "长清风电场2023年测风塔数据 (待解压验时间窗是否覆盖SCADA)"
- spec_doc: "上海电气-国电济南长清技术协议20110413.doc (16.8MB) + 风电场收资表_长清_国电.xlsx + 长清一期风机坐标经纬度.xls"
- provenance: "oem-onboard 复用路径 2026-06-07; 复用SEWIND field_std + KB§4.3陷阱 + 2026 parquet探(量程/哨兵/限功率/帧) + 25台故障CSV分析"
- # 列名: ⚠双命名. 本契约 key 用 10min parquet 实际名(无单位括号); 30s导出用 '有功功率(kW)' 式(见 field_std).
- turbine:
- required: [有功功率, 风速]
- columns:
- 有功功率:
- canonical_id: WAPC_active_power
- raw_unit: kW # ✓ 实测 max2152≈额定2000+裕量, 非瓦特
- valid_range: [-50, 2200] # 小负=寄生(p50 -4 是1月低风寄生, 正常)
- block_if_raw_exceeds: 50000
- 风速:
- canonical_id: WMET_wind_speed_nacelle
- unit: m/s
- valid_range: [0, 40]
- self_ref_risk: true # 机舱风, 功率曲线自指 (finding89); 另有 10分钟平均风速 列
- 风轮转速:
- canonical_id: WROT_rotor_speed
- unit: rpm
- valid_range: [-2, 20] # 实测 0-16 (W2000-110 额定~16)
- 桨距角1:
- canonical_id: WROT_pitch_angle_1
- unit: deg
- valid_range: [-2, 95] # ✓ 实测 min=0 无负设定 (不同于DEC/XEMC -1°); max93
- 桨距角2:
- canonical_id: WROT_pitch_angle_2
- unit: deg
- valid_range: [-2, 95]
- 桨距角3: # ✓ SEWIND有三叶片瞬时桨距 (XEMC只有1/2)
- canonical_id: WROT_pitch_angle_3
- unit: deg
- valid_range: [-2, 95]
- 风向角:
- canonical_id: WYAW_yaw_error
- unit: deg
- frame: nacelle # 🔴★ 实测 range ±18° = nacelle-frame偏航误差, 非地理0-360 (坐实KB§4.3)
- valid_range: [-180, 180]
- note: "名'风向角'实为偏航误差(nacelle-frame), 不可做地理扇区/风玫瑰 (finding89/floris陷阱); 偏航只观测级"
- 舱外温度:
- canonical_id: WMET_ambient_temp
- unit: degC
- valid_range: [-45, 50] # 实测 -11~16(山东1月), 无哨兵
- 齿轮箱润滑油温度:
- canonical_id: WTRM_gearbox_oil_temp
- unit: degC
- valid_range: [-40, 90]
- 驱动前轴承温度:
- canonical_id: WGEN_bearing_temp_de
- unit: degC
- valid_range: [-40, 130]
- 限功率运行:
- canonical_id: WAPC_power_limited
- unit: bool
- valid_range: [0, 1] # ✓ 干净0/1标志, 实测20.3%=1(限电); 比骆驼沟有功功率限定值清晰
- semantic_verify: "C4教训: 1=限电 待用功率封顶法验(power贴顶且<wind-implied); 勿直接全信"
- 风机状态:
- canonical_id: WSLG_turbine_state
- unit: enum
- status_enum_ref: "configs/fault_dicts/sewind_w2000_turbine_state_enum.csv (空, state11未解)"
- note: "运行状态枚举无官方解; state11=半载降额(实证, 卡半载). 需主控状态机文档"
- cleaning:
- physical:
- - "有功功率 小负(>-50) = 待机寄生, 保留"
- - "桨距角 min=0 (SEWIND无负设定, 不同DEC/XEMC -1°)"
- semantic:
- - "风向角 = 偏航误差(nacelle-frame ±18°), 勿当地理风向做扇区"
- - "限功率运行=1 勿直接判限电, 用功率封顶法验 (C4教训)"
- - "一期 A7/A10/A24 风频字段放大~1000× (KB§4.3, 已知, 用前÷1000或排除)"
- status_enum_ref: configs/fault_dicts/sewind_w2000_turbine_state_enum.csv
- fault_codes_ref: configs/fault_dicts/sewind_w2000_fault_codes.csv
- traps:
- - "月间 schema 裂: 28列(健康)↔17列(可用率+风向) (郭家店). 读前先核列集"
- - "命名 A#=一期 C#=三期; 一期 A7/A10/A24 风频 ×1000"
- - "风向角 = nacelle-frame偏航误差(±18°)非地理0-360 — 误当地理=finding89类错"
- - "双命名: 30s导出'有功功率(kW)'(带单位括号) vs 10min parquet'有功功率'(无) — 契约/校验需对准实际导出"
- - "state11 半载降额无官方枚举解 (操作/故障手册都没有, 需主控状态机文档)"
- - "故障日志=逐码聚合(次数+最后时间)无单次时长 → 真停机时长帕累托做不了(同骆驼沟), 需SCADA风机状态派生"
- - "故障计数口径(7-gate D4): 65.3%是瞬时/运行/环境告警(高偏航误差穿越/湍流/风小待机/手动偏航)非部件故障; 'top按次数'误导, 必剔瞬时再排"
- - "限功率运行 20%=1 (山东电网限电常见), C4教训勿直接信需功率封顶验"
|