Files
cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/12-20260704-真实执行复验与缺失功能工作计划.md
2026-07-05 22:13:40 -04:00

263 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 12-20260704 真实执行复验与缺失功能工作计划
## 目标
按用户要求,对仿真项目 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan` 与 LinuxCNC 源程序 `/home/mes123456/cnc_wams/linuxcnc``xyzbc-trt` 功能重新做真实执行对比,分析仿真项目缺失功能,并形成后续工作计划。
## 本轮真实执行范围
### native LinuxCNC
执行入口:
```text
/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment
```
执行命令:
```bash
/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment \
python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py \
--run --timeout 90
```
输出:
```text
native_xyzbc_trt_evidence=/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/native-xyzbc-trt-evidence.json
```
关键结果:
```text
status=ok
executionMode=auto-run
coverage=35/35
previewPath.sampleCount=1300
executionPath.sampleCount=4
semanticExecutionPath.sampleCount=1300
lineExecutionTrace=64
axisValuesByLine=29
blockers=[]
```
### Web 仿真项目
执行命令:
```bash
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser
```
输出:
```text
web_xyzbc_trt_evidence=/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json
xyzbc_trt_web_app_smoke=ok
xyzbc_trt_browser_smoke=ok
```
关键结果:
```text
status=ready-for-wasm-runtime
coverage=49/49
previewPath.sampleCount=1300
executionPath.sampleCount=228
semanticExecutionPath.sampleCount=1300
lineExecutionTrace=64
axisValuesByLine=29
blockers=[]
```
### native/Web compare
执行命令:
```bash
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
```
输出:
```text
compare_xyzbc_trt_evidence=/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/compare-xyzbc-trt-evidence.json
compare_xyzbc_trt_status=pass
```
关键结果:
```text
status=pass
checkCount=60
passCount=60
failCount=0
blockers=[]
nativeStatus=ok
webStatus=ready-for-wasm-runtime
```
## 对比结论
本轮真实执行与 compare 没有发现新的缺失功能。当前仿真项目已覆盖并通过以下对标面:
- LinuxCNC 源树 manifest、启动入口、运行环境和源码/构建产物绑定。
- `xyzbc-trt.ini` 全字段、HAL 图谱、POSTGUI HAL、PyVCP、tool table、parameter file。
- `xyzbc-trt-kins.c``trtfuncs.c` 的 switchkins 与 TRT 运动学公式级证据。
- M428/M429/M430 remap、Ngcgui 子程序和示例程序执行过程。
- AXIS/PyVCP UI 按钮、状态联锁、MDI、jog、override、运行/暂停/停止等行为证据。
- Vismach 变换树、刀具方向、截图/视觉证据、task/HAL 状态、错误路径和性能预算。
- 源码派生、运行观察、运行采样三类证据已在 JSON 中区分,避免静态推导冒充真实运行。
关键一致性数据:
```text
semanticExecutionVsSemanticExecution.status=pass
nativeSampleCount=1300
webSampleCount=1300
maxTcpErrorMm=3.552713678800501e-15
rmsTcpErrorMm=4.515420281608176e-16
maxJointError=3.552713678800501e-15
maxToolAxisAngleDeg=0
machineStateMismatchCount=0
sampleCountDelta=0
lineExecutionComparison.status=pass
nativeTraceCount=64
webTraceCount=64
mismatchCount=0
axisValuesByLineComparison.status=pass
nativeLineValueCount=29
webLineValueCount=29
maxTcpErrorMm=0
maxJointError=0
maxToolAxisAngleDeg=0
mismatchCount=0
gcodeExecutionProcessComparison.status=pass
nativeExecutionStepCount=128
webExecutionStepCount=128
nativeSourceLineCoverageCount=65
webSourceLineCoverageCount=65
mismatchCount=0
```
## 缺失功能分析
当前按既有 60 项硬检查结果,缺失功能清单为空:
| 类别 | 缺失功能 | 当前判定 | 证据 |
| --- | --- | --- | --- |
| 源码/manifest | 无新增缺失 | 通过 | `sourceManifestComparison.status=pass` |
| 启动/运行态 | 无新增缺失 | 通过 | `runtimeLaunchComparison.status=pass` |
| INI/HAL | 无新增缺失 | 通过 | `iniFullComparison.status=pass``halGraphComparison.status=pass` |
| 运动学/remap | 无新增缺失 | 通过 | `kinematicsFormulaComparison.status=pass``remapSemanticsComparison.status=pass` |
| UI/Vismach/视觉 | 无新增缺失 | 通过 | `uiBehaviorComparison.status=pass``visualComparison.status=pass` |
| G 代码执行过程 | 无新增缺失 | 通过 | `lineExecutionComparison.status=pass``gcodeExecutionProcessComparison.status=pass` |
| task/HAL/限制/错误路径 | 无新增缺失 | 通过 | `taskHalFullStateComparison.status=pass``limitInterlocksComparison.status=pass``errorPathComparison.status=pass` |
| 性能/采样误差 | 无新增缺失 | 通过 | `performanceBudgetComparison.status=pass` |
说明:本结论只对 2026-07-04 18:12 EDT 本轮重新生成的 native/Web/compare evidence 有效。后续任何 LinuxCNC 源码、Web 源码、staging 文件、WASM artifact、UI 行为或采样逻辑变更,都必须重新执行同一组命令并更新本文件或后续任务文档。
## 工作计划
### P-001 固定本轮证据为当前基线
状态:完成。
验收:
```text
working/evidence/native-xyzbc-trt-evidence.json
working/evidence/web-xyzbc-trt-evidence.json
working/evidence/compare-xyzbc-trt-evidence.json
```
均已重新生成compare 为 `60/60 pass`
### P-002 变更后强制复验
状态:长期执行。
触发条件:
- `/home/mes123456/cnc_wams/linuxcnc``xyzbc-trt` 相关源码、配置、HAL、NGC、PyVCP、Vismach 或 rtlib 变化。
- `web-rtcp-5axis-xyzbc-trt-sim-plan/app``tools``tests``working/evidence` 中与执行、UI、采样或对比相关内容变化。
- WASM artifact 重新构建或替换。
复验命令:
```bash
/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment \
python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py \
--run --timeout 90
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser
```
通过标准:
```text
compare.status=pass
summary.failCount=0
summary.blockers=[]
smoke:node=ok
smoke:browser=ok
```
### P-003 出现 fail/blocker 时的处理顺序
状态:待触发。
处理顺序:
1. 先定位 `compare-xyzbc-trt-evidence.json.requiredImprovements`
2. 按 category 分配到源码/运行态、INI/HAL、运动学/remap、UI/Vismach、G 代码执行、task/HAL、错误路径、性能预算。
3. 回查 `native-xyzbc-trt-evidence.json``web-xyzbc-trt-evidence.json` 的同名字段,确认是 native 采集失败、Web 实现缺失,还是 compare 阈值/字段映射问题。
4. 修改实现或采集脚本后重新执行 P-002 全量复验。
5. 只有 compare 恢复 `pass` 后,才能把对应缺失项标为完成。
### P-004 working 文档维护规则
状态:长期执行。
要求:
- 若 compare 仍为 `60/60 pass`,不得新增“缺失功能已发现”的误报任务。
- 若新增对标维度,应扩展 `04-任务矩阵.md` 的任务编号和 compare 硬检查,不只写文字结论。
- 每次复验必须更新 `03-推进台账.md``05-验收证据.md`,并在 `gptlog-process/gpdlog.md` 追加中文过程日志。
## 最终结论
截至 2026-07-04 18:12 EDT仿真项目通过真实执行对比后未发现相对 LinuxCNC `xyzbc-trt` 的新增缺失功能。当前工作计划不是补缺实现,而是固定本轮 `60/60 pass` 证据,并建立后续变更后的强制复验和 fail/blocker 处置流程。
## 2026-07-05 18:08 EDT 复验补充
按用户再次要求“除了硬件相关的,在仿真的所有方面完全对标”,已重新执行 P-002 全量复验并更新 `working` 入口文档、任务矩阵、推进台账和验收证据。
本轮硬件排除边界:只排除实体伺服、电气 I/O、现场总线、真实主轴/冷却/刀库等物理设备接入LinuxCNC `xyzbc-trt` 软件仿真的源码、配置、HAL/task、AXIS/PyVCP/Vismach 等效 UI、switchkins/remap、G 代码执行、路径采样、错误联锁和 evidence/compare 仍全部纳入对标范围。
复验结果:
```text
native.status=ok
web.status=ready-for-wasm-runtime
compare.status=pass
compare.summary.checkCount=60
compare.summary.passCount=60
compare.summary.failCount=0
compare.summary.blockers=[]
compare.requiredImprovements=[]
smoke:node=ok
smoke:browser=ok
build=ok
```
结论:截至 2026-07-05 18:08 EDT仍未发现相对 `/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini` 的新增非硬件仿真缺失功能。