| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- # 数据契约 — 明阳 MINGYANG MY2.0se-121 (马王 一期, 2.0MW DFIG geared)
- # schema: docs/OEM_KB/OEM_knowledge_base_v1.md §3. 校验器: scripts/validate_contract.py
- # 用途: 分析前的"门"。任一 BLOCK → 拒绝进分析 (不在下游补救)。
- # ⚠ 马王=3 OEM 90台混场 (见 configs/contracts/mawang_machine_map.csv):
- # 一期 华创 CCWE-2000/116 ×8(机号1-3,5-9) + 明阳 MY2.0-121/80 ×42(4,10-50) [本契约]
- # 二期 上海电气 W2500-135 ×40(51-90, 2.5MW) [另契约]
- # 本契约只适用 明阳 42台; 华创/上海电气 必分别契约 (状态码/功率曲线 per-OEM 不同, 已实证).
- meta:
- oem: 明阳智能 MINGYANG
- model: MY2.0se-121 (收资表机型 MY2.0-121/80)
- topology: dfig_geared
- rated_kw: 2000
- rotor_diameter_m: 121
- hub_height_m: 80
- source_farm: 马王 (广西; 明阳机号 4,10-50)
- sampling:
- raw_1sec_s: 1 # 6×N号风机.zip, ~22天(2023-12-15→2024-01-05), 50台一期(华创+明阳混), 294列英文
- q4_6sec_s: 6 # 明阳25台...zip→秒级数据数据_2023-10-01_2023-12-31.zip, 6秒, Oct-Dec 3月, 25明阳, 45列中文(标题行+表头行1)
- yearly_10min_s: 600 # 明阳25台...zip→10分钟{上,下}半年.csv, 全年2023, 55 named列
- caveat: "明阳秒级合计~Oct2023-Jan2024 3.2月(1秒22天+6秒3月); 1秒raw=一期统一SCADA(华创+明阳同294列英文); Q4=明阳45列中文(有机舱角度/风向仪/状态码); 10-min 55列无桨距/偏航/状态"
- provenance: "scripts/mw_*.py; 官方故障代码表+风机状态表.xlsx; cross-tab 1.59M行明阳-only(dev10/15/20/30)"
- power_curve: "configs内收资表 功率曲线表 2.0MW (1.18场站密度+1.225标准); 适用一期全部(华创+明阳)"
- # ============ 全年 10-min 层 (full-year primary, 分析A) ============
- # raw 列名来自官方 10分钟{上,下}半年.csv (GBK); 我们5-29清洗的 min/*.csv 同 named 列(设备标识/时间)
- turbine:
- required: [功率平均值, 风速平均值]
- columns:
- 功率平均值:
- canonical_id: WAPC_active_power
- unit: kW # 已是 kW (max~2050), 无瓦特陷阱
- valid_range: [-100, 2200] # 额定2000 + 余量; 负值=电动/待机
- 风速平均值:
- canonical_id: WMET_wind_speed_nacelle
- unit: m/s
- valid_range: [0, 40]
- self_ref_risk: true # ★ 机舱风, 功率曲线自指 (finding 89); 真功率曲线必测风塔
- 绝对风向平均值:
- canonical_id: WYAW_abs_winddir_10min
- unit: deg
- valid_range: [0, 360]
- frame: unverified # ★ "绝对风向"命名惯犯(昌西一/DEC名实不符); 10-min单值, 偏航分析改用1秒 iVaneDirection/iwindDirection
- note: "10-min 不做偏航; frame 未坐实"
- 上传理论功率值平均值:
- canonical_id: WTUR_theoretical_power
- unit: kW
- valid_range: [0, 2200]
- self_ref_risk: true # ★ OEM上传理论曲线, 不可作独立性能参考(循环)
- 室外温度平均值: {canonical_id: WMET_ambient_temp, unit: degC, valid_range: [-40, 55]}
- 机舱温度平均值: {canonical_id: WNAC_nacelle_temp, unit: degC, valid_range: [-20, 90]}
- 齿轮箱油温平均值: {canonical_id: WTRM_gearbox_oil_temp, unit: degC, valid_range: [-20, 100]}
- 主轴轴承A温度平均值: {canonical_id: WTRM_main_bearing_temp_a, unit: degC, valid_range: [-20, 100]}
- 发电机驱动端轴承温度平均值: {canonical_id: WGEN_bearing_temp_de, unit: degC, valid_range: [-20, 120]}
- 发电机非驱动端轴承温度平均值: {canonical_id: WGEN_bearing_temp_nde, unit: degC, valid_range: [-20, 120]}
- 总发电量最大值: {canonical_id: WTUR_total_energy, unit: kWh, note: "累积量, passthrough"}
- note_10min: "55 named列 + 783空idNN(全NULL, 弃). 无桨距/偏航误差/状态码/限电/可用率 → 这些只在1秒raw层."
- # ============ 1秒 raw 层 (深挖B: 偏航/桨距/状态; ~22天) ============
- # raw 列名=英文 i*; 一期统一SCADA. ⚠ 本块语义=明阳; 华创同schema但状态码/功率曲线不同, 必分OEM.
- turbine_1sec:
- required: [iGenPower, iWindSpeed, WT_Runcode]
- columns:
- iGenPower: {canonical_id: WAPC_active_power, unit: kW, valid_range: [-100, 2300]} # max~2149明阳/2236华创
- iWindSpeed: {canonical_id: WMET_wind_speed_nacelle, unit: m/s, valid_range: [0, 40], self_ref_risk: true}
- iGenSpeed: {canonical_id: WGEN_speed, unit: rpm, valid_range: [0, 2100]}
- iPitchAngle1: {canonical_id: WROT_pitch_1, unit: deg, valid_range: [-2, 95]} # 0-92观测, 无-1设定
- iPitchAngle2: {canonical_id: WROT_pitch_2, unit: deg, valid_range: [-2, 95]}
- iPitchAngle3: {canonical_id: WROT_pitch_3, unit: deg, valid_range: [-2, 95]}
- iVaneDiiection: # ★ 原始拼写 (Diiection); = 风向标/偏航误差
- canonical_id: WYAW_yaw_error
- unit: deg
- frame: nacelle # ±180, 中位明阳2.1°/华创-0.5° → 偏航对风可用
- valid_range: [-180, 180]
- iwindDirection: # ★ 0-360 真地理 (rare!)
- canonical_id: WMET_wind_direction_geo
- unit: deg
- frame: geographic
- valid_range: [0, 360]
- iNacellePositionTotal: {canonical_id: WYAW_nacelle_position, unit: deg, valid_range: [0, 720], note: "累积位置含扭缆"}
- iPressureOutdoor: {canonical_id: WMET_pressure, dead_channel: true} # ★ 全0 死列 → 密度用测风塔
- iAirDensity: {canonical_id: WMET_air_density, dead_channel: true} # ★ 多0/不稳 → 密度用测风塔
- iActivePowerRate: {canonical_id: WAPC_power_rate, dead_channel: true} # ★ 全0 死列
- iPowerLimit_Flag:
- canonical_id: WAPC_powerlimit_flag
- semantic: "⚠⚠ 非限电! OEM默认常数(明阳恒=10 / 华创恒=0, 含停机态恒定) → 不可作弃风信号 (C4陷阱实证). 真限电需另据(调度令/台账)"
- WT_Runcode:
- canonical_id: WSLG_turbine_state
- status_enum_ref: configs/fault_dicts/mingyang_my2_0se_121_status_enum_mawang.csv
- semantic: "明阳=厂家风机状态枚举(13码): 3=运行/发电(83%), 8=顺桨停机(14%), 4/5/10/2/9. ⚠华创不同enum(park=4/9无8)"
- WT_Faultcode:
- canonical_id: WALM_fault_code
- semantic: "故障码; ⚠ 码值(9008/11001/26001..)≠官方事件代码1-1056, join key待解(步5). 全年事件用故障日志csv(自描述)"
- iAvailabillityToday: {canonical_id: WTUR_avail_today, unit: pct, valid_range: [0, 100]} # 原始拼写 Availabillity
- iAvailabillityTotal: {canonical_id: WTUR_avail_total, unit: pct, valid_range: [0, 100]}
- note_1sec: "294列全英文名; iTurbineOperationMode=运行细分(3半载/20高载, 非WT_Runcode). 华创(机号1-3,5-9, raw 20146001-003/005-009)必另解状态码."
- # ============ 测风塔 (自由来流; 分析B真功率曲线/密度) ============
- # raw 列名来自 我们5-29清洗 马王风电场_测风塔十分钟数据.csv (多高度 10m/30m/50m/70m/轮毂)
- mast:
- required: [轮毂风速平均值]
- columns:
- 轮毂风速平均值: {canonical_id: WMET_free_stream_ws_hub, unit: m/s, valid_range: [0, 40], frame: geographic}
- 轮毂风向平均值: {canonical_id: WMET_free_stream_wdir_hub, unit: deg, valid_range: [0, 360], frame: geographic}
- 70米风速平均值: {canonical_id: WMET_ws_70m, unit: m/s, valid_range: [0, 40]}
- 10米风速平均值: {canonical_id: WMET_ws_10m, unit: m/s, valid_range: [0, 40]}
- 环境温度平均值(℃): {canonical_id: WMET_ambient_temp, unit: degC, valid_range: [-40, 55]}
- 环境压强平均值:
- canonical_id: WMET_pressure
- unit: Pa
- valid_range: [80000, 110000] # ★★ 逮bug: 我们5-29清洗有 scale 断裂 (开头95100 Pa ✓ → 年中变~9885 ×10错). 越界=未修, 密度前必修 (阜山 baro 陷阱重演)
- 气压平均值:
- canonical_id: WMET_pressure_2
- unit: Pa
- valid_range: [80000, 110000] # 同上, scale 断裂
- note_mast: "2022-11→2023-11, 与2023 SCADA重叠=自由来流可用(不像骆驼沟塔废); 多高度+轮毂. ⚠ 时间戳裹 \\t\\t 需strip."
- # ============ 跨表清洗规则 ============
- cleaning:
- physical:
- - "测风塔 环境压强/气压 ∉[80000,110000]Pa → 该行 rho 不可信 (修 scale 断裂后再算密度)"
- - "1秒 iPressureOutdoor/iAirDensity/iActivePowerRate 死列(全0) 弃; 密度用测风塔 T/P"
- semantic:
- - "iPowerLimit_Flag 非限电 (OEM默认常数) → 勿当弃风; 真限电需调度令/台账"
- - "WT_Runcode 按 OEM 解 (明阳厂家13码; 华创另解); 同 SCADA 不代表同状态语义"
- - "机舱风(风速平均值/iWindSpeed)自指 → 真功率曲线必测风塔自由来流"
- traps:
- - "马王=3 OEM 混场: 1秒raw '1-10号'zip 里 001-003/005-009=华创非明阳, 必 join 机台表 (机型≠子阵)"
- - "iPowerLimit_Flag 假'限电': 盲读 → 假33.5%弃风 (C4陷阱)"
- - "WT_Faultcode 码≠官方事件代码; 故障字典join key待解, 全年事件用自描述故障日志csv"
- - "10-min 无桨距/偏航/状态; 深挖必回1秒raw(仅22天)"
- - "测风塔压强 scale 断裂 (95100→9885); 我们5-29清洗pre-框架有此残漏, 过门验证"
|