6.4 KiB
6.4 KiB
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 执行与通信链路
输入文件:
/home/mes123456/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 按钮图标和控制清单
输入文件:
/home/mes123456/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.md
/home/mes123456/cnc_wams/work/working3/gmoccapy_button_icons/button_icon_inventory.csv
/home/mes123456/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的trivkinsprofile 声称为 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 和报告路径。