故障录波进度跟踪:代码侧已完成,剩余注量对表(信号注入对账)与人到场项 #38

Open
opened 2026-11-02 09:24:53 +08:00 by super_agent_bot · 9 comments
Collaborator

本 Issue 跟踪**独立工作波「故障录波」**的整体进度:以 1 kHz 把 8 路电气量的原始采样码值逐段落盘,并能在装置上单通道回放。(用户裁定 2026-10-29「录波先行」。)

先说结论:录波的代码与一部分板级验证已经完成;剩下没做完的两件事是——① 注量对表(注一个已知信号、在 PC 上独立重算并跟板上读数逐项核对,还没跑,且被下面的缺陷卡住)、② 人到场的板级项(需要有人在现场接信号源、做物理验证)。


一、故障录波是什么

把 8 路电气量(UA/UB/UC/UN/IA/IB/IC/IN)的原始采样值分段记录到板载存储,服务两个目的:

  • 现场:在装置面板上按几下就能看到「这一路现在是什么波形、有没有削顶」,不必插串口、不必带笔记本。

  • 台架:把板上采到的原始样本导出,在 PC 上独立重算全周傅氏,再跟板上的派生读数逐项对账——这是验证后续各种计算最扎实的做法。

二、已完成(代码侧判据全部满足)

  • 主机纯逻辑单测三组全通过(rc=0,共 113 + 170 + 110 条):分别覆盖 录波环形缓冲、段文件编解码(含 CRC 不符 / 零长度 / 字节数不符三条坏数据拒收路径)、触发状态机的三条来路(手动 / 保护 / bench)。

  • 固件端与 PC 模拟器端编译都是 0 错误 0 警告。

  • 板端编码器与 PC 解码器字节级互验一致。

  • 「手动录波」「录波回放」两个菜单叶子已绑定页面;内容页黄金参考图扩到 66 张(含回放页的 6 种状态)。

三、2026-10-31 板级远程测试已通过的 6 项(当时无注入信号、无人值守远程跑)

| 项 | 含义 |

|---|---|

| 真 FAT 落盘 | 真的写进板载存储卷(本次上电 WAVE00→05 共 6 段,各 5250 B,段头 CRC 与数据 CRC 都校验通过) |

| 触发→落盘时序 | 从触发到文件写定,全部落在 2 秒「封存超时窗」内(3 个样本 +0.390.55 s 出现、+1.081.23 s 写定) |

| 冷却恢复 | 冷却期过后再触发能重新走完整条链成段,不多计丢弃 |

| 轮转 | 段号按顺序推进;坏段删除后再触发会正确「同号覆盖」为真段 |

| PC 侧坏段拒收 | 位翻转(人为破坏)的样本被 PC 工具 wave_read 以 rc=1 拒收、且不画任何图 |

| 冻结窗内 104 并发 | 落盘期间不影响 IEC 60870-5-104 上行(总召、遥测、定值读回全绿)——即「丢录波样本,不丢采集与上送」 |

四、还剩下什么(本 Issue 的重点)

A. 注量对表半轮(台架手边可做,等一台信号发生器)

用信号发生器注入一个已知的 1 V / 50 Hz 正弦 → 手动录一段 → FTP 取回 → PC 脚本量出这段波形的周波数、幅值、极性、钉轨路数(钉轨=被削顶/削到底、读数顶到量程尽头的通道数),跟注入条件对账;再把 PC 独立重算出的基波有效值,跟板上的串口 meas: 派生读数和 IEC 104 浮点遥测逐项对表。回放页要能显示出「真段」和「坏段」的画面。

⚠ 这半轮目前被第五节的缺陷阻塞:回放页显示不出段,「回放页放真段 / 坏段画面」这项根本测不了,所以整块注量对表还没跑。

B. 需要人到场的板级项

  • P(保护启动)触发与 /log/start.log 时刻对齐:现在还跑不了——产品构建的标定位 [adc_cal] valid=0 把保护闭锁了,保护不会动作,物理上产生不了这个触发(这是产品决策,见 2026-10-25 裁定:保持闭锁、不用万用表走捷径,须先解标定闭锁)。

  • bench T(定时自抓)源、以及「落盘被占住 ≥2 秒」的 ring abandoned 观察:需要专门编译 bench 构建,并有人在场操作。

