观察记录.md 22 KB

功图找气阀/活塞故障 —— 观察记录(中文)

只读分析。样本:wave_file + wave_sample_one(每条文件一个首周期,约 1545 点)。故障锚点:7,8,9号压缩机故障汇总.xlsx。 backend/indicator_features/ 为新增独立目录,只读数据库,不影响现有程序。数据跨度约 2025-03 ~ 2026-06。

1. 数据方法

  • 采样 25.6 kHz、每转 8 个键相脉冲、约 996 转/分 → 单周期约 60 毫秒;每 15 分钟存一条文件。
  • wave_sample_one = 每条文件一个首周期;旧的 cycle_start/end 已废弃。
  • 级配:一级=2/4/6 缸、二级=3/5 缸、三级=1 缸。
  • 同一缸的"压力盖侧 / 压力轴侧"是同一缸两个腔,可互换补充。
  • 键相 0°:second_value>=30 的脉冲,每转 8 个,较宽的那个是 0° 标记。

2. 可用性(以 wave_sample_one 计数为准)

wave_sample(全量)整表基本为空,真正存数据的是 wave_sample_one(每文件一个首周期)。availability.py 直接统计有多少文件存在 wave_sample_one 数据:

9号机一缸盖侧: 文件1489, 有首周期的日11
8号机三缸盖侧: 文件521,  有首周期的日0   (2025-10~12)
7号机三缸盖侧: 文件0                    (2024-12~2025-02)

活塞事件前无数据的直接证据:

事件 测点 窗口内文件 有首周期
8 号机活塞 2025.12.6 三缸/二缸 521 0
9 号机活塞 2026.1.18 一缸 1489 仅 2026-01-30 起
7 号机活塞 2025.1.10 三缸/二缸 0 0
对照:8 号机气阀 2026.3.29 三缸 3594 535

结论:活塞事件前确实没有功图周期(不是抽样误判),"气阀有、活塞没有"是数据采集期差异。

3. 特征与检测(早期完成)

  • 稳健平台:用 Otsu 双峰法求吸气压力 / 排气压力 / 压比。
  • 相位对齐:整转内取 PV 环面积最大的偏移 → 指示功、等熵效率(0.68~0.89,合理)、多变指数。
  • 通道质控:按"级"判断坏道(压力≈0)/弱道/偏高(修正了跨级误判,如三级一缸压力天然高)。
  • analyze.py:同级缸间对照、同缸双腔对照(相位剖面 L2)、本缸自身基线 z。
  • trend.py:按天自身基线 z + 突发跳变 + 同级偏差的突发跳变。

4. 关键观察(早期)

4.6 全事件慢漂移扫描(event_scan.py)

对 9 个维修事件各回看 120~180 天,自动计算同级相对/自基线的线性漂移并排序:

  • 多数事件数据不足;
  • 7 号机 2026-05-21:只有六缸盖侧显著漂移(传感器失效);
  • 7 号机 2025-08-08:扫描出的"漂移"其实是二缸盖侧传感器异常——其排气压力在 2025-04-30~06-11 卡在 13.3 MPa,06-12 降到 7.5,06-13 起恢复到约 1.69;
  • 其余"漂移"为数据稀疏/启停造成的假象。

结论:全事件扫描未发现气阀/活塞的缸级漂移;找到的异常几乎都是传感器故障。

4.7 往前追溯 1~2 个有效段(lookback_scan.py)

把"有功图周期"的日期聚成段(相邻间隔>10 天分段),对每个事件取之前最近的 1~2 段,比较段间同级相对值,并在长段(≥8 天)内做漂移。

