Files
linuxcncWebWASM/test_Rtcp/README.md

61 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/` 下的路径去掉了源码根目录前缀。例如:
```text
programs/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc
```
对应源码:
```text
linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc
```
完整清单见 [`MANIFEST.md`](MANIFEST.md),分析见 [`rtcp_analysis.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 示例。主要实现路径是:
```text
G-code -> M428/M429 remap 或直接加载非平凡 kinematics
-> inverse kinematics
-> joint XYZ + rotary axes
```
`TCP` 在这些示例中表示 Tool Center Point;不要与网络通信中的 TCP 混淆。