Files
cnc_wams/work/working9-执行过程按钮

working9 README 索引

主题

基于 /home/mes123456/cnc_wams/项目分析/AXIS主控制按钮调用链与WASM完善指南.md,推进 AXIS 风格“执行 Run”按钮及其前置/运行期控制链在 wasm-portweb-rtcp-5axis-xyzbc-trt-sim-plan 中的完善。

本工作目录以“执行过程按钮”为主线,但 Run 不是孤立按钮。LinuxCNC 中 Run 是否可用、是否能继续、是否能暂停/单步,依赖以下状态链:

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-任务矩阵.mdW9-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 跳转。