事件 追溯到的段 观察
7 号机 2025-08-08 气阀 2025-07-25~27、2025-06-11~13 两段同级几乎一致 → 无变化
7 号机 2025-10-07 气阀 同上(2025-10 无数据) 无变化
7 号机 2026-05-21 气阀 2026-03-12~04-04、2026-02-10~16 六缸盖侧:段内漂移(压比 −3.4MAD)× 段间 +4.8%→−23.0% → 传感器退化,事件前两段即可见
8 号机 2025-12-06 活塞 2025-03-13~19、2025-04-29~05-03 多缸同步变 → 工况/启停;距事件 8~9 个月
8 号机 2026-03-29 / 04-01 气阀 2026-03-15~20、2025-04-29~05-03 六缸盖侧已死(传感器);四缸轴侧压比变化(配置)
9 号机 2026-01-18 活塞 2025-10-13~16、2025-09-04~09 二/三缸一致 → 无变化
7 号机 2025-01-10 活塞、8 号机 2025-02-17 气阀 无 该时段完全无数据

结论:往前追溯后仍未发现气阀/活塞的缸级特征;唯一在事件前两段内可见的是 7 号机六缸盖侧的传感器退化。

4.5 长窗口慢趋势(trend.py)

机组 最主要的慢变化 判断
7 号机 六缸盖侧排气压力从 4 月约 1.9 骤降到 5 月后约 0.81 并保持(压力幅度 0.85→0.27);六缸轴侧正常 单侧传感器失效;方法能抓到阶跃
8 号机 一缸(三级)压比/指示功缓降(负荷耦合);四缸轴侧同级压比 +30%→+11%(配置) 无单缸故障
9 号机 全部缸排气压力/指示功同步 +3~4%/30天 负荷级整体漂移

结论:长窗口慢趋势能稳定捕捉缓慢/阶跃变化,但这些变化都不是气阀/活塞缸故障。

4.4 形状/波形角度(shape_analysis.py)

用归一化相位剖面(对齐 PV 环 + 平台归一化,消工况),比较"修前/修后 L2、同级、双腔":

事件 修前/修后 剖面 L2 结论
8 号机 2026.3.29/4.1 二/四缸约 0.13~0.16(极稳);三级一缸 3.0~3.3 只有三级一缸变化大,但受负荷耦合
7 号机 2025.8.8 全部 0.13~0.82 无单缸畸变
7 号机 2026.5.21 全部 0.05~0.54 无单缸畸变

结论:形状角度也没有找到可归因于气阀/活塞的单缸畸变。

4.0 早期候选特征(修前/修后同级对照)

把"维修前段"与"维修后段"的同级缸间偏差对比,找维修后恢复的缸。

8 号机 2026.4.1 气阀 —— 一级轴侧压比同级偏差:

段 四缸轴侧 六缸轴侧 同级中位
修前 2026-03-15~20 +34% −22% 3.42
修后 2026-04-18~05-06 +13% −16% 3.10
  • 四缸轴侧压比(相对同级)由 +34% 降到 +13%;效率同期 0.558→0.626。
  • 对照:2025-03~05 四缸/二缸压比 0.96~0.98(排序 二>四>六)→ 2026 全为 四>二>六,排序持久反转 → 更像年度拆装/配置变化。
  • 其余活塞事件无可用的故障前段。

4.1 8 号机 2025 春季

  • 二缸盖侧排气压力比同级低约 8%、指示功低约 9%,但二缸轴侧正常 → 倾向单侧偏置。
  • 突发跳变集中在 2025-03-17/18、05-01~03,是工况切换日。

4.2 8 号机 2026 春季(3.29/4.1 气阀)

  • 3-16~20 一级排气压力偏低;但同级缸间 + 盖/轴双腔同步移动 → 工况级变化,非单缸故障。

4.3 7 号机 2026-05 气阀前两周

  • 同级轴侧偏差稳定、无趋势(该事件为管道突发)。

5. 结论(早期)

  • 工具链完备(平台/效率/三种归一化/突发跳变/通道质控)。
  • 但活塞事件在现有功图数据里没有故障前可用段;气阀事件多为突发,故障前无单缸趋势。
  • 观察到的较大变化都能被"同级/双腔同步"解释为工况,说明目前功图暂未提供可区分的故障特征。

6. 建议(早期)

  1. 用未来/新采集的密集段做验证;
  2. 稳定多变指数(限制拟合区间、最小样本);
  3. 将"同级偏差 + 双腔差"的长期基线与异常段联合,做多证据互验。

附录 A. 名词解释