五、阻塞缺陷:「回放页段表枚举恒空」(已登记,待修复)

真机上一打开回放页,永远显示「无录波段」;但同一时刻 FTP LIST 六段全都看得见、RETR/DELE 正常、读同一个存储卷的 SOE 记录页也正常、defaultTask 写侧枚举 /wave 目录同样正常——唯独 ui_task_wave_scan() 这个函数在 uiTask 上下文里拿不到目录条目(另有伴生问题:目录打开失败也被当成「已扫描、0 段」钉住不再重试)。

修好它,回放页才有「真段 / 坏段」的测试面,第四节的注量对表 A 才能继续。缺陷的五个独立判别面与处置方向见 docs/任务规划/登记簿.md §2 与 docs/子系统设计/故障录波设计说明.md §10。

六、执行约束:与 UI 道互斥

菜单树和中文字库都是整文件生成物,所以录波的板级改动不能与「UI 补齐」这条道并行去写这些生成物——同一时刻只允许一条道写。本波按此前提串行执行。


出处 / 参考:docs/任务规划/README.md §2.0「独立」行;docs/子系统设计/故障录波设计说明.md §9(观测)、§10(测试与门禁,含 2026-10-31 板级远程半轮记录);阻塞缺陷 docs/任务规划/登记簿.md §2。


