Files
linuxcncWebWASM/test_Rtcp/README.md

2.9 KiB
Raw Blame History

LinuxCNC RTCP G-code collection

本目录收集了当前仓库 linuxcnc/ 源码树中与 RTCP/TCP 五轴运动学直接相关的 G 代码程序。

源码版本:

  • LinuxCNC 子仓库:239dcf4(git -C linuxcnc log -1 --oneline)
  • 原始文件根目录:linuxcnc/
  • 复制目录:test_Rtcp/programs/
  • 文件数量:32 个 .ngc
  • 复制方式:保留相对于 linuxcnc/ 的原始路径;已用 cmp 检查复制文件与源码文件一致

目录

programs/ 下的路径去掉了源码根目录前缀。例如:

programs/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc

对应源码:

linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc

完整清单见 MANIFEST.md,分析见 rtcp_analysis.md。

Web 控制面板适配

这 32 个文件现已接入 Web AXIS 控制面板的“RTCP 程序库”入口:

  • 程序清单与兼容性元数据:web/react/src/rtcp-program-manifest.json
  • 程序库界面:web/react/src/RtcpProgramLibrary.tsx
  • 控制面板按机床配置自动分为 AC(XYZAC)和 BC(XYZBC):AC 默认显示 15 个相关文件、可直接加载 8 个主程序;BC 默认显示 9 个相关文件、可直接加载 3 个主程序。
  • “全部 32 个源程序”范围保留跨机型查阅能力,但另一类机床程序不会作为当前机型可执行项。
  • remap、O-code 子程序、Hexapod 支持文件及当前未移植机型的主程序可查看和下载,但不会被误当作当前机型的独立主程序执行。
  • 所有可执行项仍通过统一的 PROGRAM_LOAD 事务进入 LinuxCNC WASM 解释器、运动学和刀路预览,没有在 React 中增加第二套 G-code 或 RTCP 实现。

适配过程中补齐了 LinuxCNC 兼容语义:G93 模式下的 G0 快移不要求 F 值,M1 在当前“可选停止关闭”边界下可被解释器接受。11 个 AC/BC 主程序均通过 WASM 预解析测试。

运行前提

这些程序多数不是脱离配置即可运行的独立 G 代码。RTCP 由 LinuxCNC 的 kinematics 组件执行,G 代码需要匹配的 INI、HAL 和 remap 子程序:

  • TRT 配置:configs/sim/axis/vismach/5axis/table-rotary-tilting/
  • 双旋转台配置:configs/sim/axis/vismach/5axis/table-dual-rotary/
  • Bridge Mill 配置:configs/sim/axis/vismach/5axis/bridgemill/
  • gmoccapy TRT 配置:configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/
  • Hexapod RTCP remap 配置:configs/sim/axis/vismach/hexapod-sim/

LinuxCNC 这一源码版本没有找到使用标准 G43.4 或 G43.5 字样的 RTCP 示例。主要实现路径是:

G-code -> M428/M429 remap 或直接加载非平凡 kinematics
       -> inverse kinematics
       -> joint XYZ + rotary axes

TCP 在这些示例中表示 Tool Center Point;不要与网络通信中的 TCP 混淆。