名词 含义
功图(示功图) 气缸一个压缩循环内的"压力–曲柄转角 / 压力–容积"曲线,反映吸气、压缩、排气、膨胀四过程
wave_file 高频波形文件记录,每测点约 15 分钟一条
wave_sample_one 每条文件对应的一个首周期采样点(约 1545 点)
键相/触发 second_value>=30 的脉冲;8 个脉冲/转,较宽的是 0° 标记
缸 / 级 一级=2/4/6、二级=3/5、三级=1
盖侧 / 轴侧 同一缸两个腔的测点
吸气压力 / 排气压力 一个周期内低压平台 / 高压平台压力
压比 排气压力 / 吸气压力
指示功 一圈内 PV 环面积
等熵效率 理想等熵功 / 实际指示功,实测 0.68~0.89
同级 同一"级 + 侧"内的各缸
双腔差 同一缸"盖侧 − 轴侧"
自身基线 z 本测点相对自己近期中位数/MAD 的稳健 z
MAD 中位数绝对偏差(稳健尺度)
坏道/弱道/偏高 通道质控标记:压力≈0 / 明显偏低 / 明显偏高

附录 B. 观察对象(故障点)

机组 日期 类型 故障前是否有功图
7 号机 2025-01-10 活塞 无
7 号机 2025-08-08 气阀(污染) 有(2025-07-25~27)
7 号机 2025-10-07 气阀(一级排气阀阀片) 2025-10 无
7 号机 2026-05-21 气阀(进气阀组油压管) 有(2026-05-07~21 连续)
8 号机 2025-02-17 气阀(阀片) 无(数据 2025-03 才开始)
8 号机 2025-12-06 活塞(开裂) 无
8 号机 2026-03-10 十字头 无
8 号机 2026-03-29 气阀(一级进气滤网) 有(2026-03-15~20)
8 号机 2026-04-01 气阀(阀片/弹簧/缓冲片) 有(2026-03-15~20)
9 号机 2026-01-18 活塞(三级活塞杆断裂) 无(数据 2026-01-30 才起)

附录 C. 为什么活塞事件"数据不足"

  • 7 号机 2025.1.10 活塞:窗口 2024-12~2025-02 内 wave_file 0 条。
  • 8 号机 2025.12.6 活塞:窗口内有 wave_file 521 条,但 wave_sample_one 0 条(有功图文件但未生成首周期)。
  • 9 号机 2026.1.18 活塞:wave_sample_one 从 2026-01-30 才开始(事件后 12 天)。

7. 每 10° 分箱局部统计

思路:整周期平均值会互相抵消,故障可能只体现在某个小角度区间。把每周期按键相 0-360° 切成 36 个 10° 箱,箱内直接在原始点上算指标(不重采样),再做同一点故障前后对比。

7.1 方法(run_segments.py → angle_bins.py → event_bins.py → bin_plot.py)

  • wave_sample_one 每文件约 1545 点、0°=键相宽脉冲;按 角度=360×序号/点数 落箱(10° 箱约 43 个原始点;--bin-deg 可选 5/15/20)。
  • 每箱指标见 §8.1 与 cn_names.py;只用转速>0 的周期。
  • 运行段(run_segments.py):以 wave_file.rpm>0 的日期为开机日(官网开机表不准,弃用),相邻开机日(允许桥接 2 天)合成运行段。
  • 前段:事件前最近的运行段,不足 15 运行日就继续往更早的运行段累加;后段:事件后第一个运行段(允许 30 天内桥接),不跨大停机;趋势:事件前累计 ≥30 运行日。
  • 对比只限同一点(同缸同侧)。每个指标分成:整体(全箱变化的中位数,全箱一起动=负荷/传感器)与局部(各箱变化−整体,个别箱动=阀/局部故障);波动类与水平类分开。
  • 质控:压力幅度<0.3 的坏道/卡死自动跳过;箱尺度下限=该指标各箱尺度中位数的 20%。

7.2 数据覆盖(转速>0 开机天数)

7号机: 65 天 / 8 个运行段
8号机: 58 天 / 6 个运行段
9号机: 84 天 / 11 个运行段

