|
@@ -1,10 +1,12 @@
|
|
|
-# 数据要求说明 · 观澜·如东样板 v2 · 版本 2.10.0
|
|
|
|
|
|
|
+# 数据要求说明 · 观澜 v2 风电场智能分析系统 · 版本 2.10.1
|
|
|
|
|
|
|
|
## 1 文档说明
|
|
## 1 文档说明
|
|
|
|
|
|
|
|
### 1.1 目的
|
|
### 1.1 目的
|
|
|
|
|
|
|
|
-本文说明「观澜·如东样板 v2」(版本 2.10.0,海上风电场智能分析离线系统)运行、判级与出件所**实际需要**的输入数据:需要哪些数据分类、每一类里需要哪些测点(字段)、每个测点是什么度量单位、以及这一类到底是**必须**还是**可替代**。
|
|
|
|
|
|
|
+本文说明「观澜 v2(风电场智能分析系统)」(版本 2.10.1,海上风电场智能分析离线系统)运行、判级与出件所**实际需要**的输入数据:需要哪些数据分类、每一类里需要哪些测点(字段)、每个测点是什么度量单位、以及这一类到底是**必须**还是**可替代**。
|
|
|
|
|
+
|
|
|
|
|
+全文以一座已投产的海上风电场为样本,称**样本风电场(下称"本场")**;凡出现"本场"之处均指这一样本场。文中的件数、体量、行数、时间覆盖、通道数与缺口结论都取自本场,统一标注为**样本场实测(2026-09-22)**;**换场(本场之外的任何风电场)不沿用这些数字**,须按第 12 章的通用模板与换场适配重新收资与判定。
|
|
|
|
|
|
|
|
本文的读者可以直接拿它去现场收资,也可以拿它逐条核对「现场已经给了什么、还缺什么、缺了会怎样」。
|
|
本文的读者可以直接拿它去现场收资,也可以拿它逐条核对「现场已经给了什么、还缺什么、缺了会怎样」。
|
|
|
|
|
|
|
@@ -14,7 +16,7 @@
|
|
|
|
|
|
|
|
| 读者 | 怎么用本文 |
|
|
| 读者 | 怎么用本文 |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
-| 现场数据管理员 | 按第 8 章与第 11 章的清单收资、按第 7 章的流程落位、按第 10 章核对锚点 |
|
|
|
|
|
|
|
+| 现场数据管理员 | 按第 8 章与第 11 章的清单收资、按第 7 章的流程落位、按第 10 章核对锚点、按第 12 章做换场裁剪 |
|
|
|
| 观澜实施与运维人员 | 按第 3 章判断某一族数据有没有消费者、按第 7 章判读体检退出码 |
|
|
| 观澜实施与运维人员 | 按第 3 章判断某一族数据有没有消费者、按第 7 章判读体检退出码 |
|
|
|
| 分析人员 | 按第 5 章确认某个测点是否在契约内、单位与量纲是否正确、哪些列没有取证 |
|
|
| 分析人员 | 按第 5 章确认某个测点是否在契约内、单位与量纲是否正确、哪些列没有取证 |
|
|
|
| 交付与验收人 | 按第 9 章确认每一条缺口是"现场补件"还是"研发补生成端",按附录 A 追到依据 |
|
|
| 交付与验收人 | 按第 9 章确认每一条缺口是"现场补件"还是"研发补生成端",按附录 A 追到依据 |
|
|
@@ -26,6 +28,7 @@
|
|
|
- 收资要求 v3 的原文逐字列在附录 C,一条不改、一条不删;
|
|
- 收资要求 v3 的原文逐字列在附录 C,一条不改、一条不删;
|
|
|
- 第 8 章把 21 条逐条对照到观澜的数据族、落位目录、消费者脚本与到位状态,并给出缺口与催缴要点;
|
|
- 第 8 章把 21 条逐条对照到观澜的数据族、落位目录、消费者脚本与到位状态,并给出缺口与催缴要点;
|
|
|
- 收资要求 v3 没有区分"必须/可选",本文补上这一层——因为观澜对 21 类的依赖强度**并不相同**:有的缺了整个系统会响亮降级(页面该处显示"缺件"),有的缺了只影响一条辅助轴。
|
|
- 收资要求 v3 没有区分"必须/可选",本文补上这一层——因为观澜对 21 类的依赖强度**并不相同**:有的缺了整个系统会响亮降级(页面该处显示"缺件"),有的缺了只影响一条辅助轴。
|
|
|
|
|
+- 第 12 章把这一层抽象成**与具体场无关的判定规则**(五问定档:四问定必须性、一问定"不催"),并给出场配置字段对照、数据源形态适配、换场收资差异清单与按场裁剪步骤——21 项收资从此是**通用模板**,不是某一个场的专用清单。
|
|
|
|
|
|
|
|
一句话口径:**收资要求 v3 是收资面,本文是接入面与依赖面。**
|
|
一句话口径:**收资要求 v3 是收资面,本文是接入面与依赖面。**
|
|
|
|
|
|
|
@@ -42,9 +45,9 @@
|
|
|
|
|
|
|
|
### 1.5 口径与依据
|
|
### 1.5 口径与依据
|
|
|
|
|
|
|
|
-1. **单位与测点清单以机器可读真源为准**:`configs/canonical/dictionary.yaml`(**778 条** canonical 测点,字段为 `system`、`members`(契约列名)、`n_contract_columns`、`unit_majority`、`unit_variants`)与 `configs/contracts/siemens_swt40_rudong.yaml`(如东 SWT-4.0-130 字段契约)。**查不到的写"未取证",绝不凭常识补单位。**
|
|
|
|
|
|
|
+1. **单位与测点清单以机器可读真源为准**:`configs/canonical/dictionary.yaml`(**778 条** canonical 测点,字段为 `system`、`members`(契约列名)、`n_contract_columns`、`unit_majority`、`unit_variants`)与 `configs/contracts/<机型>_<场>.yaml`(4.0 MW 级海上机组字段契约,机型代号从略)。**查不到的写"未取证",绝不凭常识补单位。**
|
|
|
2. **落位与目录以** `docs/数据目录结构与落位约定_v0.2.md` 与 `docs/输入数据放置指导_v0.1.md` 为准。
|
|
2. **落位与目录以** `docs/数据目录结构与落位约定_v0.2.md` 与 `docs/输入数据放置指导_v0.1.md` 为准。
|
|
|
-3. **体量、件数、行数均以本机 `data/raw/如东` 与 `outputs/rudong` 只读实测为准**(2026-09-22 实测)。
|
|
|
|
|
|
|
+3. **体量、件数、行数均以样本场本机 `data/raw/<场站>` 与 `outputs/<场>` 只读实测为准,标注「样本场实测(2026-09-22)」**;正文与表中凡写"实测/本机实测"而未另注日期者,均指这一次样本场实测。
|
|
|
4. 本文中"含窗且确指时间窗口"之处一律写**时间窗**;影响机组数量之处写**影响机组/影响机组数**;英文简写一律写"中文(英文简写)"。
|
|
4. 本文中"含窗且确指时间窗口"之处一律写**时间窗**;影响机组数量之处写**影响机组/影响机组数**;英文简写一律写"中文(英文简写)"。
|
|
|
5. 全文单位用半角,温度用 `℃`,旋转速度用 `r/min`(= 机器可读真源里的 `rpm`,两者同量纲)。
|
|
5. 全文单位用半角,温度用 `℃`,旋转速度用 `r/min`(= 机器可读真源里的 `rpm`,两者同量纲)。
|
|
|
|
|
|
|
@@ -52,29 +55,29 @@
|
|
|
|
|
|
|
|
### 2.1 观澜运行所需的输入全景
|
|
### 2.1 观澜运行所需的输入全景
|
|
|
|
|
|
|
|
-观澜不直接读现场原始件,而是先由**摄入链**把 `data/raw/<场站>/` 下的源件转成 `outputs/<场站>/` 下的产物,页面再读产物。因此"输入"分两层:**源件层**(现场交什么)与**产物层**(系统算什么)。
|
|
|
|
|
|
|
+观澜不直接读现场原始件,而是先由**摄入链**把 `data/raw/<场站>/` 下的源件转成 `outputs/<场>/` 下的产物,页面再读产物。因此"输入"分两层:**源件层**(现场交什么)与**产物层**(系统算什么)。
|
|
|
|
|
|
|
|
源件层的落位约定只有一条判据:**摄入脚本按"源类目录 → 再往下一层就是文件"读**。多套一层包名目录(例如 `scada_10min\10分钟数据\WTG01.csv`)等于没放。
|
|
源件层的落位约定只有一条判据:**摄入脚本按"源类目录 → 再往下一层就是文件"读**。多套一层包名目录(例如 `scada_10min\10分钟数据\WTG01.csv`)等于没放。
|
|
|
|
|
|
|
|
-如东样板当前在位 9 个族(含与场站并列的共享技术资料族),**如表 2-1 所示**。
|
|
|
|
|
|
|
+本场当前在位 9 个族(含与场站并列的共享技术资料族),**如表 2-1 所示**。
|
|
|
|
|
|
|
|
-**表 2-1 在位数据族的件数与体量(依据 `data/raw/如东` 只读实测)**
|
|
|
|
|
|
|
+**表 2-1 在位数据族的件数与体量(样本场实测 2026-09-22,依据 `data/raw/<场站>` 只读实测)**
|
|
|
|
|
|
|
|
| 族 | 落位目录 | 当前件数 | 当前体量 |
|
|
| 族 | 落位目录 | 当前件数 | 当前体量 |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
|
-| 10 分钟 SCADA | `data/raw/如东/scada_10min/` | 114 | 16,749,788,062 B(约 15.6 GB) |
|
|
|
|
|
-| 1 分钟 SCADA | `data/raw/如东/scada_1min/` | 38 | 13,709,173,574 B(约 12.8 GB) |
|
|
|
|
|
-| 现场年度归档库 | `data/raw/如东/scada_mdb/` | 100 | 48,247,200,121 B(约 44.9 GB) |
|
|
|
|
|
-| 故障报警 | `data/raw/如东/故障报警/` | 16 | 23,844,357 B(约 22.7 MB) |
|
|
|
|
|
-| 风机故障记录 | `data/raw/如东/风机故障记录/` | 137 | 149,795,133 B(约 142.9 MB) |
|
|
|
|
|
-| 油样报告 | `data/raw/如东/油样报告/` | 404 | 176,226,585 B(约 168.1 MB) |
|
|
|
|
|
-| CMS 振动原始导出 | `data/raw/如东/windcms/` | 25,693 | 161,219,600,707 B(约 150.1 GB) |
|
|
|
|
|
-| 振动线 handoff | `data/raw/如东/m5_cms_tcm/` | 1 | 21,823,545 B(约 20.8 MB) |
|
|
|
|
|
-| 厂商技术资料 | `data/raw/西门子4.0技术资料/` | 318 | 2,936,758,089 B(约 2.7 GB) |
|
|
|
|
|
|
|
+| 10 分钟 SCADA | `data/raw/<场站>/scada_10min/` | 114 | 16,749,788,062 B(约 15.6 GB) |
|
|
|
|
|
+| 1 分钟 SCADA | `data/raw/<场站>/scada_1min/` | 38 | 13,709,173,574 B(约 12.8 GB) |
|
|
|
|
|
+| 现场年度归档库 | `data/raw/<场站>/scada_mdb/` | 100 | 48,247,200,121 B(约 44.9 GB) |
|
|
|
|
|
+| 故障报警 | `data/raw/<场站>/故障报警/` | 16 | 23,844,357 B(约 22.7 MB) |
|
|
|
|
|
+| 风机故障记录 | `data/raw/<场站>/风机故障记录/` | 137 | 149,795,133 B(约 142.9 MB) |
|
|
|
|
|
+| 油样报告 | `data/raw/<场站>/油样报告/` | 404 | 176,226,585 B(约 168.1 MB) |
|
|
|
|
|
+| CMS 振动原始导出 | `data/raw/<场站>/windcms/` | 25,693 | 161,219,600,707 B(约 150.1 GB) |
|
|
|
|
|
+| 振动线 handoff | `data/raw/<场站>/m5_cms_tcm/` | 1 | 21,823,545 B(约 20.8 MB) |
|
|
|
|
|
+| 厂商技术资料 | `data/raw/<机型>技术资料/` | 318 | 2,936,758,089 B(约 2.7 GB) |
|
|
|
|
|
|
|
|
**如图 2-1 所示**,体量高度集中在 CMS 振动导出(约 150.1 GB,占九族合计 223.8 GB 的绝大多数)与两类 SCADA 导出上,台账类三族合计不到 0.2 GB 却承担了报警、工单、油样三条台账的**逐行对齐**。
|
|
**如图 2-1 所示**,体量高度集中在 CMS 振动导出(约 150.1 GB,占九族合计 223.8 GB 的绝大多数)与两类 SCADA 导出上,台账类三族合计不到 0.2 GB 却承担了报警、工单、油样三条台账的**逐行对齐**。
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
场站目录下另有 1 件散装件 `scada_10min_202607.csv`(943,520,249 B):它是**按月提取/核对件**,不是摄入源。扫描器按名字模式忽略它(不报"未归类"、不计变化),真正进产物的是 `scada_10min/WTG01.csv` 一类的逐台主件与同台补充件。
|
|
场站目录下另有 1 件散装件 `scada_10min_202607.csv`(943,520,249 B):它是**按月提取/核对件**,不是摄入源。扫描器按名字模式忽略它(不报"未归类"、不计变化),真正进产物的是 `scada_10min/WTG01.csv` 一类的逐台主件与同台补充件。
|
|
|
|
|
|
|
@@ -98,25 +101,25 @@
|
|
|
| `油样报告` | 油液化验索引、油液时效胶囊、融合面油样轴 | `oil_samples_index.parquet` |
|
|
| `油样报告` | 油液化验索引、油液时效胶囊、融合面油样轴 | `oil_samples_index.parquet` |
|
|
|
| `windcms` | 振动窗索引、谱库、CMS 报告与逐台页、在升与换件闭环、三层基线 | `m5_cms_tcm/windows/<窗>/index.parquet`、`spectra/*.npz`、`spectra_meta.parquet`、`windcms/报告_CMS*` |
|
|
| `windcms` | 振动窗索引、谱库、CMS 报告与逐台页、在升与换件闭环、三层基线 | `m5_cms_tcm/windows/<窗>/index.parquet`、`spectra/*.npz`、`spectra_meta.parquet`、`windcms/报告_CMS*` |
|
|
|
| `m5_cms_tcm` | 融合面判级、TCM 兼容件;现场正本优先于观澜自算件 | `handoff_vibration_v2.json`、`component_history.json`、`fusion_38.csv`、`fleet_scalar_z.parquet` |
|
|
| `m5_cms_tcm` | 融合面判级、TCM 兼容件;现场正本优先于观澜自算件 | `handoff_vibration_v2.json`、`component_history.json`、`fusion_38.csv`、`fleet_scalar_z.parquet` |
|
|
|
-| `西门子4.0技术资料` | 本体对象库、检索索引、实机参数表(整定值)、故障码对译 | `ontology/objects.json`、`retrieval_index.json`、`ontology/turbine_params.parquet` |
|
|
|
|
|
|
|
+| `<机型>技术资料` | 本体对象库、检索索引、实机参数表(整定值)、故障码对译 | `ontology/objects.json`、`retrieval_index.json`、`ontology/turbine_params.parquet` |
|
|
|
|
|
|
|
|
## 3 数据分类总表
|
|
## 3 数据分类总表
|
|
|
|
|
|
|
|
**如表 3-1 所示**,观澜的每一个数据族都能追到收资要求 v3 的序号、落位目录、消费者脚本、必须性与当前到位状态。
|
|
**如表 3-1 所示**,观澜的每一个数据族都能追到收资要求 v3 的序号、落位目录、消费者脚本、必须性与当前到位状态。
|
|
|
|
|
|
|
|
-**表 3-1 观澜数据族总表**
|
|
|
|
|
|
|
+**表 3-1 观澜数据族总表(样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 观澜族 | 收资 v3 序号 | 落位目录 | 消费者脚本 | 必须性 | 当前到位状态 |
|
|
| 观澜族 | 收资 v3 序号 | 落位目录 | 消费者脚本 | 必须性 | 当前到位状态 |
|
|
|
|---|---|---|---|---|---|
|
|
|---|---|---|---|---|---|
|
|
|
-| `scada_10min` | 1、9 | `data/raw/如东/scada_10min/` | `scripts/rebuild_from_raw.py --scada`、`scripts/scada_slim_build.py` | 必须 | 已在位(38 台主件 + 76 件同台补充件) |
|
|
|
|
|
-| `scada_1min` | 2 | `data/raw/如东/scada_1min/` | `scripts/pitch_face_build.py` | 建议 | 已在位(38 件,内部台号 01E 至 38B) |
|
|
|
|
|
-| `scada_mdb` | 1、2、9 | `data/raw/如东/scada_mdb/` | `src/windscada/scada_source.py`、`scripts/csv_to_mdb.py` | 建议 | 部分到位(25 年 12 个月 12 类;26 年 1 至 8 月,7 月缺 10 个类目库) |
|
|
|
|
|
-| `故障报警` | 7 | `data/raw/如东/故障报警/` | `scripts/windscada_alarms_ingest.py` | 必须 | 已在位(16 件季度/年度导出) |
|
|
|
|
|
-| `风机故障记录` | 7、18 | `data/raw/如东/风机故障记录/` | `scripts/windscada_workorder_ingest.py` | 必须 | 已在位(137 件,123 件被摄入) |
|
|
|
|
|
-| `windcms` | 8 | `data/raw/如东/windcms/` | `scripts/rudong_tcm_index.py`、`scripts/rudong_tcm_spectra.py`、`scripts/vib_raw_build.py` | 必须 | 已在位(25,679 件 decode 导出 + 14 件厂家报告) |
|
|
|
|
|
-| `m5_cms_tcm` | 8 | `data/raw/如东/m5_cms_tcm/` | `scripts/rudong_fusion_handoff.py`、`scripts/component_history_build.py` | 替代 | 部分到位(现场仅有 1 份厂家 docx,handoff 正本缺失,用观澜自算件顶替) |
|
|
|
|
|
-| `油样报告` | 18 | `data/raw/如东/油样报告/` | `scripts/windscada_watch_channels_build.py` | 建议 | 已在位(404 件,两级目录 台号/部件) |
|
|
|
|
|
-| `西门子4.0技术资料` | 5、7、10、12、13、15、20、21 | `data/raw/西门子4.0技术资料/` | `python -m src.ontology.kb_ingest`、`src/ontology/maintenance.py` | 必须 | 已在位(318 件 2.7 GB,含定值表与结构树) |
|
|
|
|
|
|
|
+| `scada_10min` | 1、9 | `data/raw/<场站>/scada_10min/` | `scripts/rebuild_from_raw.py --scada`、`scripts/scada_slim_build.py` | 必须 | 已在位(38 台主件 + 76 件同台补充件) |
|
|
|
|
|
+| `scada_1min` | 2 | `data/raw/<场站>/scada_1min/` | `scripts/pitch_face_build.py` | 建议 | 已在位(38 件,内部台号 01E 至 38B) |
|
|
|
|
|
+| `scada_mdb` | 1、2、9 | `data/raw/<场站>/scada_mdb/` | `src/windscada/scada_source.py`、`scripts/csv_to_mdb.py` | 建议 | 部分到位(25 年 12 个月 12 类;26 年 1 至 8 月,7 月缺 10 个类目库) |
|
|
|
|
|
+| `故障报警` | 7 | `data/raw/<场站>/故障报警/` | `scripts/windscada_alarms_ingest.py` | 必须 | 已在位(16 件季度/年度导出) |
|
|
|
|
|
+| `风机故障记录` | 7、18 | `data/raw/<场站>/风机故障记录/` | `scripts/windscada_workorder_ingest.py` | 必须 | 已在位(137 件,123 件被摄入) |
|
|
|
|
|
+| `windcms` | 8 | `data/raw/<场站>/windcms/` | `scripts/<场>_tcm_index.py`、`scripts/<场>_tcm_spectra.py`、`scripts/vib_raw_build.py` | 必须 | 已在位(25,679 件 decode 导出 + 14 件厂家报告) |
|
|
|
|
|
+| `m5_cms_tcm` | 8 | `data/raw/<场站>/m5_cms_tcm/` | `scripts/<场>_fusion_handoff.py`、`scripts/component_history_build.py` | 替代 | 部分到位(现场仅有 1 份厂家 docx,handoff 正本缺失,用观澜自算件顶替) |
|
|
|
|
|
+| `油样报告` | 18 | `data/raw/<场站>/油样报告/` | `scripts/windscada_watch_channels_build.py` | 建议 | 已在位(404 件,两级目录 台号/部件) |
|
|
|
|
|
+| `<机型>技术资料` | 5、7、10、12、13、15、20、21 | `data/raw/<机型>技术资料/` | `python -m src.ontology.kb_ingest`、`src/ontology/maintenance.py` | 必须 | 已在位(318 件 2.7 GB,含定值表与结构树) |
|
|
|
|
|
|
|
|
## 4 逐类数据要求
|
|
## 4 逐类数据要求
|
|
|
|
|
|
|
@@ -132,9 +135,9 @@
|
|
|
|
|
|
|
|
**单位**:功率 kW、风速 m/s、转速 r/min、桨距角 °、温度 ℃、压力 bar、时间 s、计数 次。
|
|
**单位**:功率 kW、风速 m/s、转速 r/min、桨距角 °、温度 ℃、压力 bar、时间 s、计数 次。
|
|
|
|
|
|
|
|
-**格式与编码**:`.csv`,平铺、每台一个文件,文件名 = 场配置里的机组号(`WTG01.csv` 至 `WTG38.csv`);同台补充件命名 `<台号>-<YYYYMM>.csv` 或 `<台号>-B2.csv`,取数层按**列名**对齐(新导出去掉了类型前缀,例如 `din_wtc_X` 变成 `wtc_X`)并按时间戳去重(主件优先)。编码 `utf-8-sig`。时间戳 `YYYY-MM-DD HH:MM:SS`。实测主件 598 列(3 列元信息 + 595 通道),补充件 856 列。
|
|
|
|
|
|
|
+**格式与编码**:`.csv`,平铺、每台一个文件,文件名 = 场配置里的机组号(`WTG01.csv` 至 `WTG38.csv`;`WTG01` 至 `WTG38` 为**样本场内部编号,换场按实际台号替换**);同台补充件命名 `<台号>-<YYYYMM>.csv` 或 `<台号>-B2.csv`,取数层按**列名**对齐(新导出去掉了类型前缀,例如 `din_wtc_X` 变成 `wtc_X`)并按时间戳去重(主件优先)。编码 `utf-8-sig`。时间戳 `YYYY-MM-DD HH:MM:SS`。实测主件 598 列(3 列元信息 + 595 通道),补充件 856 列。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/scada_10min/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/scada_10min/`。
|
|
|
|
|
|
|
|
**到位现状**:已在位。38 件主件 + 76 件同台补充件 = 114 件,逐台行数一致(WTG01 主件 77,551 行),说明全台同步断录、无单台缺失。
|
|
**到位现状**:已在位。38 件主件 + 76 件同台补充件 = 114 件,逐台行数一致(WTG01 主件 77,551 行),说明全台同步断录、无单台缺失。
|
|
|
|
|
|
|
@@ -152,7 +155,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.csv`,平铺,文件名为**内部台号**(`01E.csv` 至 `38B.csv`,字母 A 至 F 为集电线路 string);`utf-8-sig`;实测 79 列中英混合转发点表;时间戳 `YYYY-MM-DD HH:MM:SS`。
|
|
**格式与编码**:`.csv`,平铺,文件名为**内部台号**(`01E.csv` 至 `38B.csv`,字母 A 至 F 为集电线路 string);`utf-8-sig`;实测 79 列中英混合转发点表;时间戳 `YYYY-MM-DD HH:MM:SS`。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/scada_1min/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/scada_1min/`。
|
|
|
|
|
|
|
|
**到位现状**:已在位(38 件)。但**全场级死列 16 条**已实证(含 `yaw_error1`、`cabin_position`、`twisted_cable_angle`、发电机三相绕组温度 1/2/3、1 至 3 号桨电机温度、自定义可利用率、航空灯状态 AI 等),这些列在本场 1 分钟层没有可用的时序信息。
|
|
**到位现状**:已在位(38 件)。但**全场级死列 16 条**已实证(含 `yaw_error1`、`cabin_position`、`twisted_cable_angle`、发电机三相绕组温度 1/2/3、1 至 3 号桨电机温度、自定义可利用率、航空灯状态 AI 等),这些列在本场 1 分钟层没有可用的时序信息。
|
|
|
|
|
|
|
@@ -170,7 +173,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.mdb` 或 `.zip`(年度归档 `<年>年.zip`,内层 `<年>/<月>/<年-月-类>.zip` → `.mdb`)。中文类目目录名 ↔ 类目码:`风机数据`=tur、`温度数据`=tmp、`压力数据`=prs、`电网数据`=grd、`DigiIn数据`=din、`DigiOut数据`=dot、`计算数据`=cnt、`标志数据`=flg、`内部数据`=int、`统计数据`=scd、`标准数据`=std、`汇总数据`=sum。
|
|
**格式与编码**:`.mdb` 或 `.zip`(年度归档 `<年>年.zip`,内层 `<年>/<月>/<年-月-类>.zip` → `.mdb`)。中文类目目录名 ↔ 类目码:`风机数据`=tur、`温度数据`=tmp、`压力数据`=prs、`电网数据`=grd、`DigiIn数据`=din、`DigiOut数据`=dot、`计算数据`=cnt、`标志数据`=flg、`内部数据`=int、`统计数据`=scd、`标准数据`=std、`汇总数据`=sum。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/scada_mdb/<年>年/<月>月/<年>-<月>-<类>.mdb`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/scada_mdb/<年>年/<月>月/<年>-<月>-<类>.mdb`。
|
|
|
|
|
|
|
|
**到位现状**:部分到位。原始件 100 件、44.9 GB;体检器报 **24 件缺口**,集中在 `2026年/07月/` 的 10 个类目库(cnt、din、dot、flg、grd、int、prs、scd、std、sum 等)。2026-07 的 10min 库与 tur/tmp 在位。
|
|
**到位现状**:部分到位。原始件 100 件、44.9 GB;体检器报 **24 件缺口**,集中在 `2026年/07月/` 的 10 个类目库(cnt、din、dot、flg、grd、int、prs、scd、std、sum 等)。2026-07 的 10min 库与 tur/tmp 在位。
|
|
|
|
|
|
|
@@ -188,7 +191,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.xls`(实为 SpreadsheetML XML)、`.xlsx`、`.xml`;不许多套一层目录。
|
|
**格式与编码**:`.xls`(实为 SpreadsheetML XML)、`.xlsx`、`.xml`;不许多套一层目录。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/故障报警/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/故障报警/`。
|
|
|
|
|
|
|
|
**到位现状**:已在位。产出 `alarms.parquet` 9 列、**39,211 行**(与核对锚点一致)。
|
|
**到位现状**:已在位。产出 `alarms.parquet` 9 列、**39,211 行**(与核对锚点一致)。
|
|
|
|
|
|
|
@@ -206,7 +209,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.xls`、`.xlsx` 为摄入件;`.rar`、`.jpg`、`.png` 为附件,保留但不摄入。年目录 + 月度表,不限层级。
|
|
**格式与编码**:`.xls`、`.xlsx` 为摄入件;`.rar`、`.jpg`、`.png` 为附件,保留但不摄入。年目录 + 月度表,不限层级。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/风机故障记录/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/风机故障记录/`。
|
|
|
|
|
|
|
|
**到位现状**:已在位。产出 `workorders.parquet` 26 列、**5,876 行**(与核对锚点一致)。
|
|
**到位现状**:已在位。产出 `workorders.parquet` 26 列、**5,876 行**(与核对锚点一致)。
|
|
|
|
|
|
|
@@ -216,7 +219,7 @@
|
|
|
|
|
|
|
|
**用途**:振动侧的**唯一可重算源件**。索引、谱库、CMS 报告与逐台页、在升与换件闭环、三层基线都由它算。
|
|
**用途**:振动侧的**唯一可重算源件**。索引、谱库、CMS 报告与逐台页、在升与换件闭环、三层基线都由它算。
|
|
|
|
|
|
|
|
-**最小可用量**:**至少一个季度**的秒级振动数据(非加密)及原始振动时域波形。本机实测只有 `CMS_RuDong_CGN_202603-04`(2026-03-16 17:27:22 至 2026-04-21 10:18:33,约 36 天),**不足一个季度**。
|
|
|
|
|
|
|
+**最小可用量**:**至少一个季度**的秒级振动数据(非加密)及原始振动时域波形。本机实测只有 `CMS_<场站>_202603-04`(现场导出包名,换场按实际包名替换)(2026-03-16 17:27:22 至 2026-04-21 10:18:33,约 36 天),**不足一个季度**。
|
|
|
|
|
|
|
|
**必需测点或字段**(9 个传感器/测点,实测):`Main_bearing_front`(主轴前)、`Main_bearing_rear`(主轴后)、`Gear_planet`(行星级)、`Gear_IMS`(中间轴)、`Gear_HS_generator_side`(高速轴发电机侧)、`Gear_HS_rotor_side`(高速轴叶轮侧)、`Generator_DE`(发电机驱动端)、`Generator_NDE`(发电机非驱动端)、`System Monitor`(系统监视)。转速类量(`rpm`、`RpmProfile`、`rawRPM`)在索引里,是叶轮 1P 与阶次跟踪的分母。
|
|
**必需测点或字段**(9 个传感器/测点,实测):`Main_bearing_front`(主轴前)、`Main_bearing_rear`(主轴后)、`Gear_planet`(行星级)、`Gear_IMS`(中间轴)、`Gear_HS_generator_side`(高速轴发电机侧)、`Gear_HS_rotor_side`(高速轴叶轮侧)、`Generator_DE`(发电机驱动端)、`Generator_NDE`(发电机非驱动端)、`System Monitor`(系统监视)。转速类量(`rpm`、`RpmProfile`、`rawRPM`)在索引里,是叶轮 1P 与阶次跟踪的分母。
|
|
|
|
|
|
|
@@ -224,7 +227,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`*_decode.json`(Brande TCM Enterprise 导出,每件是一次 API 响应 `{body:{body:{"<时间戳>":[{"Record":{...}}]}}}`);厂家报告为 `.docx`(有文本层,可摄入)或 `.pdf`(扫描件,只归档)。`measurement/<年>/<月>/<WTGxx>/` 层级可保留,摄入按 `rglob` 找 `*_decode.json`。
|
|
**格式与编码**:`*_decode.json`(Brande TCM Enterprise 导出,每件是一次 API 响应 `{body:{body:{"<时间戳>":[{"Record":{...}}]}}}`);厂家报告为 `.docx`(有文本层,可摄入)或 `.pdf`(扫描件,只归档)。`measurement/<年>/<月>/<WTGxx>/` 层级可保留,摄入按 `rglob` 找 `*_decode.json`。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/windcms/`;厂家报告放 `data/raw/如东/windcms/厂家报告/上海电气_月度/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/windcms/`;厂家报告放 `data/raw/<场站>/windcms/厂家报告/整机厂商_月度/`。
|
|
|
|
|
|
|
|
**到位现状**:已在位(25,679 件 decode 导出 + 14 件厂家报告)。产出窗 `w0316` 索引 **2,066,686 行 × 54 列**、谱 **420,742 条 / 1,701 个 npz 分片 / 3.15 GB**。
|
|
**到位现状**:已在位(25,679 件 decode 导出 + 14 件厂家报告)。产出窗 `w0316` 索引 **2,066,686 行 × 54 列**、谱 **420,742 条 / 1,701 个 npz 分片 / 3.15 GB**。
|
|
|
|
|
|
|
@@ -234,7 +237,7 @@
|
|
|
|
|
|
|
|
**用途**:融合面判级、TCM 兼容件。现场若给出 `handoff_vibration_v2.json` 与 `component_history.json` **正本**,放这里即被优先采用。
|
|
**用途**:融合面判级、TCM 兼容件。现场若给出 `handoff_vibration_v2.json` 与 `component_history.json` **正本**,放这里即被优先采用。
|
|
|
|
|
|
|
|
-**最小可用量**:两件正本各一份;本机实测现场只给了 1 件厂家 docx(大生科技传动链振动分析报告)。
|
|
|
|
|
|
|
+**最小可用量**:两件正本各一份;本机实测现场只给了 1 件厂家 docx(第三方检测机构传动链振动分析报告,机构名称从略)。
|
|
|
|
|
|
|
|
**必需测点或字段**:正本结构含 `meta`(版本/日期/来源/取代关系/原则)、`detectability_prior`、`cross_source_requests`、`baseline_三层`、`per_turbine`(人工裁决 + `claim_window`)、`field_actions_v1`、`calibration_updates_v1`、`open_items`、`tcm16_schedule`。
|
|
**必需测点或字段**:正本结构含 `meta`(版本/日期/来源/取代关系/原则)、`detectability_prior`、`cross_source_requests`、`baseline_三层`、`per_turbine`(人工裁决 + `claim_window`)、`field_actions_v1`、`calibration_updates_v1`、`open_items`、`tcm16_schedule`。
|
|
|
|
|
|
|
@@ -242,9 +245,9 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.json`、`.docx`、`.pdf`、`.md`。
|
|
**格式与编码**:`.json`、`.docx`、`.pdf`、`.md`。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/m5_cms_tcm/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/m5_cms_tcm/`。
|
|
|
|
|
|
|
|
-**到位现状**:**部分到位**。正本缺失,由观澜自算件顶替:`scripts/rudong_fusion_handoff.py`(融合面)与 `scripts/component_history_build.py`(在升与换件闭环)。本机只有 1 个导出色窗,故在升与闭环**如实为空**并把数据边界写进 `meta.★数据边界`。
|
|
|
|
|
|
|
+**到位现状**:**部分到位**。正本缺失,由观澜自算件顶替:`scripts/<场>_fusion_handoff.py`(融合面)与 `scripts/component_history_build.py`(在升与换件闭环)。本机只有 1 个导出色窗,故在升与闭环**如实为空**并把数据边界写进 `meta.★数据边界`。
|
|
|
|
|
|
|
|
**缺失影响**:`/detail` 工作台的**振动融合面**(`/api/fleet` 的 `fus`)如实报"缺件";CMS 报告与评估页那一面已由按口径重建的两步喂上。
|
|
**缺失影响**:`/detail` 工作台的**振动融合面**(`/api/fleet` 的 `fus`)如实报"缺件";CMS 报告与评估页那一面已由按口径重建的两步喂上。
|
|
|
|
|
|
|
@@ -260,17 +263,17 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.pdf`,**两级目录** `<台号>/<部件>/*.pdf`。
|
|
**格式与编码**:`.pdf`,**两级目录** `<台号>/<部件>/*.pdf`。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/油样报告/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/油样报告/`。
|
|
|
|
|
|
|
|
-**到位现状**:已在位(404 件)。产出 `oil_samples_index.parquet` **404 行**。**已知缺口**:华标 2026-07 批 102 行(合并报告 `BG-2026-07-YP013 中广核新能源如东海上风电场.pdf`)的源件不在现场包内,从零重算会从 506 行落到 404 行。
|
|
|
|
|
|
|
+**到位现状**:已在位(404 件)。产出 `oil_samples_index.parquet` **404 行**。**已知缺口**:华标 2026-07 批 102 行(合并报告 `BG-2026-07-YP013 样本风电场.pdf`)的源件不在现场包内,从零重算会从 506 行落到 404 行。
|
|
|
|
|
|
|
|
**缺失影响**:缺则油液面不可用;油液与工单的交叉核对("换油是否紧跟检修")做不了。
|
|
**缺失影响**:缺则油液面不可用;油液与工单的交叉核对("换油是否紧跟检修")做不了。
|
|
|
|
|
|
|
|
-### 4.9 `西门子4.0技术资料`(厂商技术资料)
|
|
|
|
|
|
|
+### 4.9 `<机型>技术资料`(厂商技术资料)
|
|
|
|
|
|
|
|
**用途**:本体知识层(对象库、检索索引、实机参数表)与故障码对译。
|
|
**用途**:本体知识层(对象库、检索索引、实机参数表)与故障码对译。
|
|
|
|
|
|
|
|
-**最小可用量**:至少必须含 `kb_ingest.py` 点名的四个台账文件:`故障处理/故障处理手册.xlsx`、`故障处理/广核如海风电场西门子风机故障代码中英文对译表.xlsx`、`如海故障代码表.xlsx`、`维护相关/维护作业指导书.xlsx`。缺任一个都会打印 `⚠ 源缺失` 并降级,**不静默**。
|
|
|
|
|
|
|
+**最小可用量**:至少必须含 `kb_ingest.py` 点名的四个台账文件:`故障处理/故障处理手册.xlsx`、`故障处理/场站故障代码中英文对译表.xlsx`、`场站故障代码表.xlsx`、`维护相关/维护作业指导书.xlsx`。缺任一个都会打印 `⚠ 源缺失` 并降级,**不静默**。
|
|
|
|
|
|
|
|
**必需测点或字段**:故障码(`WALM_fault_code`)、整定值(`Turbine+Parameters.*.xlsx` 的 `Number`、`Text`、`Min`、`Max`、`Default`、`Current`、`Value`、`Unit`、`Reset`)、图纸与手册的章节结构。
|
|
**必需测点或字段**:故障码(`WALM_fault_code`)、整定值(`Turbine+Parameters.*.xlsx` 的 `Number`、`Text`、`Min`、`Max`、`Default`、`Current`、`Value`、`Unit`、`Reset`)、图纸与手册的章节结构。
|
|
|
|
|
|
|
@@ -278,9 +281,9 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.pdf`、`.docx`、`.doc`、`.xlsx`、`.xls`、`.pptx`;整棵树都读(白名单为全部)。
|
|
**格式与编码**:`.pdf`、`.docx`、`.doc`、`.xlsx`、`.xls`、`.pptx`;整棵树都读(白名单为全部)。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/西门子4.0技术资料/`(与场站目录**并列**的共享资料,不在场站目录下)。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<机型>技术资料/`(与场站目录**并列**的共享资料,不在场站目录下)。
|
|
|
|
|
|
|
|
-**到位现状**:已在位(318 件、2.7 GB、63 个子目录),含 `广核如东海上风电场机组定值表.pdf`(22,614,546 B)、`上海电气4.0MW保护定值参数.pdf`(975,661 B)、`风机参数设定表.xls`、`上海电气+SWT4.0-130+结构树文件+江苏如海.doc`(2,609,152 B)。产出 `turbine_params.parquet` **1,706 条整定值**。
|
|
|
|
|
|
|
+**到位现状**:已在位(318 件、2.7 GB、63 个子目录),含 `场站机组定值表.pdf`(22,614,546 B)、`整机厂商4.0MW保护定值参数.pdf`(975,661 B)、`风机参数设定表.xls`、`整机厂商结构树文件.doc`(2,609,152 B)。产出 `turbine_params.parquet` **1,706 条整定值**。
|
|
|
|
|
|
|
|
**缺失影响**:缺则本体层降级(对象库与检索索引内容缺失),故障码对译与保护定值轴不可用。
|
|
**缺失影响**:缺则本体层降级(对象库与检索索引内容缺失),故障码对译与保护定值轴不可用。
|
|
|
|
|
|
|
@@ -294,9 +297,9 @@
|
|
|
|
|
|
|
|
**单位**:kW(功率)、m(长度/直径/高度)、无量纲(传动比)、℃(温度)、°(角度)、m/s(风速)。
|
|
**单位**:kW(功率)、m(长度/直径/高度)、无量纲(传动比)、℃(温度)、°(角度)、m/s(风速)。
|
|
|
|
|
|
|
|
-**格式与编码**:`.docx`、`.pdf`、`.xlsx`,或已固化的 `.json`(`reference/rudong/oem_bearing_freqs.json` 29 个轴承条目、`reference/rudong/gear_mesh_map_measured.json`、`reference/rudong/oem_scan_plan.json` 11 个部件)。
|
|
|
|
|
|
|
+**格式与编码**:`.docx`、`.pdf`、`.xlsx`,或已固化的 `.json`(`reference/<场>/oem_bearing_freqs.json` 29 个轴承条目、`reference/<场>/gear_mesh_map_measured.json`、`reference/<场>/oem_scan_plan.json` 11 个部件)。
|
|
|
|
|
|
|
|
-**落位目录**:随族落位(`西门子4.0技术资料/` 或场站族目录)。
|
|
|
|
|
|
|
+**落位目录**:随族落位(`<机型>技术资料/` 或场站族目录)。
|
|
|
|
|
|
|
|
**到位现状**:部分到位。机型级常量已在位(额定功率 4000 kW、叶轮直径 130 m、轮毂高度 87 m、传动比 119.752);部件级只在振动侧成体系(11 个部件的理论特征频率表已验),**逐部件型号与齿数的成册件未交付**。
|
|
**到位现状**:部分到位。机型级常量已在位(额定功率 4000 kW、叶轮直径 130 m、轮毂高度 87 m、传动比 119.752);部件级只在振动侧成体系(11 个部件的理论特征频率表已验),**逐部件型号与齿数的成册件未交付**。
|
|
|
|
|
|
|
@@ -314,7 +317,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.xlsx` 或 `.csv`。
|
|
**格式与编码**:`.xlsx` 或 `.csv`。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/` 下随族落位(本机实测**该件不在位**)。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/` 下随族落位(本机实测**该件不在位**)。
|
|
|
|
|
|
|
|
**到位现状**:**未取证**。契约 `materials.coordinates` 写有"风机坐标.xlsx 38 台 + 升压站;A 至 F 为 string;间距中位 6.54D;可研表 6.3-1 为逐台设计基线(2660 h / 尾流 6.8%)可提取",但该件**不在** `data/raw` 任何族内,仓库内也搜不到同名文件。故**坐标本身未交付**;"某台属于哪条集电线路(A 至 F)"这一条可由 1 分钟导出的内部台号反推(`01E` 至 `38B` 的字母)。
|
|
**到位现状**:**未取证**。契约 `materials.coordinates` 写有"风机坐标.xlsx 38 台 + 升压站;A 至 F 为 string;间距中位 6.54D;可研表 6.3-1 为逐台设计基线(2660 h / 尾流 6.8%)可提取",但该件**不在** `data/raw` 任何族内,仓库内也搜不到同名文件。故**坐标本身未交付**;"某台属于哪条集电线路(A 至 F)"这一条可由 1 分钟导出的内部台号反推(`01E` 至 `38B` 的字母)。
|
|
|
|
|
|
|
@@ -386,7 +389,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.xls`、`.xlsx`(观澜侧以工单台账形式接入)。
|
|
**格式与编码**:`.xls`、`.xlsx`(观澜侧以工单台账形式接入)。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/风机故障记录/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/风机故障记录/`。
|
|
|
|
|
|
|
|
**到位现状**:已在位(检修记录 2025 与 2026;油样 2025)。
|
|
**到位现状**:已在位(检修记录 2025 与 2026;油样 2025)。
|
|
|
|
|
|
|
@@ -404,7 +407,7 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.xlsx`(观测到 `大部件维修记录.20240619143912557.xlsx` 一类的台账件)。
|
|
**格式与编码**:`.xlsx`(观测到 `大部件维修记录.20240619143912557.xlsx` 一类的台账件)。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/如东/风机故障记录/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<场站>/风机故障记录/`。
|
|
|
|
|
|
|
|
**到位现状**:部分到位(出保备件台账在位;**更换台账不完整**)。在升与换件闭环目前只有一个导出色窗的输入,因此**如实为空**并写明数据边界。
|
|
**到位现状**:部分到位(出保备件台账在位;**更换台账不完整**)。在升与换件闭环目前只有一个导出色窗的输入,因此**如实为空**并写明数据边界。
|
|
|
|
|
|
|
@@ -422,9 +425,9 @@
|
|
|
|
|
|
|
|
**格式与编码**:`.pdf`、`.docx`、`.xlsx`、`.pptx`。
|
|
**格式与编码**:`.pdf`、`.docx`、`.xlsx`、`.pptx`。
|
|
|
|
|
|
|
|
-**落位目录**:`data/raw/西门子4.0技术资料/`。
|
|
|
|
|
|
|
+**落位目录**:`data/raw/<机型>技术资料/`。
|
|
|
|
|
|
|
|
-**到位现状**:已在位。实测含 `4.0MW电气图纸/4.0电气原理图.pdf`、`接线表.xlsx`、`4.0MW液压图纸/液压图纸4.0.pdf`(3 份)、`4.0MW主控图纸/4.0MW-kk drawing-V304002_2014-05-28.pdf`、`4.0原理图_2014-05-28&新增设备电气接口图(1).pdf`、`4.0故障逻辑及处理.docx`、`广核如东海上风电场机组定值表.pdf` 等。
|
|
|
|
|
|
|
+**到位现状**:已在位。实测含 `4.0MW电气图纸/4.0电气原理图.pdf`、`接线表.xlsx`、`4.0MW液压图纸/液压图纸4.0.pdf`(3 份)、`4.0MW主控图纸/4.0MW-kk drawing-V304002_2014-05-28.pdf`、`4.0原理图_2014-05-28&新增设备电气接口图(1).pdf`、`4.0故障逻辑及处理.docx`、`场站机组定值表.pdf` 等。
|
|
|
|
|
|
|
|
**缺失影响**:缺则位域语义(例如"刹车状态 AI 的取值 61 是 0b111101,具体位含义")只能停在"须图纸"的未决态。
|
|
**缺失影响**:缺则位域语义(例如"刹车状态 AI 的取值 61 是 0b111101,具体位含义")只能停在"须图纸"的未决态。
|
|
|
|
|
|
|
@@ -452,7 +455,7 @@
|
|
|
|
|
|
|
|
现场 10 分钟导出按**类目**组织,9 个逐台类目与主件前缀块**一一对应**,合计 **595 通道,0 缺 0 多**。
|
|
现场 10 分钟导出按**类目**组织,9 个逐台类目与主件前缀块**一一对应**,合计 **595 通道,0 缺 0 多**。
|
|
|
|
|
|
|
|
-**表 5-1 逐台类目 → 前缀 → 通道数**
|
|
|
|
|
|
|
+**表 5-1 逐台类目 → 前缀 → 通道数(样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 类目码 | 中文目录名 | 契约列前缀 | 通道数 |
|
|
| 类目码 | 中文目录名 | 契约列前缀 | 通道数 |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
@@ -471,9 +474,9 @@
|
|
|
|
|
|
|
|
主件 CSV 实测 598 列 = 3 列元信息(`TimeStamp`、`WTG`、`StationId`)+ 595 通道,**自洽**。
|
|
主件 CSV 实测 598 列 = 3 列元信息(`TimeStamp`、`WTG`、`StationId`)+ 595 通道,**自洽**。
|
|
|
|
|
|
|
|
-观澜的**契约**只覆盖其中一部分:`reference/rudong/windscada_contract.yaml` 登记 10 个组共 **164 列**(活 155 列),**未契约列 435 列**已登记、不假装覆盖。canonical 词典侧共 **778 条**测点,按系统分布如下(前 8):
|
|
|
|
|
|
|
+观澜的**契约**只覆盖其中一部分:`reference/<场>/windscada_contract.yaml` 登记 10 个组共 **164 列**(活 155 列),**未契约列 435 列**已登记、不假装覆盖。canonical 词典侧共 **778 条**测点,按系统分布如下(前 8):
|
|
|
|
|
|
|
|
-**表 5-2 canonical 测点的系统分布(`configs/canonical/dictionary.yaml`)**
|
|
|
|
|
|
|
+**表 5-2 canonical 测点的系统分布(`configs/canonical/dictionary.yaml`,样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| system | 词条数 | 含义 |
|
|
| system | 词条数 | 含义 |
|
|
|
|---|---|---|
|
|
|---|---|---|
|
|
@@ -490,7 +493,7 @@
|
|
|
|
|
|
|
|
### 5.2 判级与曲线实际取用的 48 列公共子集
|
|
### 5.2 判级与曲线实际取用的 48 列公共子集
|
|
|
|
|
|
|
|
-四个判级面(变桨、偏航、蓄能、温度)与七镜头曲线不是读全部 595 通道,而是读一个**48 列公共子集**(`scripts/scada_slim_build.py` 的 `COLS_CORE` 23 列 + 温度 NBM 的 27 个 `_mean`,去重后 48 列)。该子集落成按台一份的**窄仓** `outputs/rudong/windscada/slim10min/<台号>.parquet`,进重算链 ③b 步。
|
|
|
|
|
|
|
+四个判级面(变桨、偏航、蓄能、温度)与七镜头曲线不是读全部 595 通道,而是读一个**48 列公共子集**(`scripts/scada_slim_build.py` 的 `COLS_CORE` 23 列 + 温度 NBM 的 27 个 `_mean`,去重后 48 列)。该子集落成按台一份的**窄仓** `outputs/<场>/windscada/slim10min/<台号>.parquet`,进重算链 ③b 步。
|
|
|
|
|
|
|
|
#### 5.2.1 48 列公共子集清单
|
|
#### 5.2.1 48 列公共子集清单
|
|
|
|
|
|
|
@@ -567,7 +570,7 @@
|
|
|
|
|
|
|
|
实测的 27 个活温度 `_mean` 通道及其 canonical 依据如下(契约 `B.温度NBM` 组共 58 列,其中 `_mean` 29 列;`GFilB2`/`GFilB3` 为全场恒 200 哨兵、`liveness=恒值哨兵`,**已被排除**,故活通道 27 个)。
|
|
实测的 27 个活温度 `_mean` 通道及其 canonical 依据如下(契约 `B.温度NBM` 组共 58 列,其中 `_mean` 29 列;`GFilB2`/`GFilB3` 为全场恒 200 哨兵、`liveness=恒值哨兵`,**已被排除**,故活通道 27 个)。
|
|
|
|
|
|
|
|
-**表 5-5 27 个温度通道与单位依据**
|
|
|
|
|
|
|
+**表 5-5 27 个温度通道与单位依据(样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 契约列名 | canonical 编号(词典键) | system | 单位 | 判级中的角色 |
|
|
| 契约列名 | canonical 编号(词典键) | system | 单位 | 判级中的角色 |
|
|
|
|---|---|---|---|---|
|
|
|---|---|---|---|---|
|
|
@@ -619,7 +622,7 @@
|
|
|
|
|
|
|
|
**采样与波形**:每件 `*_decode.json` 是一次测量记录;索引 54 列记录 `rpm`、`bandwidth_hz`、`lines`、`n_averages`、`duration_s`、`condition_key`(7 个功率分箱)、`red_alarm`/`yellow_alarm`/`blue_alarm` 与迟滞。原始**时域波形**是 `TimeSeries` 与 `TrackedTimeSeries`(`meas_source` 里以 `Time_` 开头的 30 余类,单点 65,536 或 200,000 点),本机**默认不转**(只转 FFT 谱),因此"原始时域波形"在位但未全部落成谱库件。
|
|
**采样与波形**:每件 `*_decode.json` 是一次测量记录;索引 54 列记录 `rpm`、`bandwidth_hz`、`lines`、`n_averages`、`duration_s`、`condition_key`(7 个功率分箱)、`red_alarm`/`yellow_alarm`/`blue_alarm` 与迟滞。原始**时域波形**是 `TimeSeries` 与 `TrackedTimeSeries`(`meas_source` 里以 `Time_` 开头的 30 余类,单点 65,536 或 200,000 点),本机**默认不转**(只转 FFT 谱),因此"原始时域波形"在位但未全部落成谱库件。
|
|
|
|
|
|
|
|
-**表 5-6 振动频谱轴分辨率(`oem_scan_plan.json` 的 11 个部件)**
|
|
|
|
|
|
|
+**表 5-6 振动频谱轴分辨率(`oem_scan_plan.json` 的 11 个部件,样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 部件 | 测点 | 用哪条谱(shard) | 频率分辨率 Hz |
|
|
| 部件 | 测点 | 用哪条谱(shard) | 频率分辨率 Hz |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
@@ -658,17 +661,17 @@
|
|
|
|
|
|
|
|
### 5.6 机型与部件参数
|
|
### 5.6 机型与部件参数
|
|
|
|
|
|
|
|
-**表 5-8 机型级参数(本机已取证项)**
|
|
|
|
|
|
|
+**表 5-8 机型级参数(样本场实测 2026-09-22,已取证项)**
|
|
|
|
|
|
|
|
| 参数 | 取值 | 单位 | 依据 |
|
|
| 参数 | 取值 | 单位 | 依据 |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
|
-| 机型 | SWT-4.0-130(上海电气/西门子许可,海上固定式) | — | `configs/contracts/siemens_swt40_rudong.yaml` |
|
|
|
|
|
|
|
+| 机型 | 4.0 MW 级海上机组(机型代号从略;OEM 许可,海上固定式) | — | `configs/contracts/<机型>_<场>.yaml` |
|
|
|
| 传动拓扑 | 异步全功率变流 + 齿轮箱 + 液压集中变桨 | — | 同上 |
|
|
| 传动拓扑 | 异步全功率变流 + 齿轮箱 + 液压集中变桨 | — | 同上 |
|
|
|
| 额定功率 | 4000 | kW | 同上(实证平台 3988 至 3992 kW) |
|
|
| 额定功率 | 4000 | kW | 同上(实证平台 3988 至 3992 kW) |
|
|
|
| 叶轮直径 | 130 | m | 同上 |
|
|
| 叶轮直径 | 130 | m | 同上 |
|
|
|
| 轮毂高度 | 87(= 73 塔筒 + 14 平台) | m | 同上 |
|
|
| 轮毂高度 | 87(= 73 塔筒 + 14 平台) | m | 同上 |
|
|
|
-| 齿轮箱传动比 | 119.752 | 无量纲 | `reference/rudong/gear_mesh_map_measured.json` |
|
|
|
|
|
-| 齿轮箱 | 威能极 PZAB 3546,3 级,油约 750 L | — | `reference/rudong/windscada_machine_facts.yaml` |
|
|
|
|
|
|
|
+| 齿轮箱传动比 | 119.752 | 无量纲 | `reference/<场>/gear_mesh_map_measured.json` |
|
|
|
|
|
+| 齿轮箱 | 威能极 PZAB 3546,3 级,油约 750 L | — | `reference/<场>/windscada_machine_facts.yaml` |
|
|
|
| 变桨形式 | 液压集中变桨(三桨给定极差 p99 ≤ 0.4°) | — | 契约 `meta.pitch_type` |
|
|
| 变桨形式 | 液压集中变桨(三桨给定极差 p99 ≤ 0.4°) | — | 契约 `meta.pitch_type` |
|
|
|
| 顺桨角 | 88 至 90 | ° | `windscada_machine_facts.yaml` |
|
|
| 顺桨角 | 88 至 90 | ° | `windscada_machine_facts.yaml` |
|
|
|
| 运行恒压 | 约 237 | bar | 契约 `turbine_1min.columns` 注记 |
|
|
| 运行恒压 | 约 237 | bar | 契约 `turbine_1min.columns` 注记 |
|
|
@@ -677,9 +680,9 @@
|
|
|
|
|
|
|
|
**表 5-9 部件级参数(收资要求 v3 第 21 项逐项)**
|
|
**表 5-9 部件级参数(收资要求 v3 第 21 项逐项)**
|
|
|
|
|
|
|
|
-| 收资要求 v3 的部件参数 | 本机取证情况 |
|
|
|
|
|
|
|
+| 收资要求 v3 的部件参数 | 样本场取证情况(2026-09-22) |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
-| 主轴轴承型号及厂家 | 部分取证(`reference/rudong/oem_bearing_freqs.json` 有位置与型号 token 级条目,如 `139.1/1060 f-576853.PRL`、`240.1/800 F-605082.PRL`) |
|
|
|
|
|
|
|
+| 主轴轴承型号及厂家 | 部分取证(`reference/<场>/oem_bearing_freqs.json` 有位置与型号 token 级条目,如 `139.1/1060 f-576853.PRL`、`240.1/800 F-605082.PRL`) |
|
|
|
| 齿轮箱型号厂家 | 已取证(威能极 PZAB 3546) |
|
|
| 齿轮箱型号厂家 | 已取证(威能极 PZAB 3546) |
|
|
|
| 齿轮箱各级传动参数(行星轮内齿圈齿数、行星轮个数、太阳轮齿数、行星轮齿数、平行轮大齿轮齿数、平行轮小齿轮齿数) | 部分取证(`gear_mesh_map_measured.json` 给出各级啮合频率与齿数:一级行星 92、二级行星 91、高速级小齿轮 30,以及各级传动比 7.999、4.24、3.531;**行星轮个数未取证**) |
|
|
| 齿轮箱各级传动参数(行星轮内齿圈齿数、行星轮个数、太阳轮齿数、行星轮齿数、平行轮大齿轮齿数、平行轮小齿轮齿数) | 部分取证(`gear_mesh_map_measured.json` 给出各级啮合频率与齿数:一级行星 92、二级行星 91、高速级小齿轮 30,以及各级传动比 7.999、4.24、3.531;**行星轮个数未取证**) |
|
|
|
| 齿轮箱各级轴承型号 | 部分取证(`oem_bearing_freqs.json` 29 个轴承条目,含 NSK/FAG 候选与位置 token) |
|
|
| 齿轮箱各级轴承型号 | 部分取证(`oem_bearing_freqs.json` 29 个轴承条目,含 NSK/FAG 候选与位置 token) |
|
|
@@ -722,7 +725,7 @@
|
|
|
| `UserName` | 记录来源通道 |
|
|
| `UserName` | 记录来源通道 |
|
|
|
| `idKey`、`Comment`、`MailSend`、`Acknowledge`、`Reset` | 部分未用或为死列 |
|
|
| `idKey`、`Comment`、`MailSend`、`Acknowledge`、`Reset` | 部分未用或为死列 |
|
|
|
|
|
|
|
|
-**故障码表**:如海代码表 **2,793 条**,实际用码 322 个、**覆盖率 100%**;三表(对译表、故障处理手册、如海代码表)直译族一致。事件层用码的字典覆盖率为 alarm 356/364 = 97.8%(未覆盖的 8 个是 50xxx 平台码混入)、event 60/66(缺 170 与 172 至 178 的低频扩展码)。
|
|
|
|
|
|
|
+**故障码表**:场站故障代码表(样本 **2,793 条**),实际用码 322 个、**覆盖率 100%**;三表(对译表、故障处理手册、场站故障代码表)直译族一致。事件层用码的字典覆盖率为 alarm 356/364 = 97.8%(未覆盖的 8 个是 50xxx 平台码混入)、event 60/66(缺 170 与 172 至 178 的低频扩展码)。
|
|
|
|
|
|
|
|
**首发标识缺席,须自算**:按台对 `LogType=0 ∧ AlarmGroup=1` 按 `TimeOn` 升序,链尾取累计 `max(TimeOff)`,`TimeOn > 链尾 + 30 min` 即新链首 = 首发;`X ∈ {10, 30, 60} min` 的敏感性下 `cascade_ratio` 稳定在 3.49 至 3.83。2025-01 至 2026-07 共 **10,506 条首发链**,每台中位 257 条,离群台为 33 号(666)、19 号(512)、08 号(422)。
|
|
**首发标识缺席,须自算**:按台对 `LogType=0 ∧ AlarmGroup=1` 按 `TimeOn` 升序,链尾取累计 `max(TimeOff)`,`TimeOn > 链尾 + 30 min` 即新链首 = 首发;`X ∈ {10, 30, 60} min` 的敏感性下 `cascade_ratio` 稳定在 3.49 至 3.83。2025-01 至 2026-07 共 **10,506 条首发链**,每台中位 257 条,离群台为 33 号(666)、19 号(512)、08 号(422)。
|
|
|
|
|
|
|
@@ -739,7 +742,7 @@
|
|
|
| C3 桨距调度差 | 桨距角 × 功率档(500 kW 档)逐台 schedule,与全场同档中位比,平均绝对偏 > 0.5° 判"标定偏移候选" | `tur_wtc_PitcPosA_mean` |
|
|
| C3 桨距调度差 | 桨距角 × 功率档(500 kW 档)逐台 schedule,与全场同档中位比,平均绝对偏 > 0.5° 判"标定偏移候选" | `tur_wtc_PitcPosA_mean` |
|
|
|
| C4 尺子巡检 | 满发功率 p99.5、转速封顶、额定桨角(> 3800 kW 时 A 叶桨距角中位)三把尺子的机群散布 | 同上 |
|
|
| C4 尺子巡检 | 满发功率 p99.5、转速封顶、额定桨角(> 3800 kW 时 A 叶桨距角中位)三把尺子的机群散布 | 同上 |
|
|
|
|
|
|
|
|
-**正式的机组保护定值**在 `outputs/rudong/ontology/turbine_params.parquet`(**1,706 条**整定值,列 `Number`、`Text`、`Min`、`Max`、`Default`、`Current`、`Value`、`Unit`、`Reset`),来源为技术资料里的 `Turbine+Parameters.*.xlsx`。它覆盖温度、压力、速度等保护定值的逐条 `Min`/`Max`/`Default`/`Current` 与单位,因此**定值表本身已在位**(例如 `UP01101: Max ambient temperature` 默认 40 ℃、`UP01202: Tower fan LS tow/nac temp` 默认 25 ℃)。
|
|
|
|
|
|
|
+**正式的机组保护定值**在 `outputs/<场>/ontology/turbine_params.parquet`(**1,706 条**整定值,列 `Number`、`Text`、`Min`、`Max`、`Default`、`Current`、`Value`、`Unit`、`Reset`),来源为技术资料里的 `Turbine+Parameters.*.xlsx`。它覆盖温度、压力、速度等保护定值的逐条 `Min`/`Max`/`Default`/`Current` 与单位,因此**定值表本身已在位**(例如 `UP01101: Max ambient temperature` 默认 40 ℃、`UP01202: Tower fan LS tow/nac temp` 默认 25 ℃)。
|
|
|
|
|
|
|
|
**缺的是"成册交付"**:定值表以整定值清单形式在位,但收资要求 v3 第 10 项点名的是"温度、压力、速度等保护定值 + 偏航控制策略 + 降载荷控制策略"的**策略文档**。偏航控制策略与降载荷控制策略目前**未取证**,只能从控制参数反演与事件层行为间接反映。
|
|
**缺的是"成册交付"**:定值表以整定值清单形式在位,但收资要求 v3 第 10 项点名的是"温度、压力、速度等保护定值 + 偏航控制策略 + 降载荷控制策略"的**策略文档**。偏航控制策略与降载荷控制策略目前**未取证**,只能从控制参数反演与事件层行为间接反映。
|
|
|
|
|
|
|
@@ -757,7 +760,7 @@
|
|
|
| 现场类目库 | `StationId` 4800167 至 4800204 | 与上一致 |
|
|
| 现场类目库 | `StationId` 4800167 至 4800204 | 与上一致 |
|
|
|
| 事件层台号列 | `tid` = `NN` + string 字母 | 装配时加列,非机组行为 NaN |
|
|
| 事件层台号列 | `tid` = `NN` + string 字母 | 装配时加列,非机组行为 NaN |
|
|
|
|
|
|
|
|
-**要求**:主件文件名必须是场配置里的机组号;1 分钟族用内部台号(按**台数**判完整,不按名字判)。台号别名(`01E` 与 `WTG01` 的对应)必须显式给一张对照表,禁止靠位置或排序猜。
|
|
|
|
|
|
|
+**要求**:主件文件名必须是场配置里的机组号;1 分钟族用内部台号(按**台数**判完整,不按名字判)。台号别名(`01E` 与 `WTG01` 的对应)必须显式给一张对照表,禁止靠位置或排序猜。表中 `WTG01` 至 `WTG38`、`01E` 至 `38B`、`StationNr` 4800167 至 4800204 都是**样本场内部编号,换场按实际台号替换**;编号形态(`WTG<NN>` 与 `<NN><线路字母>`)可以沿用,但台号与内部台号的对应关系必须显式声明。
|
|
|
|
|
|
|
|
### 6.2 时间戳格式与时区
|
|
### 6.2 时间戳格式与时区
|
|
|
|
|
|
|
@@ -783,7 +786,7 @@
|
|
|
|
|
|
|
|
另有已知的**量化与哨兵族**(用数据前必处理):
|
|
另有已知的**量化与哨兵族**(用数据前必处理):
|
|
|
|
|
|
|
|
-**表 6-3 量化与哨兵族**
|
|
|
|
|
|
|
+**表 6-3 量化与哨兵族(样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 现象 | 实测 |
|
|
| 现象 | 实测 |
|
|
|
|---|---|
|
|
|---|---|
|
|
@@ -813,7 +816,7 @@
|
|
|
2. **风速**:`m/s` 与 `mps` 并存(55 条变体表中含 `WMET_wind_speed_10s`/`60s`/`inst` 等),**同量纲**;
|
|
2. **风速**:`m/s` 与 `mps` 并存(55 条变体表中含 `WMET_wind_speed_10s`/`60s`/`inst` 等),**同量纲**;
|
|
|
3. **风速计原值与补偿风**:`WMET_wind_speed_compensated` 与 `WMET_wind_speed_nacelle2` 都带 `self_ref_risk: true`,**不能**当独立第二证据。
|
|
3. **风速计原值与补偿风**:`WMET_wind_speed_compensated` 与 `WMET_wind_speed_nacelle2` 都带 `self_ref_risk: true`,**不能**当独立第二证据。
|
|
|
|
|
|
|
|
-压力类在词典里同时存在 `bar`(23 条)、`kPa`、`Pa`、`hPa` 四种量纲,**必须逐条看词条**,不能按"压力就是 bar"推定:例如 `WMET_pressure` 是 kPa、`WMET_pressure_2` 是 Pa、`WMET_pressure_mast` 是 hPa、`WTRM_oil_pressure`(canonical `WGBX_oil_pressure`)在词典里被标为 `Pa`,而在如东契约里对应列 `prs_wtc_GearPres_mean` 标 `bar` —— 这属**跨源量纲分歧**,用前须按契约的 `valid_range` 复核。
|
|
|
|
|
|
|
+压力类在词典里同时存在 `bar`(23 条)、`kPa`、`Pa`、`hPa` 四种量纲,**必须逐条看词条**,不能按"压力就是 bar"推定:例如 `WMET_pressure` 是 kPa、`WMET_pressure_2` 是 Pa、`WMET_pressure_mast` 是 hPa、`WTRM_oil_pressure`(canonical `WGBX_oil_pressure`)在词典里被标为 `Pa`,而在本场契约里对应列 `prs_wtc_GearPres_mean` 标 `bar` —— 这属**跨源量纲分歧**,用前须按契约的 `valid_range` 复核。
|
|
|
|
|
|
|
|
### 6.8 编码与列名约定
|
|
### 6.8 编码与列名约定
|
|
|
|
|
|
|
@@ -833,16 +836,16 @@
|
|
|
| 位置 | 放什么 | 形态要求 |
|
|
| 位置 | 放什么 | 形态要求 |
|
|
|
|---|---|---|
|
|
|---|---|---|
|
|
|
| `data\raw\` 顶层 | 场站目录与说明文件 | 只放场站目录与 `README_把原始数据放这里.txt` 一类说明件 |
|
|
| `data\raw\` 顶层 | 场站目录与说明文件 | 只放场站目录与 `README_把原始数据放这里.txt` 一类说明件 |
|
|
|
-| `data\raw\如东\` | 场站目录(下一级目录名 = 场站) | 目录名与场配置 `raw_station` 相同,或与场名互为子串 |
|
|
|
|
|
-| `如东\scada_10min\` | 10 分钟导出 | 平铺 `WTG01.csv` 至 `WTG38.csv`,另可放同台补充件 `<台号>-*.csv` |
|
|
|
|
|
-| `如东\scada_1min\` | 1 分钟导出 | 平铺内部台号 `01E.csv` 至 `38B.csv` |
|
|
|
|
|
-| `如东\scada_mdb\<年>年\<月>月\` | 现场年度归档库 | `<年>-<月>-<类>.mdb`,类目见第 5.1 节 |
|
|
|
|
|
-| `如东\故障报警\` | 报警事件导出 | `.xls`(实为 SpreadsheetML XML)、`.xlsx`、`.xml`,不许多套一层目录 |
|
|
|
|
|
-| `如东\风机故障记录\` | 检修工单台账 | 年目录 + 月度汇总表 `.xls`/`.xlsx`;`.rar` 与照片为附件 |
|
|
|
|
|
-| `如东\油样报告\` | 油液化验报告 | 必须是**两级**:`<台号>\<部件>\*.pdf` |
|
|
|
|
|
-| `如东\windcms\` | CMS 原始测量导出 + 厂家报告 | `<包名>\measurement\<年>\<月>\<WTGxx>\*_decode.json`;报告为 `.docx` 或 `.pdf` |
|
|
|
|
|
-| `如东\m5_cms_tcm\` | handoff 正本 + 厂家报告 | handoff 正本 `.json` + `厂家报告\` 下的 `.docx` |
|
|
|
|
|
-| `西门子4.0技术资料\` | 厂商技术资料(与场站并列) | 整棵树都读,不在场站目录下 |
|
|
|
|
|
|
|
+| `data\raw\<场站>\` | 场站目录(下一级目录名 = 场站) | 目录名与场配置 `raw_station` 相同,或与场名互为子串 |
|
|
|
|
|
+| `<场站>\scada_10min\` | 10 分钟导出 | 平铺 `WTG01.csv` 至 `WTG38.csv`,另可放同台补充件 `<台号>-*.csv` |
|
|
|
|
|
+| `<场站>\scada_1min\` | 1 分钟导出 | 平铺内部台号 `01E.csv` 至 `38B.csv` |
|
|
|
|
|
+| `<场站>\scada_mdb\<年>年\<月>月\` | 现场年度归档库 | `<年>-<月>-<类>.mdb`,类目见第 5.1 节 |
|
|
|
|
|
+| `<场站>\故障报警\` | 报警事件导出 | `.xls`(实为 SpreadsheetML XML)、`.xlsx`、`.xml`,不许多套一层目录 |
|
|
|
|
|
+| `<场站>\风机故障记录\` | 检修工单台账 | 年目录 + 月度汇总表 `.xls`/`.xlsx`;`.rar` 与照片为附件 |
|
|
|
|
|
+| `<场站>\油样报告\` | 油液化验报告 | 必须是**两级**:`<台号>\<部件>\*.pdf` |
|
|
|
|
|
+| `<场站>\windcms\` | CMS 原始测量导出 + 厂家报告 | `<包名>\measurement\<年>\<月>\<WTGxx>\*_decode.json`;报告为 `.docx` 或 `.pdf` |
|
|
|
|
|
+| `<场站>\m5_cms_tcm\` | handoff 正本 + 厂家报告 | handoff 正本 `.json` + `厂家报告\` 下的 `.docx` |
|
|
|
|
|
+| `<机型>技术资料\` | 厂商技术资料(与场站并列) | 整棵树都读,不在场站目录下 |
|
|
|
|
|
|
|
|
### 7.2 增量三判定
|
|
### 7.2 增量三判定
|
|
|
|
|
|
|
@@ -911,7 +914,7 @@
|
|
|
|
|
|
|
|
| 步 | 动作 | 说明 |
|
|
| 步 | 动作 | 说明 |
|
|
|
|---|---|---|
|
|
|---|---|---|
|
|
|
-| ① | 放数据 `place_raw_data.py` | 原样搬现场包到 `data/raw/<场>/`;同尺寸跳过,冲突拦下 |
|
|
|
|
|
|
|
+| ① | 放数据 `place_raw_data.py` | 原样搬现场包到 `data/raw/<场站>/`;同尺寸跳过,冲突拦下 |
|
|
|
| ①b | 输入扫描 `raw_scan.py` | 逐族指纹(件数/体积/最新落盘时间/清单摘要/子目录清单);发现新增或变化就列出"该跑哪几步"并记成新基线 |
|
|
| ①b | 输入扫描 `raw_scan.py` | 逐族指纹(件数/体积/最新落盘时间/清单摘要/子目录清单);发现新增或变化就列出"该跑哪几步"并记成新基线 |
|
|
|
| ② | 三门台账 `rebuild_from_raw.py` | 报警、工单、油样;产物 = 当前源件的函数 |
|
|
| ② | 三门台账 `rebuild_from_raw.py` | 报警、工单、油样;产物 = 当前源件的函数 |
|
|
|
| ③ | SCADA 侧 `rebuild_from_raw.py --scada` | 10 个构建器,读约 15 GB 的 10 分钟 CSV,约 15 分钟 |
|
|
| ③ | SCADA 侧 `rebuild_from_raw.py --scada` | 10 个构建器,读约 15 GB 的 10 分钟 CSV,约 15 分钟 |
|
|
@@ -944,24 +947,24 @@
|
|
|
| 7 | 机组状态、事件、故障、告警数据 | 必须 | `故障报警/` + `风机故障记录/` + 事件层 | 已在位 | 码表 2,793 条、用码 322 个覆盖 100%;事件层 364 个 alarm 码中 8 个 50xxx 平台码无字典;event 缺 170 与 172 至 178 |
|
|
| 7 | 机组状态、事件、故障、告警数据 | 必须 | `故障报警/` + `风机故障记录/` + 事件层 | 已在位 | 码表 2,793 条、用码 322 个覆盖 100%;事件层 364 个 alarm 码中 8 个 50xxx 平台码无字典;event 缺 170 与 172 至 178 |
|
|
|
| 8 | 机舱 CMS 振动数据 | 必须 | `windcms/` | 已在位 | 要求至少一个季度;实测只有约 36 天(2026-03-16 至 2026-04-21)。**须补**:2026-01 的 decode 导出,以及 `w0707`/`w0711`/`w0724`/`w0805`/`w0811` 五个窗 |
|
|
| 8 | 机舱 CMS 振动数据 | 必须 | `windcms/` | 已在位 | 要求至少一个季度;实测只有约 36 天(2026-03-16 至 2026-04-21)。**须补**:2026-01 的 decode 导出,以及 `w0707`/`w0711`/`w0724`/`w0805`/`w0811` 五个窗 |
|
|
|
| 9 | 机组统计数据或运行数据 | 必须 | `scada_10min/` + `scada_mdb/sum` 层 | 已在位 | 发电量、可利用率、限电与损失族由 SCADA 与汇总层重建;`DailySummary` 206 列在 `sum` 库内 |
|
|
| 9 | 机组统计数据或运行数据 | 必须 | `scada_10min/` + `scada_mdb/sum` 层 | 已在位 | 发电量、可利用率、限电与损失族由 SCADA 与汇总层重建;`DailySummary` 206 列在 `sum` 库内 |
|
|
|
-| 10 | 机组保护定值及控制参数 | 必须 | `西门子4.0技术资料/` | 部分 | 整定值 1,706 条已在位(含 Min/Max/Default/Current 与单位);**M9 的控制参数是反演值**(功率封顶、转速封顶、桨距调度);**偏航控制策略与降载荷控制策略未取证** |
|
|
|
|
|
|
|
+| 10 | 机组保护定值及控制参数 | 必须 | `<机型>技术资料/` | 部分 | 整定值 1,706 条已在位(含 Min/Max/Default/Current 与单位);**M9 的控制参数是反演值**(功率封顶、转速封顶、桨距调度);**偏航控制策略与降载荷控制策略未取证** |
|
|
|
| 11 | 机组故障录波数据 | 可选 | 故意不落(`fastlog数据/`) | 未到位 | 全库只有 2 处注释提到 `fastlog`,且为 **10 Hz 事件快照、仅 4 台**;观澜不消费,无摄入器 |
|
|
| 11 | 机组故障录波数据 | 可选 | 故意不落(`fastlog数据/`) | 未到位 | 全库只有 2 处注释提到 `fastlog`,且为 **10 Hz 事件快照、仅 4 台**;观澜不消费,无摄入器 |
|
|
|
| 12 | 可研报告及微观选址报告 | 建议 | 未约定族 | 未到位 | 目录未见交付;可研内有 2009-12 史料塔记录(100 m × 6 层,**非运行期**)与逐台设计基线(2660 h、尾流 6.8%)可提取 |
|
|
| 12 | 可研报告及微观选址报告 | 建议 | 未约定族 | 未到位 | 目录未见交付;可研内有 2009-12 史料塔记录(100 m × 6 层,**非运行期**)与逐台设计基线(2660 h、尾流 6.8%)可提取 |
|
|
|
| 13 | 风电场简介 | 建议 | 散见契约与技术资料 | 部分 | 场站元信息散见合同与技术资料,未成册 |
|
|
| 13 | 风电场简介 | 建议 | 散见契约与技术资料 | 部分 | 场站元信息散见合同与技术资料,未成册 |
|
|
|
| 14 | 风电场坐标、机位布置图 | 建议 | 技术资料 | 已在位(依契约记载) | "布置图含于技术资料"为契约记载,**本机在 `data/raw` 内未取证到布置图件**;坐标件同第 6 项 |
|
|
| 14 | 风电场坐标、机位布置图 | 建议 | 技术资料 | 已在位(依契约记载) | "布置图含于技术资料"为契约记载,**本机在 `data/raw` 内未取证到布置图件**;坐标件同第 6 项 |
|
|
|
-| 15 | 风机技术协议及风机合同 | 必须 | `西门子4.0技术资料/` | 已在位 | 含担保曲线附件(图 2-1、图 2-3)、保证率条款 |
|
|
|
|
|
|
|
+| 15 | 风机技术协议及风机合同 | 必须 | `<机型>技术资料/` | 已在位 | 含担保曲线附件(图 2-1、图 2-3)、保证率条款 |
|
|
|
| 16 | 并网到现在的生产报表 | 必须 | 随族落位 | 部分 | 日粒度发电账 555 天 + 全寿命月账自 2016-06 起;**"并网至今"完整序列与口径说明未成册** |
|
|
| 16 | 并网到现在的生产报表 | 必须 | 随族落位 | 部分 | 日粒度发电账 555 天 + 全寿命月账自 2016-06 起;**"并网至今"完整序列与口径说明未成册** |
|
|
|
| 17 | 周围已建风电场生产报表 | 可选 | 未约定族 | 未到位 | 未见交付;缺则尾流与场级损耗缺外部对照 |
|
|
| 17 | 周围已建风电场生产报表 | 可选 | 未约定族 | 未到位 | 未见交付;缺则尾流与场级损耗缺外部对照 |
|
|
|
| 18 | 运维记录 | 建议 | `风机故障记录/` + `油样报告/` | 已在位 | 检修记录 2025 与 2026、油样 404 件(缺 2026-07 批 102 行的合并报告源件) |
|
|
| 18 | 运维记录 | 建议 | `风机故障记录/` + `油样报告/` | 已在位 | 检修记录 2025 与 2026、油样 404 件(缺 2026-07 批 102 行的合并报告源件) |
|
|
|
| 19 | 大部件更换记录 | 建议 | `风机故障记录/` | 部分 | 出保备件台账在位(`大部件维修记录.20240619143912557.xlsx` 一类);**更换台账不完整**,在升与换件闭环目前只有 1 个导出色窗、**如实为空** |
|
|
| 19 | 大部件更换记录 | 建议 | `风机故障记录/` | 部分 | 出保备件台账在位(`大部件维修记录.20240619143912557.xlsx` 一类);**更换台账不完整**,在升与换件闭环目前只有 1 个导出色窗、**如实为空** |
|
|
|
-| 20 | 图纸、技术文件 | 必须 | `西门子4.0技术资料/` | 已在位 | 电气原理图、接线表、液压图纸 3 份、主控图纸、故障逻辑、保护定值表、结构树均到位 |
|
|
|
|
|
-| 21 | 设备参数 | 必须 | `西门子4.0技术资料/` + `reference/rudong/` | 部分 | 主轴轴承、齿轮箱型号与各级齿数、发电机轴承、齿轮箱各级轴承部分在位;**叶片参数、变桨与偏航电机参数、变桨/偏航大小齿齿数、发电机型号厂家、行星轮个数未取证** |
|
|
|
|
|
|
|
+| 20 | 图纸、技术文件 | 必须 | `<机型>技术资料/` | 已在位 | 电气原理图、接线表、液压图纸 3 份、主控图纸、故障逻辑、保护定值表、结构树均到位 |
|
|
|
|
|
+| 21 | 设备参数 | 必须 | `<机型>技术资料/` + `reference/<场>/` | 部分 | 主轴轴承、齿轮箱型号与各级齿数、发电机轴承、齿轮箱各级轴承部分在位;**叶片参数、变桨与偏航电机参数、变桨/偏航大小齿齿数、发电机型号厂家、行星轮个数未取证** |
|
|
|
|
|
|
|
|
### 8.2 到位状态分布
|
|
### 8.2 到位状态分布
|
|
|
|
|
|
|
|
-**如图 2-3 所示**,21 类中"已在位"10 项、"部分"8 项、"未到位"3 项。
|
|
|
|
|
|
|
+**如图 2-3 所示**,21 类中"已在位"10 项、"部分"7 项、"未到位"4 项(逐行统计依第 8.1 节表,与图中数字同源)。
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
### 8.3 优先级建议
|
|
### 8.3 优先级建议
|
|
|
|
|
|
|
@@ -969,11 +972,13 @@
|
|
|
|
|
|
|
|
| 优先级 | 判定依据 | 数据项 | 现场动作 |
|
|
| 优先级 | 判定依据 | 数据项 | 现场动作 |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
|
-| P0 | 缺则核心分析面不可判或核对锚点对不上 | 1(不足 2 年)、8(不足一季)、3(零交付)、5(切入切出/额定风速/生存温度) | 先补这三样的**缺口部分**:2024 年 10 分钟、2026-01 与 2026-07/08 的 CMS 导出、测风塔全量、机型参数表 |
|
|
|
|
|
|
|
+| P0 | 缺则核心分析面不可判或核对锚点对不上 | 1(不足 2 年)、8(不足一季)、3(零交付)、5(切入切出/额定风速/生存温度) | 先补这些项的**缺口部分**:2024 年 10 分钟、2026-01 与 2026-07/08 的 CMS 导出、测风塔全量、机型参数表 |
|
|
|
| P1 | 缺则某一条面降级或不能交叉互证 | 6、4、10、16、19、21 | 坐标件、标准空气密度功率曲线、保护定值成册与偏航/降载荷控制策略、并网至今生产报表、大部件更换台账、部件参数明细 |
|
|
| P1 | 缺则某一条面降级或不能交叉互证 | 6、4、10、16、19、21 | 坐标件、标准空气密度功率曲线、保护定值成册与偏航/降载荷控制策略、并网至今生产报表、大部件更换台账、部件参数明细 |
|
|
|
| P2 | 缺则只影响专题或外部对照 | 2、12、13、14、17 | 1 s/5 s 高频、可研与微观选址、风电场简介、布置图、周边风电场报表 |
|
|
| P2 | 缺则只影响专题或外部对照 | 2、12、13、14、17 | 1 s/5 s 高频、可研与微观选址、风电场简介、布置图、周边风电场报表 |
|
|
|
| 不催 | 观澜无消费者 | 11 | 故障录波:如将来要做秒级故障回溯,再新增摄入器与判据 |
|
|
| 不催 | 观澜无消费者 | 11 | 故障录波:如将来要做秒级故障回溯,再新增摄入器与判据 |
|
|
|
|
|
|
|
|
|
|
+本表是第 12.1 节规则在样本场的落地;**换场重新定档后,P0/P1/P2 的项号可能不同**,按规则而非按本表的项号执行。
|
|
|
|
|
+
|
|
|
## 9 缺失与替代清单
|
|
## 9 缺失与替代清单
|
|
|
|
|
|
|
|
**表 9-1 缺失项、影响与替代件**
|
|
**表 9-1 缺失项、影响与替代件**
|
|
@@ -981,10 +986,10 @@
|
|
|
| 缺失项 | 影响 | 替代件与口径 | 性质 |
|
|
| 缺失项 | 影响 | 替代件与口径 | 性质 |
|
|
|
|---|---|---|---|
|
|
|---|---|---|---|
|
|
|
| 测风塔数据(零交付) | 自由流风速与湍流度缺场级参考;只能有机舱风速计与补偿风 | 用 `tur_wtc_SecAnemo_mean`(原生第二风速计)作曲线 X 轴;湍流度只能用 `WMET_ti` 一类的**未验证**代理量 | 现场补件 |
|
|
| 测风塔数据(零交付) | 自由流风速与湍流度缺场级参考;只能有机舱风速计与补偿风 | 用 `tur_wtc_SecAnemo_mean`(原生第二风速计)作曲线 X 轴;湍流度只能用 `WMET_ti` 一类的**未验证**代理量 | 现场补件 |
|
|
|
-| `m5_cms_tcm` handoff 正本缺失 | 工作台振动融合面(`/api/fleet` 的 `fus`)如实报缺件 | 观澜自算件:`scripts/rudong_fusion_handoff.py`(融合面)与 `scripts/component_history_build.py`(在升与换件闭环);**本机只有 1 个导出色窗,故在升与闭环如实为空**,数据边界写进 `meta.★数据边界`;现场正本在位时**正本优先** | 替代 |
|
|
|
|
|
|
|
+| `m5_cms_tcm` handoff 正本缺失 | 工作台振动融合面(`/api/fleet` 的 `fus`)如实报缺件 | 观澜自算件:`scripts/<场>_fusion_handoff.py`(融合面)与 `scripts/component_history_build.py`(在升与换件闭环);**本机只有 1 个导出色窗,故在升与闭环如实为空**,数据边界写进 `meta.★数据边界`;现场正本在位时**正本优先** | 替代 |
|
|
|
| 油样 2026-07 批 102 行 | 油液面从 506 行落到 404 行 | 摄入采取**合并语义**:认不出的老行原样保留、绝不删 | 现场补件(那份合并报告 PDF) |
|
|
| 油样 2026-07 批 102 行 | 油液面从 506 行落到 404 行 | 摄入采取**合并语义**:认不出的老行原样保留、绝不删 | 现场补件(那份合并报告 PDF) |
|
|
|
| CMS 六层链的模型层与融合层标准答案缺失 | `model_run_l6.parquet` 与 `fusion_38.csv` 从未随包,无法逐值对拍 | 已按包内既有判据**按口径重建**(判据不新写、只接线);实测窗 `w0316`:候选 1,026 条 → 过闸 14 条 → 定级参考 11 / 候选 3;`fusion_38.csv` 38 台 → 正常 13 / 参考 18 / 候选 7 | 替代(**不许当"复现"卖**) |
|
|
| CMS 六层链的模型层与融合层标准答案缺失 | `model_run_l6.parquet` 与 `fusion_38.csv` 从未随包,无法逐值对拍 | 已按包内既有判据**按口径重建**(判据不新写、只接线);实测窗 `w0316`:候选 1,026 条 → 过闸 14 条 → 定级参考 11 / 候选 3;`fusion_38.csv` 38 台 → 正常 13 / 参考 18 / 候选 7 | 替代(**不许当"复现"卖**) |
|
|
|
-| `oem_scan` 的峰值拾取口径缺失 | `oem_frequency_scan` 的分子(三对比值列)留空,脚本默认运行返回 rc=3 且**不写盘**(只写分母的件"看着像扫描结果、实则没有分子") | 分母与行骨架已就位并逐值验过(11/11 部件映射;行骨架 2,420 行逐键一致);配置与理论频率表已固化在 `reference/rudong/` | 研发/振动线补口径 |
|
|
|
|
|
|
|
+| `oem_scan` 的峰值拾取口径缺失 | `oem_frequency_scan` 的分子(三对比值列)留空,脚本默认运行返回 rc=3 且**不写盘**(只写分母的件"看着像扫描结果、实则没有分子") | 分母与行骨架已就位并逐值验过(11/11 部件映射;行骨架 2,420 行逐键一致);配置与理论频率表已固化在 `reference/<场>/` | 研发/振动线补口径 |
|
|
|
| 秒级高频(1 s/5 s)未用 | 变桨面只用 1 分钟层 | 1 分钟层已含零位三口径所需通道 | 现场补件(1 s/5 s) |
|
|
| 秒级高频(1 s/5 s)未用 | 变桨面只用 1 分钟层 | 1 分钟层已含零位三口径所需通道 | 现场补件(1 s/5 s) |
|
|
|
| 故障录波未接入 | 无(当前分析面不消费) | 无 | 不催 |
|
|
| 故障录波未接入 | 无(当前分析面不消费) | 无 | 不催 |
|
|
|
| 厂商月度报告 12 份为纯扫描件 | 「CMS 振动评估报告」的厂商侧数值取不出 | 只登记归档(记 sha256、大小、无文本层);有文本层的 docx 已转录 | 现场给电子件,或上 OCR |
|
|
| 厂商月度报告 12 份为纯扫描件 | 「CMS 振动评估报告」的厂商侧数值取不出 | 只登记归档(记 sha256、大小、无文本层);有文本层的 docx 已转录 | 现场给电子件,或上 OCR |
|
|
@@ -997,29 +1002,29 @@
|
|
|
|
|
|
|
|
### 10.1 体量与件数实测
|
|
### 10.1 体量与件数实测
|
|
|
|
|
|
|
|
-**表 10-1 实测体量与件数(2026-09-22)**
|
|
|
|
|
|
|
+**表 10-1 样本场实测体量与件数(2026-09-22)**
|
|
|
|
|
|
|
|
| 位置 | 件数 | 体量 |
|
|
| 位置 | 件数 | 体量 |
|
|
|
|---|---|---|
|
|
|---|---|---|
|
|
|
-| `data/raw/如东`(含 1 件散装按月核对件) | 26,504 | 约 224.67 GB |
|
|
|
|
|
-| `data/raw/如东/scada_10min` | 114 | 16,749,788,062 B(约 15.6 GB) |
|
|
|
|
|
-| `data/raw/如东/scada_1min` | 38 | 13,709,173,574 B(约 12.8 GB) |
|
|
|
|
|
-| `data/raw/如东/scada_mdb` | 100 | 48,247,200,121 B(约 44.9 GB) |
|
|
|
|
|
-| `data/raw/如东/windcms` | 25,693 | 161,219,600,707 B(约 150.1 GB) |
|
|
|
|
|
-| `data/raw/如东/故障报警` | 16 | 23,844,357 B(约 22.7 MB) |
|
|
|
|
|
-| `data/raw/如东/风机故障记录` | 137 | 149,795,133 B(约 142.9 MB) |
|
|
|
|
|
-| `data/raw/如东/油样报告` | 404 | 176,226,585 B(约 168.1 MB) |
|
|
|
|
|
-| `data/raw/如东/m5_cms_tcm` | 1 | 21,823,545 B(约 20.8 MB) |
|
|
|
|
|
-| `data/raw/西门子4.0技术资料` | 318 | 2,936,758,089 B(约 2.7 GB) |
|
|
|
|
|
-| `outputs/rudong` | 3,549 | 7,157.5 MB |
|
|
|
|
|
|
|
+| `data/raw/<场站>`(含 1 件散装按月核对件) | 26,504 | 约 224.67 GB |
|
|
|
|
|
+| `data/raw/<场站>/scada_10min` | 114 | 16,749,788,062 B(约 15.6 GB) |
|
|
|
|
|
+| `data/raw/<场站>/scada_1min` | 38 | 13,709,173,574 B(约 12.8 GB) |
|
|
|
|
|
+| `data/raw/<场站>/scada_mdb` | 100 | 48,247,200,121 B(约 44.9 GB) |
|
|
|
|
|
+| `data/raw/<场站>/windcms` | 25,693 | 161,219,600,707 B(约 150.1 GB) |
|
|
|
|
|
+| `data/raw/<场站>/故障报警` | 16 | 23,844,357 B(约 22.7 MB) |
|
|
|
|
|
+| `data/raw/<场站>/风机故障记录` | 137 | 149,795,133 B(约 142.9 MB) |
|
|
|
|
|
+| `data/raw/<场站>/油样报告` | 404 | 176,226,585 B(约 168.1 MB) |
|
|
|
|
|
+| `data/raw/<场站>/m5_cms_tcm` | 1 | 21,823,545 B(约 20.8 MB) |
|
|
|
|
|
+| `data/raw/<机型>技术资料` | 318 | 2,936,758,089 B(约 2.7 GB) |
|
|
|
|
|
+| `outputs/<场>` | 3,549 | 7,157.5 MB |
|
|
|
|
|
|
|
|
### 10.2 时间覆盖与缺口
|
|
### 10.2 时间覆盖与缺口
|
|
|
|
|
|
|
|
**如图 2-4 所示**,关键数据的时间覆盖如下。
|
|
**如图 2-4 所示**,关键数据的时间覆盖如下。
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
-**表 10-2 关键数据的时间覆盖**
|
|
|
|
|
|
|
+**表 10-2 关键数据的时间覆盖(样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 数据 | 起点 | 终点 | 覆盖 | 缺口 |
|
|
| 数据 | 起点 | 终点 | 覆盖 | 缺口 |
|
|
|
|---|---|---|---|---|
|
|
|---|---|---|---|---|
|
|
@@ -1036,13 +1041,13 @@
|
|
|
|
|
|
|
|
### 10.3 核对锚点
|
|
### 10.3 核对锚点
|
|
|
|
|
|
|
|
-重算后应与下列锚点对齐(本机实测):
|
|
|
|
|
|
|
+重算后应与下列锚点对齐(样本场实测 2026-09-22):
|
|
|
|
|
|
|
|
-**表 10-3 核对锚点**
|
|
|
|
|
|
|
+**表 10-3 核对锚点(样本场实测 2026-09-22)**
|
|
|
|
|
|
|
|
| 锚点 | 实测值 | 来源 |
|
|
| 锚点 | 实测值 | 来源 |
|
|
|
|---|---|---|
|
|
|---|---|---|
|
|
|
-| 报警台账行数 | 39,211 | `outputs/rudong/windscada/alarms.parquet` |
|
|
|
|
|
|
|
+| 报警台账行数 | 39,211 | `outputs/<场>/windscada/alarms.parquet` |
|
|
|
| 检修工单行数 | 5,876 | `workorders.parquet`(26 列) |
|
|
| 检修工单行数 | 5,876 | `workorders.parquet`(26 列) |
|
|
|
| 油样报告行数 | 404 | `oil_samples_index.parquet` |
|
|
| 油样报告行数 | 404 | `oil_samples_index.parquet` |
|
|
|
| 温度月表行数 | 19,494(基线口径) | `temp_monthly.parquet`;本机当前实测为 **21,492 行**(含补充件带来的 2026-08/09 新增月),两者差异已如实记录 |
|
|
| 温度月表行数 | 19,494(基线口径) | `temp_monthly.parquet`;本机当前实测为 **21,492 行**(含补充件带来的 2026-08/09 新增月),两者差异已如实记录 |
|
|
@@ -1058,11 +1063,11 @@
|
|
|
| 振动窗索引 | 2,066,686 行 × 54 列 | `m5_cms_tcm/windows/w0316/index.parquet` |
|
|
| 振动窗索引 | 2,066,686 行 × 54 列 | `m5_cms_tcm/windows/w0316/index.parquet` |
|
|
|
| 振动谱 | 420,742 条 / 1,701 分片 / 3.15 GB | `spectra_meta.parquet` + `spectra/*.npz` |
|
|
| 振动谱 | 420,742 条 / 1,701 分片 / 3.15 GB | `spectra_meta.parquet` + `spectra/*.npz` |
|
|
|
| 整定值 | 1,706 条 | `ontology/turbine_params.parquet` |
|
|
| 整定值 | 1,706 条 | `ontology/turbine_params.parquet` |
|
|
|
-| 故障码表 | 2,793 条(用码 322 个,覆盖 100%) | 如海代码表 |
|
|
|
|
|
|
|
+| 故障码表 | 2,793 条(用码 322 个,覆盖 100%) | 场站故障代码表 |
|
|
|
|
|
|
|
|
## 11 面向现场的收资清单
|
|
## 11 面向现场的收资清单
|
|
|
|
|
|
|
|
-**表 11-1 可打印收资清单**
|
|
|
|
|
|
|
+**表 11-1 可打印收资清单(本场口径;换场按第 12 章裁剪)**
|
|
|
|
|
|
|
|
| 优先级 | 数据项 | 最小可用量 | 必需测点 | 交付形式与命名 |
|
|
| 优先级 | 数据项 | 最小可用量 | 必需测点 | 交付形式与命名 |
|
|
|
|---|---|---|---|---|
|
|
|---|---|---|---|---|
|
|
@@ -1083,31 +1088,192 @@
|
|
|
| P2 | 机位布置图 | 一份 | 全场机组与升压站位置 | `.pdf` 或 `.dwg` |
|
|
| P2 | 机位布置图 | 一份 | 全场机组与升压站位置 | `.pdf` 或 `.dwg` |
|
|
|
| P2 | 周边风电场生产报表 | 覆盖分析时间窗 | 风速、发电量、故障率、限电量 | 表格 |
|
|
| P2 | 周边风电场生产报表 | 覆盖分析时间窗 | 风速、发电量、故障率、限电量 | 表格 |
|
|
|
|
|
|
|
|
|
|
+## 12 通用收资模板与换场适配
|
|
|
|
|
+
|
|
|
|
|
+第 8 章的逐条结论只对样本场成立。换场能复用的不是这些结论,而是**得出这些结论的规则**。本章把收资做成两部分:**通用必选与可选判定规则**(第 12.1 节,不依赖具体场)与**换场适配件**(第 12.2 至第 12.5 节:场配置、数据源形态、差异清单、裁剪步骤)。
|
|
|
|
|
+
|
|
|
|
|
+### 12.1 通用必选/可选判定规则
|
|
|
|
|
+
|
|
|
|
|
+#### 12.1.1 五问定档
|
|
|
|
|
+
|
|
|
|
|
+一项收资到底是"必须"还是"可选",只问五个与场无关的问题。判定顺序:先问 R5(有没有消费者),命中"无消费者"就直接**不催**;否则依次问 R1、R2、R3、R4,**首个命中即定档**。
|
|
|
|
|
+
|
|
|
|
|
+**表 12-1 通用判定规则(五问定档)**
|
|
|
|
|
+
|
|
|
|
|
+| 规则 | 判定问题 | 命中则 | 规则档 | 缺了会怎样 |
|
|
|
|
|
+|---|---|---|---|---|
|
|
|
|
|
+| R5 无消费者 | 本系统有没有摄入器与产物真的消费它? | 没有 | 不催 | 无影响;将来要做该专题时再新增摄入器与判据 |
|
|
|
|
|
+| R1 主线阻断 | 缺了会不会让判级四轴、发电性能、可靠性、台账或合同指标对标中任一条主线面不可判,或让核对锚点对不上? | 会 | P0(必须) | 该主线面显示"缺件/不可判",重算链对应步骤响亮报错或跳过,**不造数** |
|
|
|
|
|
+| R2 精度与互证 | 缺了不阻断主线,但会不会让结论精度下降、跨源互证或"检出 → 处置 → 复测"闭环做不了? | 会 | P1(建议) | 结论仍在,但依据变少,跨源互证与闭环缺一环 |
|
|
|
|
|
+| R3 有自算替代 | 缺了能不能由本系统**自算件**或**已在位的其他数据**按已登记口径顶替? | 能 | P2(替代) | 用替代件并如实标注来源;现场正本在位时**正本优先** |
|
|
|
|
|
+| R4 只影响外部对照 | 缺了是不是只让某个专题或场外对照(邻场报表、可研与微观选址、测风塔外部锚)缺参照? | 是 | P2(可选) | 只有对应专题或外部对照不可做 |
|
|
|
|
|
+
|
|
|
|
|
+#### 12.1.2 21 项收资的规则化分档
|
|
|
|
|
+
|
|
|
|
|
+按上表过一遍收资要求 v3 的 21 项,得到**与场无关**的分档(表 12-2)。第 8.3 节的优先级建议是同一套规则在样本场的落地:已在位的 P0 与 P1 项不再列入催缴动作,只保留缺口部分。
|
|
|
|
|
+
|
|
|
|
|
+**表 12-2 21 项收资的规则化分档**
|
|
|
|
|
+
|
|
|
|
|
+| 序号 | 收资项 | 命中规则 | 规则档 | 换场动作(与场无关的表述) |
|
|
|
|
|
+|---|---|---|---|---|
|
|
|
|
|
+| 1 | 10 分钟 SCADA 数据 | R1 | P0 | 逐台导出覆盖分析时间窗;判级参照时间窗与季节匹配时间窗各需一段;缺台即该台不可判 |
|
|
|
|
|
+| 2 | 秒级 SCADA 高频数据 | R3 | P2 | 无 1 秒或 5 秒原生高频时,用 1 分钟转发层顶替 |
|
|
|
|
|
+| 3 | 测风塔数据 | R1 | P0 | 前期实地测风满一年,运行期一整年分钟级;缺则自由流与湍流度只能用代理量 |
|
|
|
|
|
+| 4 | 功率曲线 | R2 | P1 | 标准空气密度曲线与合同担保曲线各一条;缺则只能做机群相对比较 |
|
|
|
|
|
+| 5 | 机型参数 | R1 | P0 | 换机型即换表:切入切出风速、额定风速、额定功率、叶轮直径、轮毂高度、传动比、生存温度 |
|
|
|
|
|
+| 6 | 机位分布数据 | R2 | P1 | 逐台坐标与海拔(含轮毂高度);坐标不可自算 |
|
|
|
|
|
+| 7 | 机组状态、事件、故障、告警数据 | R1 | P0 | 状态码表、故障码表与详细记录按场重收;码表是厂家私有命名空间 |
|
|
|
|
|
+| 8 | 机舱 CMS 振动数据 | R1 | P0 | 至少一个季度的秒级振动数据(非加密)与原始振动时域波形;缺则振动侧无源可算 |
|
|
|
|
|
+| 9 | 机组统计数据或运行数据 | R1 | P0 | 年月日统计量可由 SCADA 与汇总层重建,但前提是第 1 项到位 |
|
|
|
|
|
+| 10 | 机组保护定值及控制参数 | R2 | P1 | 定值表成册加偏航控制策略与降载荷控制策略;控制参数一致性件可先由数据反演顶替 |
|
|
|
|
|
+| 11 | 机组故障录波数据 | R5 | 不催 | 本系统不消费;将来要做秒级故障回溯时再新增摄入器与判据 |
|
|
|
|
|
+| 12 | 可研报告及微观选址报告 | R4 | P2 | 逐台设计基线与测风依据用作外部对照 |
|
|
|
|
|
+| 13 | 风电场简介 | R4 | P2 | 场站元信息(规模、投产时间、海域特性)用于背景与署名 |
|
|
|
|
|
+| 14 | 风电场坐标、机位布置图 | R4 | P2 | 布置图可由坐标件生成;第 6 项到位后本项只影响图示对照 |
|
|
|
|
|
+| 15 | 风机技术协议及风机合同 | R1 | P0 | 担保曲线与保证率条款是合同指标对标的依据 |
|
|
|
|
|
+| 16 | 并网到现在的生产报表 | R2 | P1 | 与 SCADA 侧损失账对拍;口径必须成册 |
|
|
|
|
|
+| 17 | 周围已建风电场生产报表 | R4 | P2 | 尾流与场级损耗的外部对照 |
|
|
|
|
|
+| 18 | 运维记录 | R2 | P1 | 维护与检修台账,与油样、报警三源交叉 |
|
|
|
|
|
+| 19 | 大部件更换记录 | R2 | P1 | 逐次更换的时间、机组、部件、原因;缺则闭环停在处置侧 |
|
|
|
|
|
+| 20 | 图纸、技术文件 | R1 | P0 | 电气控制、液压、逻辑图与保护定值表是位域语义与判据的最终依据 |
|
|
|
|
|
+| 21 | 设备参数 | R2 | P1 | 逐部件型号与齿数是振动阶次定位与寿命评估的分母 |
|
|
|
|
|
+
|
|
|
|
|
+小结:按规则分档为 **P0 八项**(1、3、5、7、8、9、15、20)、**P1 七项**(4、6、10、16、18、19、21)、**P2 五项**(2、12、13、14、17)、**不催一项**(11)。
|
|
|
|
|
+
|
|
|
|
|
+### 12.2 场配置字段对照表
|
|
|
|
|
+
|
|
|
|
|
+换场的第一件事是写一份 `configs/farms/<场>.yaml`(模板见 `configs/farms/_模板.yaml.example`)。必填键缺任何一个,场定义在加载时**响亮报错**(提示"场配置缺必需键"并列出缺的键名),页面与重算链都不会带着半套配置起来。
|
|
|
|
|
+
|
|
|
|
|
+**表 12-3 场配置必填键 → 对应收资项 → 缺了会怎样**
|
|
|
|
|
+
|
|
|
|
|
+| 必填键 | 含义与取值形态 | 对应收资里的哪一类 | 缺了会怎样 |
|
|
|
|
|
+|---|---|---|---|
|
|
|
|
|
+| `name` | 场站名(对外文档只出现场站名,不出现业主与地域) | 第 13 项 风电场简介、第 15 项 风机技术协议及风机合同 | 页面与报告无处署名,`outputs/<场>/` 无落点,台账筛选缺默认场名 |
|
|
|
|
|
+| `n_turbines` | 机组台数(整数) | 第 1 项 10 分钟 SCADA、第 2 项 秒级高频、第 6 项 机位分布 | 台数无从校验,"按台取数"缺完整性判据;整族缺台不报错、只出空白 |
|
|
|
|
|
+| `turbines` | 机组号列表或简写(如 `WTG{:02d}:1-38`,或直接列全) | 第 1 项、第 2 项、第 6 项(台号与内部台号对照) | 主件文件名对不上、1 分钟内部台号无法映射,邻域分析失去台号基准 |
|
|
|
|
|
+| `src_10min` | 10 分钟源件目录(`data/raw/<场站>/scada_10min`) | 第 1 项 10 分钟 SCADA | 该族扫描不到,判级四轴、七镜头曲线、损失账、停机账同时无输入 |
|
|
|
|
|
+| `src_alarm` | 报警事件导出目录(`data/raw/<场站>/故障报警`) | 第 7 项 机组状态、事件、故障、告警数据 | 报警台账为 0 行,停机原因链、限电绑定、首发链不可用 |
|
|
|
|
|
+| `store` | 标准仓落点(`outputs/<场>/windscada`) | 第 9 项 机组统计数据或运行数据(产物落点) | 产物无处落盘,页面读不到本场仓 |
|
|
|
|
|
+| `rated_kw` | 单机额定功率(kW) | 第 5 项 机型参数 | 功率曲线基准、损失电量折算与限电判定失去额定口径 |
|
|
|
|
|
+
|
|
|
|
|
+三个 `src_*` 与 `store` 一类键**留空即可由扫描派生**:加载器先按 `raw_station` 辨识 `data/raw/` 下的场站目录,再把各约定子目录补成 `src_10min`、`src_1min`、`src_alarm`、`src_workorder`、`src_oil` 等;显式给了就以显式值为准(现场件目录名与约定不同时走这一条)。两份建议键:`raw_station`(`data/raw/` 下的实际目录名,扫描辨识首选)与 `src_farm_names`(台账里的场名写法别名,集团导出件常与配置名不同);`contract` 指向 `reference/<场>/windscada_contract.yaml`。
|
|
|
|
|
+
|
|
|
|
|
+### 12.3 不同数据源形态的适配
|
|
|
|
|
+
|
|
|
|
|
+第 8 章回答"要什么数据",换场还要回答"现场给的是哪种形态"。三种常见形态的**最小可用量**与**列名绑定要求**不同,分别如下。
|
|
|
|
|
+
|
|
|
|
|
+#### 12.3.1 形态一:CSV 逐台转发层
|
|
|
|
|
+
|
|
|
|
|
+**形态判据**:源类目录下平铺逐台文件,10 分钟层为 `WTG<NN>.csv`、1 分钟层为 `<NN><线路字母>.csv`,另可有同台补充件 `<台号>-*.csv`。
|
|
|
|
|
+
|
|
|
|
|
+**最小可用量**:逐台一份,覆盖分析时间窗;10 分钟层必须含第 5.2 节的 48 列公共子集(缺列即对应分析面不可判);采样周期 600 s(10 分钟)或 60 s(1 分钟)。
|
|
|
|
|
+
|
|
|
|
|
+**列名绑定要求**:一律**按列名**读取、**禁用位置索引**——同一场各台列序互不相同,按位置取数会得到"名字对不上数"的数据;同台补充件与新导出会去掉类型前缀(`din_wtc_X` 变成 `wtc_X`),对齐也只能按列名;缺列写进 `columns_missing`,**不造 0、不静默丢列**;CSV 编码必须是 `utf-8-sig`(含字节顺序标记(BOM)),否则中文列名会读成乱码;时间戳按 `YYYY-MM-DD HH:MM:SS`,同一场两侧必须同一约定。
|
|
|
|
|
+
|
|
|
|
|
+#### 12.3.2 形态二:现场月度类目归档库
|
|
|
|
|
+
|
|
|
|
|
+**形态判据**:现场按"月份 × 通道组"交付的类目归档库(`.mdb`),落位为 `data/raw/<场站>/scada_mdb/<年>年/<月>月/<年>-<月>-<类>.mdb`。它是 10 分钟同台补充件的**上游**:取数层不直接读类目库,先合成同台补充件 CSV;某台没有 CSV 时回落到 `<年>年/<月>月/*-10min.mdb`。
|
|
|
|
|
+
|
|
|
|
|
+**最小可用量**:9 个逐台类目按分析时间窗逐月齐,且与主件**前缀块一一对应、0 缺 0 多**(样本场实测 595 通道)。逐台类目与通道数随测点清单变,**换机型必须重新核对**,不能沿用样本场的数字。
|
|
|
|
|
+
|
|
|
|
|
+**表 12-4 12 类目 ↔ 中文目录名 ↔ 契约列前缀 ↔ 通道数(样本场实测 2026-09-22)**
|
|
|
|
|
+
|
|
|
|
|
+| 类目码 | 中文目录名 | 契约列前缀 | 通道数 | 是否逐台 |
|
|
|
|
|
+|---|---|---|---|---|
|
|
|
|
|
+| `tur` | 风机数据 | `tur_wtc_` | 91 | 逐台 |
|
|
|
|
|
+| `din` | DigiIn数据 | `din_wtc_` | 93 | 逐台 |
|
|
|
|
|
+| `dot` | DigiOut数据 | `dot_wtc_` | 69 | 逐台 |
|
|
|
|
|
+| `cnt` | 计算数据 | `cnt_wtc_` | 69 | 逐台 |
|
|
|
|
|
+| `tmp` | 温度数据 | `tmp_wtc_` | 116 | 逐台 |
|
|
|
|
|
+| `prs` | 压力数据 | `prs_wtc_` | 52 | 逐台 |
|
|
|
|
|
+| `grd` | 电网数据 | `grd_wtc_` | 50 | 逐台 |
|
|
|
|
|
+| `flg` | 标志数据 | `flg_wtc_` | 42 | 逐台 |
|
|
|
|
|
+| `int` | 内部数据 | `int_wtc_` | 13 | 逐台 |
|
|
|
|
|
+| `scd` | 统计数据 | —— | —— | 台账级 |
|
|
|
|
|
+| `std` | 标准数据 | —— | —— | 台账级 |
|
|
|
|
|
+| `sum` | 汇总数据 | —— | —— | 台账级(含 `AlarmLog` 事件与 `ParkPilot` 限电指令流水、`DailySummary`) |
|
|
|
|
|
+| 合计 | 逐台 9 类目 | —— | **595** | —— |
|
|
|
|
|
+
|
|
|
|
|
+**列名绑定要求**:类目库存 double、时间写 `MM/DD/YYYY HH:MM:SS`,合成补充件时按 **float32 + ISO** 对齐;Access 列名不能含 `.`、`!`、`[`、`]`,建库时被消毒(非法字符换 `_`、截断 60、撞名加 `_1`),读侧必须用**同一套规则**把契约列名翻进翻出,否则会静默少列;行序按 `rid` **数值**排(库内是文本,直接合并会得到 `1,10,100…` 的字典序);类目库覆盖不到 `scd`、`std`、`sum` 三类台账级数据,台账面仍要按第 8 章单独收。
|
|
|
|
|
+
|
|
|
|
|
+#### 12.3.3 形态三:其它 OEM 导出
|
|
|
|
|
+
|
|
|
|
|
+**形态判据**:换主机制造商(OEM)或换机型后,现场给的往往不是上面两种:测点命名、类目切分、时间戳与时区、单位与量纲、台号写法都可能不同。
|
|
|
|
|
+
|
|
|
|
|
+**最小可用量**:能映射到 canonical 测点的列加明确的时间戳加明确的台号,逐台覆盖分析时间窗;状态码表、故障码表各一份;不要求与样本场同列名,但**要求可映射且映射可审计**。
|
|
|
|
|
+
|
|
|
|
|
+**列名绑定要求**:先建**别名表**(`configs/canonical/alias/<机型>_<场>.yaml`)把现场列名映射到 canonical 测点名,再在机型字段契约(`configs/contracts/<机型>_<场>.yaml`)里登记列名、单位与 `valid_range`;单位按变体表归一(温度的 `degC` 与 `C`、风速的 `m/s` 与 `mps`、频率的 `Hz` 与 `mHz` 都是同量纲变体),压力类 `bar`、`kPa`、`Pa`、`hPa` 四种并存,**必须逐条看词条**、不能按"压力就是 bar"推定;不许按位置索引;查不到单位的写"未取证",绝不凭常识补。术语与单位的中文写法可在 `configs/terms/display_map.yaml` 里按场覆盖。接新 OEM 与新数据形态的扩展点、以及换场会失效的假设,见《设计说明_观澜_2.10.1.docx》第 16 章。
|
|
|
|
|
+
|
|
|
|
|
+### 12.4 换场收资差异清单
|
|
|
|
|
+
|
|
|
|
|
+下面六类东西**换场必须重新收**,样本场的件不能沿用(表 12-5);它们也是第 12.5 节裁剪步骤里的必答项。
|
|
|
|
|
+
|
|
|
|
|
+**表 12-5 换场收资差异清单**
|
|
|
|
|
+
|
|
|
|
|
+| 差异项 | 换场必须重新收什么 | 为什么 |
|
|
|
|
|
+|---|---|---|
|
|
|
|
|
+| 机型参数表 | 机型代号与机型级常量:额定功率、叶轮直径、轮毂高度、传动比、切入切出与额定风速、生存温度 | 它们是振动的分母、功率曲线的基准、控制参数的参照;样本场的取值只属样本场机型 |
|
|
|
|
|
+| 测点清单 | 逐台类目与通道清单、契约列名、单位与 `valid_range` | 测点随 OEM 与机型变;列名绑定必须先有清单才能对齐,通道数不能照搬样本场 |
|
|
|
|
|
+| 故障代码表 | 场站故障代码表与中英文对译表、状态码表及说明 | 故障码是厂家私有命名空间,跨 OEM 不通用;样本场的条数与用码覆盖率不适用于他场 |
|
|
|
|
|
+| 坐标件 | 场站坐标件(现场交付件):逐台经度、纬度、海拔(含轮毂高度)、机型,另加升压站 | 邻域与尾流先验、扇区分析、台号与集电线路串的地理对照都以坐标为准,而坐标**不可自算** |
|
|
|
|
|
+| 控制与保护定值 | 整定值表(含 `Min`、`Max`、`Default`、`Current` 与单位)、偏航控制策略、降载荷控制策略 | 定值随机型与场址条件(气温、盐雾、电网条件)变;控制参数一致性件的"尺子"必须换成新场的定值 |
|
|
|
|
|
+| 阈值口径 | 温度档带宽判据、配对差阈值、界外转缺失的物理界、量化与哨兵族、空气密度与湍流度口径 | 阈值是场与机型相关的标定量;样本场的判据未经新场标定不得引用 |
|
|
|
|
|
+
|
|
|
|
|
+另有两条不属于"收资件"但换场会一并变的:台号与内部台号的对照表,以及台账里的场名写法(对应场配置的 `src_farm_names`)。
|
|
|
|
|
+
|
|
|
|
|
+### 12.5 按场裁剪步骤
|
|
|
|
|
+
|
|
|
|
|
+一页可执行,顺序不能颠倒。
|
|
|
|
|
+
|
|
|
|
|
+1. **先看**:拿到现场包先判形态(第 12.3 节的哪一种,或混用);数逐台件数与台数、看时间戳写法与时区、抽样看列名与单位;把"形态是什么、缺什么"记成一页备注。
|
|
|
|
|
+2. **先写场配置**:复制 `configs/farms/_模板.yaml.example` 为 `configs/farms/<场>.yaml`,填齐第 12.2 节的七个必填键,`raw_station` 写成 `data/raw/` 下的实际目录名。
|
|
|
|
|
+3. **按规则定档**:用第 12.1.1 节的五问逐条过 21 项,得到本场的 P0/P1/P2 与"不催"清单;P0 是阻断主线的,必须收齐,P1 是精度与互证的,P2 是专题与外部对照的。
|
|
|
|
|
+4. **按形态收最小可用量**:形态一收逐台 CSV(含 48 列公共子集),形态二收齐分析时间窗内逐月逐类目,形态三先收别名映射与单位口径。
|
|
|
|
|
+5. **收换场差异六项**:机型参数表、测点清单、故障代码表、坐标件、控制与保护定值、阈值口径(第 12.4 节);这六项的缺口写成"未取证",不猜、不沿用样本场。
|
|
|
|
|
+6. **放**:按"源类目录 → 再往下一层就是文件"落位(第 7 章表 7-1);先 `python scripts\raw_data_check.py --src <现场包>` 看计划,再 `python scripts\place_raw_data.py --src <现场包>` 落位,同名不同大小会被拦下等人确认。
|
|
|
|
|
+7. **验**:落完立刻跑 `python scripts\raw_data_check.py --deep` 看退出码(0 合规、5 结构或命名违例、6 增量冲突、7 缺源类或时间空洞);再 `python scripts\raw_scan.py --check`(rc=4 是有新数据,不是失败);最后 `python scripts\rebuild_all.py --auto` 重算并逐项核对锚点。
|
|
|
|
|
+8. **记**:把本场的实测件数、体量、时间覆盖、锚点与缺口写成一页并标注实测日期;换场前样本场的数字一律不搬。
|
|
|
|
|
+
|
|
|
|
|
+### 12.6 与需求分析、设计说明的对应关系
|
|
|
|
|
+
|
|
|
|
|
+本章与《需求分析_观澜_2.10.1.docx》第 11 章(多场适用性需求:场配置化、机组与机型可替换、数据源形态可适配、阈值按场标定、术语与单位可配、按场裁剪收资)、与《设计说明_观澜_2.10.1.docx》第 16 章(场抽象层与配置 schema、场无关引擎与场相关参数分层、换场作业单与检查表)是同一件事的"要什么、怎么配、收什么"三面,字段与判定规则以本章第 12.1 与第 12.2 节为准。
|
|
|
|
|
+
|
|
|
## 附录 A 编写依据
|
|
## 附录 A 编写依据
|
|
|
|
|
|
|
|
**表 A-1 章节与来源文件对照**
|
|
**表 A-1 章节与来源文件对照**
|
|
|
|
|
|
|
|
| 章节 | 来源文件 |
|
|
| 章节 | 来源文件 |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
-| 第 1 章 | 本文自定口径;`configs/canonical/dictionary.yaml`、`configs/contracts/siemens_swt40_rudong.yaml` |
|
|
|
|
|
|
|
+| 第 1 章 | 本文自定口径;`configs/canonical/dictionary.yaml`、`configs/contracts/<机型>_<场>.yaml` |
|
|
|
| 第 2 章 | `docs/输入数据放置指导_v0.1.md`(族、体量实测)、`docs/系统设计说明.md` §13(输入→功能→产物) |
|
|
| 第 2 章 | `docs/输入数据放置指导_v0.1.md`(族、体量实测)、`docs/系统设计说明.md` §13(输入→功能→产物) |
|
|
|
| 第 3 章 | `docs/数据目录结构与落位约定_v0.2.md`、`scripts/raw_scan.py`(族表与消费者口径)、`scripts/raw_data_check.py`(后缀约定) |
|
|
| 第 3 章 | `docs/数据目录结构与落位约定_v0.2.md`、`scripts/raw_scan.py`(族表与消费者口径)、`scripts/raw_data_check.py`(后缀约定) |
|
|
|
-| 第 4 章 | `docs/输入数据放置指导_v0.1.md`、`docs/数据目录结构与落位约定_v0.2.md`、`docs/振动数据接入_v0.1.md`、`docs/向振动线取料单_v0.1.md`、`configs/contracts/siemens_swt40_rudong.yaml` |
|
|
|
|
|
-| 第 5.1 节 | `docs/输入数据放置指导_v0.1.md` §4.1(595 通道构成)、`configs/contracts/siemens_swt40_rudong.yaml` `native_wps` 节、`reference/rudong/windscada_contract.yaml` |
|
|
|
|
|
|
|
+| 第 4 章 | `docs/输入数据放置指导_v0.1.md`、`docs/数据目录结构与落位约定_v0.2.md`、`docs/振动数据接入_v0.1.md`、`docs/向振动线取料单_v0.1.md`、`configs/contracts/<机型>_<场>.yaml` |
|
|
|
|
|
+| 第 5.1 节 | `docs/输入数据放置指导_v0.1.md` §4.1(595 通道构成)、`configs/contracts/<机型>_<场>.yaml` `native_wps` 节、`reference/<场>/windscada_contract.yaml` |
|
|
|
| 第 5.2 节 | `scripts/scada_slim_build.py`(48 列公共子集与用途注释)、`src/windscada/data.py`(`load_10min`、`contracted_cols`) |
|
|
| 第 5.2 节 | `scripts/scada_slim_build.py`(48 列公共子集与用途注释)、`src/windscada/data.py`(`load_10min`、`contracted_cols`) |
|
|
|
-| 第 5.3 节 | `src/windscada/subsys/temp_nbm.py`(通道、档带宽判据、季节解耦闸)、`configs/contracts/siemens_swt40_rudong.yaml` |
|
|
|
|
|
-| 第 5.4 节 | `docs/振动数据接入_v0.1.md`、`docs/振动六层链_接口规格与缺口_v0.1.md`、`reference/rudong/oem_scan_plan.json`、`outputs/rudong/m5_cms_tcm/windows/w0316/`(只读实测) |
|
|
|
|
|
-| 第 5.5 节 | `configs/canonical/dictionary.yaml`(WMET 族)、`configs/contracts/siemens_swt40_rudong.yaml` `materials.mast` |
|
|
|
|
|
-| 第 5.6 节 | `configs/contracts/siemens_swt40_rudong.yaml`、`reference/rudong/windscada_machine_facts.yaml`、`reference/rudong/gear_mesh_map_measured.json`、`reference/rudong/oem_bearing_freqs.json` |
|
|
|
|
|
-| 第 5.7 节 | `configs/contracts/siemens_swt40_rudong.yaml` `event_log` 节、`reference/rudong/alarm_code_cn.json` |
|
|
|
|
|
-| 第 5.8 节 | `src/windscada/perf/control.py`、`outputs/rudong/ontology/turbine_params.parquet`(只读实测) |
|
|
|
|
|
-| 第 6 章 | `configs/contracts/siemens_swt40_rudong.yaml`、`docs/输入数据放置指导_v0.1.md` §4.1、`src/windscada/subsys/temp_nbm.py`、`src/windscada/mdb_names.py` |
|
|
|
|
|
|
|
+| 第 5.3 节 | `src/windscada/subsys/temp_nbm.py`(通道、档带宽判据、季节解耦闸)、`configs/contracts/<机型>_<场>.yaml` |
|
|
|
|
|
+| 第 5.4 节 | `docs/振动数据接入_v0.1.md`、`docs/振动六层链_接口规格与缺口_v0.1.md`、`reference/<场>/oem_scan_plan.json`、`outputs/<场>/m5_cms_tcm/windows/w0316/`(只读实测) |
|
|
|
|
|
+| 第 5.5 节 | `configs/canonical/dictionary.yaml`(WMET 族)、`configs/contracts/<机型>_<场>.yaml` `materials.mast` |
|
|
|
|
|
+| 第 5.6 节 | `configs/contracts/<机型>_<场>.yaml`、`reference/<场>/windscada_machine_facts.yaml`、`reference/<场>/gear_mesh_map_measured.json`、`reference/<场>/oem_bearing_freqs.json` |
|
|
|
|
|
+| 第 5.7 节 | `configs/contracts/<机型>_<场>.yaml` `event_log` 节、`reference/<场>/alarm_code_cn.json` |
|
|
|
|
|
+| 第 5.8 节 | `src/windscada/perf/control.py`、`outputs/<场>/ontology/turbine_params.parquet`(只读实测) |
|
|
|
|
|
+| 第 6 章 | `configs/contracts/<机型>_<场>.yaml`、`docs/输入数据放置指导_v0.1.md` §4.1、`src/windscada/subsys/temp_nbm.py`、`src/windscada/mdb_names.py` |
|
|
|
| 第 7 章 | `docs/输入数据放置指导_v0.1.md`(增量三判定、退出码、放置后动作)、`scripts/raw_scan.py`、`scripts/rebuild_all.py`、`docs/系统设计说明.md` §13.2 |
|
|
| 第 7 章 | `docs/输入数据放置指导_v0.1.md`(增量三判定、退出码、放置后动作)、`scripts/raw_scan.py`、`scripts/rebuild_all.py`、`docs/系统设计说明.md` §13.2 |
|
|
|
-| 第 8 章 | `F:\temp\_h9\req_v3_table.tsv`(收资要求 v3 原文)、`scripts/delivery_docs_figures.py` 的到位状态表、`configs/contracts/siemens_swt40_rudong.yaml` `materials` 节、`data/raw` 实测 |
|
|
|
|
|
|
|
+| 第 8 章 | 现场《数据分析收资要求-v3.docx》(收资要求 v3 原文)、`scripts/delivery_docs_figures.py` 的到位状态表、`configs/contracts/<机型>_<场>.yaml` `materials` 节、`data/raw` 样本场实测 2026-09-22 |
|
|
|
| 第 9 章 | `docs/振动数据接入_v0.1.md` §7、`docs/振动六层链_接口规格与缺口_v0.1.md`、`docs/数据目录结构与落位约定_v0.2.md` §4、`docs/系统设计说明.md` §7 |
|
|
| 第 9 章 | `docs/振动数据接入_v0.1.md` §7、`docs/振动六层链_接口规格与缺口_v0.1.md`、`docs/数据目录结构与落位约定_v0.2.md` §4、`docs/系统设计说明.md` §7 |
|
|
|
-| 第 10 章 | `data/raw/如东` 与 `outputs/rudong` 只读实测、`docs/输入数据放置指导_v0.1.md` §4 与 §6、`outputs/rudong/_raw_scan.json` |
|
|
|
|
|
-| 附录 B | `configs/canonical/dictionary.yaml` 的 `unit_majority` 与 `unit_variants`、`configs/contracts/siemens_swt40_rudong.yaml` 的 `unit` 字段 |
|
|
|
|
|
-| 附录 C | `F:\temp\_h9\req_v3_table.tsv`(逐字) |
|
|
|
|
|
|
|
+| 第 10 章 | `data/raw/<场站>` 与 `outputs/<场>` 只读实测、`docs/输入数据放置指导_v0.1.md` §4 与 §6、`outputs/<场>/_raw_scan.json` |
|
|
|
|
|
+| 第 11 章 | 第 4 章与第 8 章的口径汇总(最小可用量、必需测点、交付形式)、`docs/输入数据放置指导_v0.1.md` §4 |
|
|
|
|
|
+| 第 12 章 | `src/windscada/config.py`(`REQUIRED` 必填键与 `src_*` 派生)、`configs/farms/_模板.yaml.example`(场配置模板)、`configs/terms/display_map.yaml`(术语与单位显示映射)、`docs/输入数据放置指导_v0.1.md` §4.1(12 类目 ↔ 类目码 ↔ 595 通道)、`src/windscada/scada_source.py`(CSV 与 MDB 双形态取数)、`configs/canonical/alias/`(别名表) |
|
|
|
|
|
+| 附录 B | `configs/canonical/dictionary.yaml` 的 `unit_majority` 与 `unit_variants`、`configs/contracts/<机型>_<场>.yaml` 的 `unit` 字段 |
|
|
|
|
|
+| 附录 C | 现场《数据分析收资要求-v3.docx》(逐字) |
|
|
|
|
|
+
|
|
|
|
|
+**占位符与替换规则**
|
|
|
|
|
+
|
|
|
|
|
+- `<场站>`:现场在 `data/raw/` 下实际使用的场站目录名,必须与场配置的 `raw_station` 同名(或以 `src_farm_names` 对得上)。
|
|
|
|
|
+- `<场>`:场配置名(`configs/farms/<场>.yaml` 的文件名),也是 `outputs/<场>/` 与 `reference/<场>/` 的目录名;当前场可用环境变量 `WINDSCADA_FARM=<场>` 选定。
|
|
|
|
|
+- `<机型>`:机型代号(本样本为 4.0 MW 级海上机组,代号从略),出现在 `configs/contracts/<机型>_<场>.yaml`、`data/raw/<机型>技术资料/` 与按场命名的脚本名 `scripts/<场>_*.py` 里。
|
|
|
|
|
+- `<台号>`、`<NN>`、`<线路字母>`:场配置 `turbines` 展开后的机组号,以及台号与其集电线路串(`WTG01` 至 `WTG38` 是样本场内部编号,换场按实际台号替换)。
|
|
|
|
|
+- `<年>`、`<月>`、`<类>`、`<包名>`、`<部件>` 一类:现场件自带的年、月、类目码、导出包名与部件名,原样保留、不翻译。
|
|
|
|
|
+- 替换占位符之后**规则不变**:列名绑定、单位归一、必选与可选判定、落位判据、退出码语义与锚点口径都按本文正文执行。
|
|
|
|
|
|
|
|
## 附录 B 单位与符号表
|
|
## 附录 B 单位与符号表
|
|
|
|
|
|