docs: add axis run process working set

This commit is contained in:
wangdequan
2026-07-07 16:46:39 -04:00
parent 8b6be369ff
commit 39b495cf16
672 changed files with 280923 additions and 59 deletions

View File

@@ -0,0 +1,47 @@
# working9 README 索引
## 主题
基于 `/home/mes123456/cnc_wams/项目分析/AXIS主控制按钮调用链与WASM完善指南.md`,推进 AXIS 风格“执行 Run”按钮及其前置/运行期控制链在 `wasm-port``web-rtcp-5axis-xyzbc-trt-sim-plan` 中的完善。
本工作目录以“执行过程按钮”为主线,但 Run 不是孤立按钮。LinuxCNC 中 Run 是否可用、是否能继续、是否能暂停/单步,依赖以下状态链:
```text
ESTOP/ESTOP_RESET
-> Power ON
-> Manual Home
-> AUTO Run
-> Reading/Waiting
-> Pause/Resume/Step
-> Done/Error/Abort
```
## 文档索引
| 文件 | 用途 |
|---|---|
| `01-项目功能内容.md` | 定义执行按钮功能范围、LinuxCNC 对标语义、当前差距和完成定义。 |
| `02-项目程序开发详细步骤.md` | 按 `wasm-port`、Web store、UI、测试证据列出可执行开发步骤。 |
| `03-推进台账.md` | 记录每轮做了什么、改了哪些文件、验证了什么、下一步是什么。 |
| `04-任务矩阵.md` | 管理全部任务编号、状态、依赖和验收标准,防止重复推进。 |
| `05-验收证据.md` | 汇总命令、页面、job_id、report_id、PDF、截图、trace 等证据。 |
| `06-决策记录.md` | 固化关键技术决策,避免后续重复争论同一问题。 |
## 当前推进入口
1. 先读 `01-项目功能内容.md`,确认 Run 的完成定义不是“前端开始播放”,而是 task/motion 状态进入 LinuxCNC 风格执行链。
2.`04-任务矩阵.md``W9-001` 开始推进。
3. 每完成一个任务把命令、输出摘要、trace、截图目录追加到 `05-验收证据.md`
4. 每轮结束更新 `03-推进台账.md`
5. 如果改变状态源、门禁策略、fallback 方案,先追加 `06-决策记录.md`
## 当前结论
`AXIS主控制按钮调用链与WASM完善指南.md` 的核心结论是AXIS 按钮不是直接改 UI 状态,而是通过 `linuxcnc.command()` 发送 `EMC_TASK_*``EMC_JOINT_*` 命令,经 task 层门禁、motion 层执行,再由 `emcStatus` 反向驱动 UI。
working9 后续推进必须围绕这个结论:
- Run 必须发送 `EMC_TASK_PLAN_RUN`,并等待 task status 进入 `INTERP_READING/WAITING`
- Run 前必须满足 `STATE_ON + MODE_AUTO + homed/no_force_homing + program opened`
- Web 的 `runState` 只能是 WASM task/motion status 的投影,不能作为真实执行状态源。
- Pause、Resume、Step 必须作为执行过程的后续命令,不能退化为前端播放暂停或 frameIndex 跳转。