7.3 结果

  • 7 号机 2026-05-21 气阀(进气阀组油压管崩开) — 唯一干净候选:

    前段 2026-05-06~05-20(15运行日)  后段 2026-05-21~06-06(9运行日)
    #  测点      角度箱     类型     指标     前       后       变化     相对
    1  二缸盖侧  140-150°  局部波动  标准差   0.0227   0.0333   +6.0M   +50%
    2  二缸盖侧  140-150°  局部均值  斜率    -0.00775 -0.0112   -5.6M   -342%
    3  二缸盖侧  140-150°  局部波动  极差     0.0718   0.0923   +3.9M   +30%
    

    同箱 3 个指标一致(波动/幅度增大、斜率变陡),均值剖面几乎重合。

  • 其余事件受跨年/跨季工况、传感器卡死、或故障缸无前段干扰。

7.4 结论与下一步

  • 唯一可复现的"局部角度箱"候选:7 号机二缸盖侧(一级)140-150°。
  • 下一步:按本周期压力幅度归一再比、只保留同月对比。

8. 特征扩展与全时间轴扫描

对照第 7 节,本节把特征从 6 个扩到"分箱 18 + 整周期 13",并新增全时间轴无监督扫描。

8.1 特征集(bins_common.py 统一注册)

  • 分箱 18 个:均值/极差/标准差/中位绝对偏差/斜率/粗糙度 + 10/50/90 分位/四分位距 + 偏度/峰度 + 导数族(平均|导数|、最大|导数|、导数RMS、二阶导RMS、导数过零数、极值数)。
  • 整周期 13 个:吸气压力/排气压力/压比、吸气占比/排气占比、最小压力角/最大压力角、上升穿越角/下降穿越角、最大上升斜率/最大下降斜率、最大上升角/最大下降角。
  • 角度型指标按 0-360° 环形处理(差值取最短弧,尺度下限 1°),避免跨 0° 假跳变。

8.2 事件对比结果(event_bins.py)

  • 7 号机 2026-05-21 仍是最干净候选,新指标佐证:二缸盖侧 140-150° 同箱 四分位距+46% / 标准差+50% / 斜率-342% / 导数RMS+31% / 极差+30%。
  • 8 号 2026-03-29:一缸(三级)40-50°、220-230° 的斜率/导数族变化最集中。
  • 9 号 2026-01-18:三缸(二级)多处变化;故障缸一缸无前段。
  • 偏度/峰度/导数过零数集中在四缸轴侧 70-80°(已知配置/传感器问题)。

8.3 全时间轴无监督扫描(scan_bins.py)

对每个(测点、箱/整周期、指标)在整条时间轴上找最佳二分段,再减去整点中位数 → 局部分数。

  • 7 号:榜首是二缸盖侧传感器卡死(2025-06-12 从 13.3 恢复)与四缸盖侧坏道(2026-02)。
  • 8 号:榜首是六缸盖侧坏道(2026-03-15 起压力→0.015)。
  • 9 号:阈值 5 无候选,阈值 4 仅 2 条弱候选。
  • 价值:扫描器无需事件、无需前段即可自动定位已知传感器故障 → 方法有效;但仍未自动浮现阀/活塞特征。

8.4 结论与下一步

  • 特征维度已扩展(分箱 6→18、整周期 0→13)。
  • 仍只有 7 号 2026-05-21 一个可复现的局部压力候选;扫描器自动找到的都是传感器故障。
  • (曾尝试压力×振动联合:日度相关以负荷共动为主,压力候选与同缸十字头振动无同步,振动未产出特征,已删除相关代码与数据。)

9. 压力幅度归一

