# 5 号机缸体振动标签(临时实验目录) > 位置:项目根目录 `_tmp_cylinder_vibration/`。 > 参考 `_tmp_temperature/` 的组织方式;**未改动 `models/`**。 > 当前阶段只做到:算法、整机事件标签、统一字段、HTML、报告和说明文档,暂不合并进模型。 ## 目标 把 5 号机缸体振动做成和温度/润滑油压力类似的“故障演化标签”: - 15 分钟首周期波形特征; - 动态局部基线(1~30 天); - 轻微 / 异常 / 严重异常三级; - 相邻小时合并成小时标签,作为单缸候选明细; - 最终标签改为**整机多缸振动事件**,不再用单缸标签代表故障; - 事件排除开机后 6 小时、停机前 6 小时; - 最终事件要求 24 小时内至少 4 个缸有候选、其中至少 2 条异常/严重异常; - 同一时刻 6 缸并排查看,标签前后各补 6 小时; - 标签带可读的 `阶段触发依据`; - 输出整机事件表,后续可进入数据库/模型。 ## 数据口径 - 机组:5 号机; - 点位:`5号机组一缸缸体振动` ~ `5号机组六缸缸体振动`; - 每个文件只用**首周期**; - 只使用运行态:`rpm > 0`; - 约 15 分钟一个文件; - 温度只作为事后对照,不参与振动标签生成。 ## 目录 | 文件 | 作用 | |---|---| | `config.py` | 机组、缸号、事件、阈值和路径 | | `data.py` | 读取 `wave_file` / `wave_sample_one` 和温度参考 | | `features.py` | 首周期时域、频域、包络、跨缸残差特征 | | `local_labels.py` | 30 天动态局部基线、稳健阈值、15 分钟标签 | | `adaptive.py` | 自适应扩段、方向、等级、显著性 | | `hourly.py` | 15 分钟标签汇总为小时标签,相邻小时合并 | | `review.py` | 排查指标和 `review_flags` | | `unified_labels.py` | 映射为统一故障标签字段 | | `machine_events.py` | 稳定运行段、整机多缸事件合并与验证 | | `context_html.py` | 生成 `waveforms.html` 交互排查页 | | `make_report.py` | 生成旧版单缸候选报告(历史口径) | | `run_full.py` | 全时段特征和标签 | | `run_context.py` | 小时标签、排查指标、HTML | | `run_machine_events.py` | 生成最终整机事件标签、验证表、摘要 | | `out/` | 标签、统一表、报告、截图 | ## 快速运行 ```bash # 1. 全量特征 + 15 分钟标签 + 小时标签前处理 python3 _tmp_cylinder_vibration/run_full.py # 2. 小时标签 + 排查指标 + HTML python3 _tmp_cylinder_vibration/run_context.py # 3. 整机多缸事件标签 + 验证表 + 摘要 python3 -m _tmp_cylinder_vibration.run_machine_events # 4. 旧版单缸候选报告(历史口径,可选) python3 -m _tmp_cylinder_vibration.make_report ``` 打开: ```bash open _tmp_cylinder_vibration/out/html/waveforms.html ``` ## 主要输出 | 文件 | 内容 | |---|---| | `out/vibration_features_full.csv` | 全时段首周期原始特征 | | `out/vibration_features_full_local.csv` | 动态局部基线、z、分数、等级前数据 | | `out/vibration_labels_full.csv` | 15 分钟点级标签 | | `out/vibration_intervals_full.csv` | 自适应 15 分钟段 | | `out/vibration_hourly_labels.csv` | 单缸小时候选标签 | | `out/label_review.csv` | 排查指标和标记 | | `out/cylinder_vibration_label_unified.csv` | 单缸候选统一字段表(中间表) | | `out/machine_event_candidates.csv` | 最终规则使用的稳定运行段候选标签 | | `out/machine_vibration_events.csv` | **最终整机多缸振动事件标签** | | `out/machine_event_validation.csv` | 3 次维修事件的整机事件验证 | | `out/machine_event_summary.json` | 规则、标签数、运行段和验证摘要 | | `out/machine_event_labels.md` | 最终事件结果可读版 | | `out/html/machine_events.html` | 整机事件 + 异常缸同级 3 缸温度子图 | | `out/fault_label_unified_machine_preview.csv` | 5 号机温度 18 条 + 整机振动 4 条 = 22 行 | | `out/fault_label_unified_preview.csv` | 旧版单缸候选三类预览(历史) | | `out/html/waveforms.html` | 1×6 子图交互排查页 | | `总结文档/缸体振动演化过程故障标签手册.docx` | 旧版单缸候选 Word 报告(历史) | | `out/report_assets/` | 旧版报告截图(只截右侧图表) | ## 当前结果(v2 整机事件) - 稳定运行段候选:92 条; - 最终整机事件:4 个; - 运行段:16 个,其中有事件 4 个、无事件 12 个; - 3 次维修事件全部命中,另有 1 个未命中事件保留; - 最终事件: | 事件 | 时间 | 等级 | 参与缸 | 提前量 | |---|---|---|---|---| | `5号机-MACH-0001` | 2026-04-16 08:00~2026-04-18 07:00 | 严重异常 | 6 缸 | 未命中 | | `5号机-MACH-0002` | 2026-06-10 19:00~2026-06-11 11:00 | 严重异常 | 4 缸 | 1.21 天 | | `5号机-MACH-0003` | 2026-06-19 21:00~2026-06-21 01:00 | 严重异常 | 4 缸 | 1.12 天 | | `5号机-MACH-0004` | 2026-07-06 09:00~2026-07-08 08:00 | 异常 | 6 缸 | 4.62 天 | - 温度子图只画异常标签所属的同一级 3 个缸:一级异常画一级 3 缸,二级异常画二级 3 缸; - 具体结果见 `out/machine_event_labels.md` 和 `out/html/machine_events.html`。 ## 限制 - 振动是首周期快照,不是连续 15 分钟波形; - 旧版单缸标签仍保留为候选明细,但不再作为最终故障标签; - 最终事件已排除开机后 6 小时和停机前 6 小时; - 4/16~4/18 事件没有命中维修记录,但按要求保留; - 6/10~6/11 的高转速工况仍可能放大整机振动,事件表保留转速范围供复核; - 标签是规则扫描结果,不等同于物理故障结论; - 本目录暂不写数据库、不接 API、不合并 `models/`。 ## 后续 见 `合并方案.md`。下一阶段再把稳定模块迁入 `models/` 并接入统一故障标签表。