来源:docs/任务规划/(2026-11-02 由 super_agent_bot 建档,跟踪 #5)

本描述于 2026-11-02 由 super_agent_bot 由内部速记改写为结构化说明,技术事实与结论均未改动。

本 Issue 跟踪**独立工作波「故障录波」**的整体进度:以 1 kHz 把 8 路电气量的原始采样码值逐段落盘,并能在装置上单通道回放。(用户裁定 2026-10-29「录波先行」。) **先说结论**:录波的代码与一部分板级验证已经完成;剩下**没做完的两件事**是——① **注量对表**(注一个已知信号、在 PC 上独立重算并跟板上读数逐项核对,还没跑,且被下面的缺陷卡住)、② **人到场的板级项**(需要有人在现场接信号源、做物理验证)。 --- ## 一、故障录波是什么 把 8 路电气量(UA/UB/UC/UN/IA/IB/IC/IN)的**原始采样值**分段记录到板载存储,服务两个目的: - **现场**:在装置面板上按几下就能看到「这一路现在是什么波形、有没有削顶」,不必插串口、不必带笔记本。 - **台架**:把板上采到的原始样本导出,在 PC 上独立重算全周傅氏,再跟板上的派生读数逐项对账——这是验证后续各种计算最扎实的做法。 ## 二、已完成(代码侧判据全部满足) - **主机纯逻辑单测三组全通过**(rc=0,共 113 + 170 + 110 条):分别覆盖 录波环形缓冲、段文件编解码(含 CRC 不符 / 零长度 / 字节数不符三条坏数据拒收路径)、触发状态机的三条来路(手动 / 保护 / bench)。 - **固件端与 PC 模拟器端编译都是 0 错误 0 警告**。 - **板端编码器与 PC 解码器字节级互验一致**。 - 「手动录波」「录波回放」两个菜单叶子已绑定页面;内容页黄金参考图扩到 66 张(含回放页的 6 种状态)。 ## 三、2026-10-31 板级远程测试已通过的 6 项(当时无注入信号、无人值守远程跑) | 项 | 含义 | |---|---| | 真 FAT 落盘 | 真的写进板载存储卷(本次上电 WAVE00→05 共 6 段,各 5250 B,段头 CRC 与数据 CRC 都校验通过) | | 触发→落盘时序 | 从触发到文件写定,全部落在 2 秒「封存超时窗」内(3 个样本 +0.39~0.55 s 出现、+1.08~1.23 s 写定) | | 冷却恢复 | 冷却期过后再触发能重新走完整条链成段,不多计丢弃 | | 轮转 | 段号按顺序推进;坏段删除后再触发会正确「同号覆盖」为真段 | | PC 侧坏段拒收 | 位翻转(人为破坏)的样本被 PC 工具 `wave_read` 以 rc=1 拒收、且不画任何图 | | 冻结窗内 104 并发 | 落盘期间不影响 IEC 60870-5-104 上行(总召、遥测、定值读回全绿)——即「丢录波样本,不丢采集与上送」 | ## 四、还剩下什么(本 Issue 的重点) ### A. 注量对表半轮(台架手边可做,等一台信号发生器) 用信号发生器注入一个已知的 **1 V / 50 Hz** 正弦 → 手动录一段 → FTP 取回 → PC 脚本量出这段波形的**周波数、幅值、极性、钉轨路数**(钉轨=被削顶/削到底、读数顶到量程尽头的通道数),跟注入条件对账;再把 PC 独立重算出的基波有效值,跟板上的串口 `meas:` 派生读数和 IEC 104 浮点遥测逐项对表。回放页要能显示出「真段」和「坏段」的画面。 > ⚠ 这半轮**目前被第五节的缺陷阻塞**:回放页显示不出段,「回放页放真段 / 坏段画面」这项根本测不了,所以整块注量对表还没跑。 ### B. 需要人到场的板级项 - **P(保护启动)触发与 `/log/start.log` 时刻对齐**:**现在还跑不了**——产品构建的标定位 `[adc_cal] valid=0` 把保护闭锁了,保护不会动作,物理上产生不了这个触发(这是产品决策,见 2026-10-25 裁定:保持闭锁、不用万用表走捷径,须先解标定闭锁)。 - **bench T(定时自抓)源、以及「落盘被占住 ≥2 秒」的 `ring abandoned` 观察**:需要专门编译 bench 构建,并有人在场操作。 ## 五、阻塞缺陷:「回放页段表枚举恒空」(已登记,待修复) 真机上一打开回放页,永远显示「无录波段」;但同一时刻 FTP `LIST` 六段全都看得见、`RETR`/`DELE` 正常、读同一个存储卷的 SOE 记录页也正常、defaultTask 写侧枚举 `/wave` 目录同样正常——**唯独 `ui_task_wave_scan()` 这个函数在 uiTask 上下文里拿不到目录条目**(另有伴生问题:目录打开失败也被当成「已扫描、0 段」钉住不再重试)。 修好它,回放页才有「真段 / 坏段」的测试面,第四节的注量对表 A 才能继续。缺陷的五个独立判别面与处置方向见 `docs/任务规划/登记簿.md` §2 与 `docs/子系统设计/故障录波设计说明.md` §10。 ## 六、执行约束:与 UI 道互斥 菜单树和中文字库都是**整文件生成物**,所以录波的板级改动不能与「UI 补齐」这条道并行去写这些生成物——同一时刻只允许一条道写。本波按此前提串行执行。 --- **出处 / 参考**:`docs/任务规划/README.md` §2.0「独立」行;`docs/子系统设计/故障录波设计说明.md` §9(观测)、§10(测试与门禁,含 2026-10-31 板级远程半轮记录);阻塞缺陷 `docs/任务规划/登记簿.md` §2。 --- 来源:docs/任务规划/(2026-11-02 由 super_agent_bot 建档,跟踪 #5) 本描述于 2026-11-02 由 super_agent_bot 由内部速记改写为结构化说明,技术事实与结论均未改动。
super_agent_bot added the 进行中 label 2026-11-02 09:24:53 +08:00
Owner

@super_agent_bot 把问题写的再清晰一点,现在根本不理解你在说什么?用逻辑清晰的语言描述

@super_agent_bot 把问题写的再清晰一点,现在根本不理解你在说什么?用逻辑清晰的语言描述
Author
Collaborator

好的:会把 Issue #38 的问题描述改写成逻辑清晰、能直接看懂的中文说明。

好的:会把 Issue #38 的问题描述改写成逻辑清晰、能直接看懂的中文说明。 <!-- dsh-superagent:474fb701819855e37c90fe789835521d -->
super_agent_bot changed title from 故障录波:注量对表与人到场项 to 故障录波进度跟踪:代码侧已完成,剩余注量对表(信号注入对账)与人到场项 2026-11-02 14:16:07 +08:00
Author
Collaborator

Issue #38 已改写好:标题改为「故障录波进度跟踪:代码侧已完成,剩余注量对表与人到场项」,正文重排成六节结构(故障录波是什么、代码侧已完成、板级远程测试已过的 6 项、剩余两项、阻塞缺陷、执行约束),原来的速记术语也都展开成完整句并附了释义,直接看 Issue #38 即可。

Issue #38 已改写好:标题改为「故障录波进度跟踪:代码侧已完成,剩余注量对表与人到场项」,正文重排成六节结构(故障录波是什么、代码侧已完成、板级远程测试已过的 6 项、剩余两项、阻塞缺陷、执行约束),原来的速记术语也都展开成完整句并附了释义,直接看 [Issue #38](http://100.123.83.113:3001/wandering1/STM32F4-Base/issues/38) 即可。 <!-- dsh-superagent:e4e7d70a8f633ae8ca6e37cc5cb3ee7c -->
Owner

@super_agent_bot 回放页段表枚举恒空,这个问题,进行修复

@super_agent_bot 回放页段表枚举恒空,这个问题,进行修复
Author
Collaborator

好的:会修复回放页段表枚举恒空的问题。

好的:会修复回放页段表枚举恒空的问题。 <!-- dsh-superagent:81f742e6e7d6f069eb3be3fa5ae3cbf5 -->
Author
Collaborator

修复回放页段表枚举恒空需要先把埋点构建 PR #67(全部门禁绿)烧到常驻台架的板子上(SWD 烧录并回读校验),然后远程开回放页读 FR 码来定性并落根因修复。可以烧录吗?确认请回复「烧」。

修复回放页段表枚举恒空需要先把埋点构建 PR #67(全部门禁绿)烧到常驻台架的板子上(SWD 烧录并回读校验),然后远程开回放页读 FR 码来定性并落根因修复。可以烧录吗?确认请回复「烧」。 <!-- dsh-superagent:b6e9f847bfc37d688c76f31f7a7e9a1b -->
Owner

修复回放页段表枚举恒空需要先把埋点构建 PR #67(全部门禁绿)烧到常驻台架的板子上(SWD 烧录并回读校验),然后远程开回放页读 FR 码来定性并落根因修复。可以烧录吗?确认请回复「烧」。

@super_agent_bot 烧,项目中有worktree的技能,只要台架没有锁,你以后可以直接烧写代码

> 修复回放页段表枚举恒空需要先把埋点构建 PR #67(全部门禁绿)烧到常驻台架的板子上(SWD 烧录并回读校验),然后远程开回放页读 FR 码来定性并落根因修复。可以烧录吗?确认请回复「烧」。 > > <!-- dsh-superagent:b6e9f847bfc37d688c76f31f7a7e9a1b --> @super_agent_bot 烧,项目中有worktree的技能,只要台架没有锁,你以后可以直接烧写代码
Author
Collaborator

收到「烧」:台架锁在我手上,现在就把 PR #67 的埋点构建烧上板(SWD 回读校验),随后远程开回放页读 FR 码定性。

收到「烧」:台架锁在我手上,现在就把 PR #67 的埋点构建烧上板(SWD 回读校验),随后远程开回放页读 FR 码定性。 <!-- dsh-superagent:860fb9470bb0b5edc007458d3f45233a -->
Author
Collaborator

回放页段表枚举恒空已根因修复并在真机验证:回放页现在能正常显示最大段的真实波形,切通道、切段每按必重绘(修复前恒显「无录波段」)。修复提在 PR #67,本仓库未配置自动合并,需你评审后手动合并。

回放页段表枚举恒空已根因修复并在真机验证:回放页现在能正常显示最大段的真实波形,切通道、切段每按必重绘(修复前恒显「无录波段」)。修复提在 [PR #67](http://100.123.83.113:3001/wandering1/STM32F4-Base/pulls/67),本仓库未配置自动合并,需你评审后手动合并。 <!-- dsh-superagent:f7d421391bd4e7144d7bf57632f29607 -->
wandering1 added this to the 完成继电保护仪数据采集并且104通信成功 milestone 2026-11-03 07:42:55 +08:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wandering1/STM32F4-Base#38