# 01 功能内容 生成日期:2026-06-26 ## 1. 目标 使用 `working3` 中的 gmoccapy_XYZAB 执行链路分析和按钮图标资料,完善 `web-rtcp-5axis-sim-plan` 的 gmoccapy 风格 Web 五轴仿真功能。 本阶段目标不是把 LinuxCNC GTK/gmoccapy 原程序移植到浏览器,也不是让浏览器直接运行 LinuxCNC native NML/HAL 进程。目标是把 gmoccapy_XYZAB 的运行条件、按钮语义、NML/HAL 通信模型和图标资产转化为 Web 仿真项目可实施、可验证、可追溯的功能包。 ## 2. 当前项目现状 `web-rtcp-5axis-sim-plan` 已具备这些基础能力: - gmoccapy 风格 Web shell:标题栏、预览区、DRO、G-code 面板、右侧模式栏、信息面板、override、主轴/冷却、底部控制栏。 - 五轴 profile:当前已有 `xyzac-trt`、`xyzbc-trt`。 - LinuxCNC source-derived runtime:已有 kinematics、interpreter、task/HAL runtime 接入和 worker fallback。 - machine-file staging:可加载 LinuxCNC vendored 源程序。 - RUN 主链路验证:已有 run preconditions、feedback loop、linear unit、browser evidence 等测试文档和证据。 - 已有追溯矩阵:`docs/traceability-matrix.md` 记录了 Web 实现和 LinuxCNC 来源的边界。 ## 3. working3 新增价值 `working3` 提供了两类资料,本阶段已将其转化为项目内 profile、runtime model、UI 图标、 task gate、测试和 QA 证据: ### 3.1 gmoccapy_XYZAB 执行与通信链路 输入文件: ```text /home/meswork/cnc_wams/work/working3/gmoccapy_XYZAB_execution_analysis.md ``` 可转化为 Web 功能的关键点: - `gmoccapy_XYZAB.ini` 是 LinuxCNC 运行配置,不是单独程序。 - 启动链路包括 `linuxcncsvr`、realtime/RTAPI/HAL、`milltask`、`halui`、HALFILE、`halcmd start`、`gmoccapy -ini`。 - GUI 主要通过 `linuxcnc.command()`、`linuxcnc.stat()`、`linuxcnc.error_channel()` 与 `milltask` 通信。 - HAL 侧通过 `gmoccapy.*` pins、`POSTGUI_HALFILE`、`halui`、`iocontrol`、`motmod`、`spindle_sim` 等连接状态和外部控制。 - 当前 XYZAB 配置为 `trivkins coordinates=xyzab`,`JOINTS=5`,属于仿真回环机,不是 TCP/RTCP 运动学。 - `NO_FORCE_HOMING = 0`,自动运行和 MDI 必须经过急停复位、上电、回零、模式切换、解释器空闲等互锁。 ### 3.2 gmoccapy 按钮图标和控制清单 输入文件: ```text /home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.md /home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.csv /home/meswork/cnc_wams/work/working3/gmoccapy_button_icons/files/ ``` 清单规模: - 清单行总数:211。 - 有图标或图像的按钮/状态:116。 - 纯文字或无图标按钮/状态:95。 - 已复制图标文件:112 个。 - 覆盖右侧主状态栏、底部主按钮栏、Auto 程序运行栏、MDI/宏、回零、Touch Off、Jog、主轴冷却、预览、编辑页、刀具页、文件选择页、内嵌 ToolEdit/OffsetPage、设置页控件。 ## 4. 本阶段功能包状态 | 功能包 | 内容 | 当前状态 | 完成后效果 | | --- | --- | --- | --- | | F-XYZAB-01 gmoccapy_XYZAB 参考 profile | 把 `gmoccapy_XYZAB.ini` 的坐标、HALFILE、POSTGUI_HALFILE、`trivkins xyzab`、回零策略整理为 Web profile/source map。 | 已完成 | Web UI 可切换到 XYZAB 参考配置,并清楚标注其为 trivkins 仿真 profile。 | | F-XYZAB-02 启动链路和通信诊断 | 在信息面板展示 LinuxCNC native 启动阶段、NML command/status/error、HAL/postgui 通信边界。 | 已完成 | 用户能看到 Web 仿真与 native gmoccapy 的通信差异,不把 UI 行为误认为真实 NML/HAL 进程。 | | F-XYZAB-03 G-code 执行互锁强化 | 按 gmoccapy_XYZAB 的三层保护补齐 RUN/MDI/JOG/HOME/SPINDLE/COOLANT gate 说明和测试。 | 已完成 | RUN/MDI 等按钮 disabled 原因可解释,Node/browser 测试覆盖典型非法状态。 | | F-XYZAB-04 按钮语义和图标资产映射 | 从 CSV 生成 Web 可消费按钮 manifest,并把核心 icon 接入右侧栏、底部栏、Auto 栏、预览栏、文件栏。 | 已完成 | UI 从文字按钮升级为 gmoccapy 风格图标按钮,active/inactive 状态可验证。 | | F-XYZAB-05 HAL pin 与 postgui 状态面板 | 展示 `gmoccapy.*` pins、spindle feedback、tool offset、program progress、HALUI 等诊断状态。 | 已完成 | 信息面板可解释哪些是 NML 状态,哪些是 HAL pin 状态,哪些是 Web 仿真状态。 | | F-XYZAB-06 宏/MDI/Tool/Touch 工作流 | 参考 gmoccapy 宏和工具页按钮逻辑,补齐 Web 侧宏按钮、MDI 历史、Tool/Touch 操作互锁。 | 边界内完成 | W4 验收覆盖 MDI gate、home/tool/touch 图标和互锁;宏编辑和 MDI 历史扩展未作为本阶段新增验收项。 | | F-XYZAB-07 验收证据自动化 | 为新增 profile、按钮、互锁、图标、HAL 诊断补 Node/browser/PDF/截图证据。 | 已完成 | 每个功能都有命令、页面、JSON、截图或 PDF 证据。 | ## 5. 不做事项 本阶段不做: - 不移植 GTK、Glade、Python gmoccapy runtime。 - 不启动 native `linuxcncsvr`、`milltask`、`halui`、`motmod` 作为浏览器运行依赖。 - 不把 `gmoccapy_XYZAB` 的 `trivkins` profile 声称为 RTCP/TCP 运动学 proof。 - 不用 JavaScript 自行发明 G-code 解释器、刀补、REMAP 或运动规划语义。 - 不把 icon 清单复制到 UI 后就认定控制语义完成,按钮仍必须通过 task policy 和 runtime 证据验收。 ## 6. 已满足的成功定义 本阶段收口时满足: - 代码中有 `gmoccapy-xyzab` 或等价 reference profile,并显示 `XYZAB`、`trivkins`、HALFILE、POSTGUI_HALFILE、`NO_FORCE_HOMING=0` 等来源信息。 - UI 核心按钮使用 `working3` 清单中的图标或 manifest,且 active/inactive 状态可被浏览器测试识别。 - RUN、MDI、JOG、HOME、ESTOP、POWER、SPINDLE、COOLANT 的 gate 与 gmoccapy_XYZAB 文档一致。 - HAL/postgui 诊断能区分 NML 命令、NML 状态、HAL pin、Web task/HAL simulation status。 - `npm --prefix web-rtcp-5axis-sim-plan/app run build` 通过。 - `npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node` 通过。 - 浏览器 smoke 覆盖 profile 切换、按钮 active 图标、canvas 非空、RUN blocked reason 和 HAL diagnostics;source-derived RTCP 运行证据仍由既有 `xyzac-trt`、`xyzbc-trt` 验收链路承担。 - `05-acceptance-evidence.md` 已追加实际 JSON、截图、PDF 和报告路径。