Files
cnc_wams/web-rtcp-5axis-sim-plan/docs/gmoccapy-xyzac-trt-rtcp-verification-evaluation.md
2026-07-02 08:01:34 -04:00

6.3 KiB
Raw Permalink Blame History

gmoccapy XYZAC TRT RTCP 五轴对标验证评价

日期2026-07-01

1. 评价结论

gmoccapy-xyzac-trt 页面功能已在 Web 仿真边界内对标 LinuxCNC gmoccapy 非平凡五轴 TRT 示例。结论为:通过。

通过范围是浏览器/Web/WASM 仿真边界:页面 profile、INI/HAL/TBL/NGC 项目文件 staging、gmoccapy POSTGUI 工具与主轴 HAL 语义、固定 TRT 默认 TCP 运动学、LinuxCNC interpreter canonical motion、TP planner sample、RTCP frame、DRO/Three.js 页面状态和 source guard 均已验证。该结论不声明原生 GTK gmoccapy.py 已移植不声明真实硬件、host realtime kernel、host HAL shared memory、native LinuxCNC task 进程或 host tool DB process 已就绪。

2. LinuxCNC 基线

本轮对标的 LinuxCNC 来源位于 /home/mes123456/cnc_wams/linuxcnc

类别 基线文件 对标要点
gmoccapy TRT INI configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac-trt.ini DISPLAY=gmoccapyOPEN_FILE=./examples/impeller-7bl-xyzac.ngcJOG_AXES=XYZCTRAJ=XYZACKINEMATICS=xyzac-trt-kins
gmoccapy POSTGUI HAL configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/postgui.hal gmoccapy.spindle_feedback_bargmoccapy.spindle_at_speed_ledgmoccapy.toolchange-*gmoccapy.tooloffset-z
generated HAL / tool table / vars xyzac-trt_cmds.halxyzac-trt.tblxyzac.var gmoccapy 机床项目文件、刀具表和 task/HAL session 来源
remap macros configs/sim/gmoccapy/macros/change_g43.ngcsettool_g43.ngc M6M61 gmoccapy 工具更换/设刀 remap
实际五轴程序 examples/impeller-7bl-xyzac.ngcboat-xyzac.ngcboat-xyzbc.ngctest-xyzac.ngctest-xyzbc.ngc gmoccapy TRT 示例程序 staging、选择、解释、预览
运动学源码 src/emc/kinematics/xyzac-trt-kins.ctrtfuncs.cswitchkins.c TRT 正逆解、TCP/identity/userk 类型语义

关键差异已经显式建模axis/vismach TRT profile 使用 sparm=identityfirstswitchkinsType=1 为 TCPgmoccapy TRT INI 不带 sparm=identityfirst,因此默认 type 0 即固定 TRT/TCP。Web profile 将这一点映射为 kinsType=tcp-xyzacrtcpState=on 的默认状态。

3. Web 对标实现

实现项 文件 评价
新增 profile app/src/profiles/gmoccapy-xyzac-trt.jsapp/src/profiles/index.js 已对齐 gmoccapy INI 路径、display、open file、jog axes、M6/M61 remap、POSTGUI HAL、tool table、fixed TRT 默认 TCP
source reference app/src/profiles/source-reference-map.js 已把 gmoccapy TRT INI、HAL、TBL、examples、macros、kinematics source 纳入可追溯来源
vendored LinuxCNC 文件 ../wasm-port/vendor/linuxcnc/configs/sim/gmoccapy/...../wasm-port/tools/source-manifest.txt 已复制 LinuxCNC gmoccapy TRT 配置、examples 和 macrosmanifest 已纳入这些文件
machine-file staging app/src/runtime/linuxcnc-machine-file-staging.js 已支持 profile-specific machineReldemoDirectory=examples、gmoccapy examples source guard、OPFS/memory fallback
INI parser app/src/runtime/linuxcnc-ini-runtime.js 已区分 switchkins TRT 与 gmoccapy fixed TRTgmoccapy 不强制 HALUI M428/M429/M430 和 HAL_PIN_VARS=1,改为要求 M6/M61 与 gmoccapy HALCMD 关键项
store/main app/src/state/store.jsapp/src/main.js 已让 fixed TRT 默认进入 tcp-xyzac/RTCP on并按 profile 默认加载 impeller-7bl-xyzac.ngc
build/static app/scripts/build-static.mjs 已把 gmoccapy config assets 复制到 source/dist 两套浏览器路径
页面 smoke tests/browser/gmoccapy_shell_smoke.html 已通过真实页面 profile selector 切换到 gmoccapy-xyzac-trt,验证 gmoccapy display、examples staging、INI、kinematics runtime、RTCP frame

4. 测试与验证

测试项 验证内容 结果
profile/source map profile 字段、fixed TRT 默认 type、gmoccapy HAL pins、source reference kinds 通过
INI 解析 xyzac-trt.ini 的 DISPLAY、TRAJ、KINS、M6/M61、POSTGUI、HALCMD、servo/task period 通过
文件 staging gmoccapy INI、TBL、macros、examples 进入 staged projectsource guard 接受 /examples/ 通过
实际程序解释 impeller-7bl-xyzac.ngcboat-xyzac.ngcboat-xyzbc.ngc 由 LinuxCNC interpreter runtime 输出 canonical motion 与 planner samples 通过
运动学/RTCP xyzac-trt WASM 以 fixed TRT type 0 构造 source-derived RTCP frame页面默认 RTCP on 通过
store/run preconditions 切换 profile、加载 INI/runtime、加载 gmoccapy example、programValidation source guard、tool DB readiness、run preconditions 通过
浏览器页面 source 与 dist 页面均完成 gmoccapy shell smoke并显式覆盖 gmoccapy-xyzac-trt profile 切换 通过
静态构建 gmoccapy config assets 被复制到 dist 并通过浏览器 dist smoke 通过

已执行命令及关键输出:

node tests/node/verify_gmoccapy_xyzac_trt_parity.mjs
gmoccapy_xyzac_trt_parity_smoke=ok

npm --prefix app run smoke:node
xyzac_trt_kinematics_runtime=ok
xyzbc_trt_kinematics_runtime=ok
real_linuxcnc_5axis_program_cases_smoke=ok
machine_file_staging_smoke=ok
rtcp_store_smoke=ok
profile_boundary_smoke=ok
gmoccapy_xyzac_trt_parity_smoke=ok
gmoccapy_trt_project_sidebar_smoke=ok
linuxcnc_parity_matrix_smoke=ok

npm --prefix app run smoke
gmoccapy_shell_smoke=ok
gmoccapy_dist_smoke=ok

此前也已执行 npm --prefix app run build,输出 gmoccapy_static_build=ok

5. 评价

gmoccapy-xyzac-trt 已达到本项目页面功能对标要求页面选择、项目文件、默认程序、INI/HAL/TBL/macros、真实 gmoccapy TRT examples、fixed TCP 运动学和 RTCP 页面状态均来自 LinuxCNC 源文件或 source-derived runtime 证据,不再把 axis/vismach switchkins 配置误当作 gmoccapy fixed TRT 配置。

剩余边界不是本轮缺陷,而是明确的能力边界:浏览器不运行 native GTK gmoccapy不连接 host HAL shared memory不控制真实电机/IO不启动 host realtime kernel不执行任意 host user-M 或 native tool DB process。后续若要声明这些能力需要新增 host/native 级验证,而不能沿用当前 Web simulation 结论。