9.1 压力幅度归一(--normalize span)

  • 原理:压力幅度类指标(均值/标准差/极差/四分位距/导数族、吸气压力/排气压力/最大上升/最大下降斜率等)除以本周期压力幅度,消掉负荷/压比的整体变化。
  • 结果:7 号 2026-05-21 二缸盖侧 140-150° 候选在归一后依然存在(标准差+51% / 四分位距+45% / 斜率-366% / 导数RMS+31%)→ 是真实波形形状变化,不是负荷。
  • 归一后浮现一类新变化:阀时序角度——多个缸的上升穿越角/下降穿越角/最小压力角/最大压力角同时移动 3~9°。多缸同步 → 更像全机工况/相位参考变化,不是单缸故障。
  • 注意:压力幅度归一不能自动剔除传感器道(卡死道的幅度不一定为 0,坏道的无量纲量也仍会参与)。

9.2 结论

  • 压力幅度归一验证了 7 号二缸盖侧 140-150° 是形状变化而非工况。
  • 曾试压力×振动联合,振动未产出可用特征(相关以负荷共动为主、与候选不同步),相关代码与数据已删除。

10. 两个追问:9 号活塞看全缸 + 7 号事件前的长期演化

metric_trace.py:把任意(测点、角度箱、指标)的日度中位数沿全时间轴画出,按数据间隔分段、逐段拟合趋势。

10.1 9 号机 2026-01-18 活塞——故障缸无前段,但其它缸有特征

一缸(三级)功图 2026-01-30 才起,确无前段;但二缸(一级)、三缸(二级)有变化(前段 2025-06~10,后段 2026-01-30~03-13,已归一):

测点 集中角度箱 指标变化
三缸轴侧(二级) 230-240° / 240-250° / 260-270° 斜率正负翻转,+15~18MAD
三缸盖侧(二级) 60-70° / 100-110° / 340-350° 标准差/中位绝对偏差/粗糙度/四分位距/极差普遍增大 +7~15MAD
二缸盖侧(一级) 350-360° 标准差+114% / 四分位距+112%
二缸轴侧(一级) 0-10° 峰度+54%

整周期上,三缸最大压力角/上升穿越角移动 +4~5°、吸气压力 −8%、压比 +5%。 评价:三缸(二级)表现为同一小角度带的波动/幅度增大,符合"上游级受三级活塞故障牵连"的形态;但前后段跨 3~4 个月且跨年,不能证明是事件前渐变,仍需同月基线。

10.2 7 号机 2026-05-21 气阀——事件前的长期演化

  • 二缸盖侧 140-150° 标准差(候选):2026-02 约 0.033 → 2026-03 中位 0.030 → 2026-05 事件前中位约 0.023,约 −25% 缓慢下降;修复后跳回约 0.033。即事件前有小幅、非单调的长期下降,修复后恢复。
    • 2025-04~06 的约 0.002 低值是二缸盖侧传感器卡死造成的假象。
  • 整机吸气压力:事后核对——二/三/五缸盖侧"事件前段 vs 修复后"中位数只差约 1%(如二缸盖侧 0.667→0.649、三缸 1.806→1.764),差异可忽略。此前依据归一趋势表说的"全机吸气压力回落"不成立,已撤回。

结论:① 候选特征(二缸盖侧 140-150° 波动)在事件前约 2.5 个月内有缓慢下降再修复后回升,这是该事件唯一清楚的长期线索;② 吸气压力差异可忽略(已撤回);③ 2025 年因传感器与长断档不可用。

10.3 结论

  • 9 号活塞:故障缸无前段不妨碍从别的缸找特征——三缸(二级)是主要候选,但需同月基线去伪。
  • 7 号 2026-05-21:事件前确有长期演化——二缸盖侧 140-150° 波动缓慢下降约 −25%,修复后回升(吸气压力差异可忽略)。

11. 形状特征扩展 + 7/8/9 全事件扫描汇总

11.1 新增形状/复杂度特征(分箱 18 → 23)

再增加 5 个箱内形状指标:二阶导最大(拐角尖锐度)、总变差(Σ|相邻差|,弧长/毛糙)、过均次数、移动度、复杂度。全部纳入压力幅度归一。

11.2 全事件汇总(summary_features.py)

把 event_bins.py 明细按事件×测点×角度箱跨指标合并、按总 |MAD| 排序,输出 summary_final.csv(全量 891 组)。头部(阈值 3MAD):

事件 测点·角度箱 指标数 主要指标
9号 01-18 活塞 三缸盖侧 60-70° 7 移动度↓14.9, 中位绝对偏差↑5.1, 过均次数↓5.0
8号 12-06 活塞 二缸轴侧 110-120° 10 标准差↑11.8, 斜率↑11.0, 极差↑9.7
8号 03-29/04-01 气阀 一缸轴侧 220-230° 16 导数RMS↑23.1, 最大
8号 03-29/04-01 气阀 一缸盖侧 40-50° 14 最大
7号 05-21 气阀 二缸盖侧 140-150° 9 标准差↑6.2, 四分位距↑6.0, 斜率↓5.6, 导数RMS↑3.9

11.3 关键判读:看"前后段的时间距离/前段跨度"

汇总含 相隔天数(后段起点 − 前段终点)与 前跨度天数(前段首末);用 --max-pre-span 过滤"前段回溯到一年前"的伪比较,用 --pre-days 6 让前段只取事件前最近的运行段。干净短名单(前跨度≤20 天 且 相隔≤40 天):

事件 测点·角度箱 指标数 主要指标
8号 03-29/04-01 气阀 一缸轴侧 220-230° 16 导数RMS↑23.1, 最大
8号 03-29/04-01 一缸轴侧 70-80° 15 斜率↓27.0, 移动度↑17.2, 四分位距↓16.1
8号 03-29/04-01 一缸盖侧 40-50° 14 最大
8号 03-29/04-01 一缸轴侧 整周期 9 吸气压力↑24.4, 最大下降斜率↓23.7, 最大上升斜率↑21.1, 压比↓19.3
7号 05-21 气阀 二缸盖侧 140-150° 9 标准差↑6.2, 四分位距↑6.0, 斜率↓5.6, 导数RMS↑3.9
7号 05-21 二缸轴侧 320-330° 8 峰度↑10.0, 偏度↓4.2, 移动度↑3.9
7号 05-21 四缸轴侧 70-80° 5 偏度↑11.6, 峰度↑5.0, 导数过零数↑4.0
  • 8 号 2026-03-29/04-01:一缸(三级)轴侧 220-230° 波形形状大幅改变(三联图左图可见停机前在约 220° 有个深坑、开机后消失),一整套导数指标同时变;但该段前后有 03-10 十字头、03-29 进气滤网、04-01 阀片多次维修,且前段只有 5 天(03-15~20,恰逢已知工况切换日),不能唯一归因。
  • 8 号 230-270° 段(阈值 2MAD 后可见):一缸轴侧 250-260° 局部 12 个指标(最大|导数|↓6.3、二阶导RMS↓4.4、极差↓4.4、标准差别前 0.289→后 0.156);230-240° 12 个指标(中位绝对偏差↑34)。对应图 plots/8号_2026-03-29_一缸轴侧_230-270_波动.png(中图橙带内红线明显比蓝线高)。
  • 7 号 2026-05-21:仍是唯一只有一次检修、前段完整(15 天)的干净对比,候选二缸盖侧 140-150° 稳。
  • 9 号 2026-01-18:前段只能回到 2025-06~10(跨度大),三缸盖侧 60-70° 是跨事件台阶,需同月基线。

11.4 结论

  • 特征已补齐(23 个分箱 + 13 个整周期),有中文交付 cache/indicator/bins/results_cn/。
  • 干净(时间近)且指标一致的候选:7 号 2026-05-21 二缸盖侧 140-150°、8 号 2026-03-29/04-01 一缸(三级)轴侧 220-230°(后者受多次维修干扰)。
  • 跨期强候选(需同月基线):9 号三缸(二级)60-110° 多个箱。
  • 阈值说明:最终 event_bins --z 2、summary_features --threshold 2,即 ≥2MAD 的局部/整体变化都列出;汇总含"范围"列区分 局部(单角度箱) 与 整体(全角度)——整体变化多为负荷/工况。
  • 工具:summary_features.py(汇总+相隔/前跨度过滤)、pair_plot.py(停机前/开机后三联简图)、make_report.py(生成中文交付)。