1.8 KiB
1.8 KiB
06-决策记录
DR-W5-001:以 gmoccapy_XYZAB 执行流程作为本轮验收主线
日期:2026-06-26
决策:
- 本轮不只验证图形 RTCP 轨迹,而是按 LinuxCNC 启动、INI/HAL、task/NML、interpreter、gmoccapy UI 通信和互锁全链路推进。
原因:
- 用户指定的基准文件覆盖了
gmoccapy_XYZAB.ini五轴仿真从启动到界面通信的完整执行流程。 - 若只看轨迹显示,容易遗漏回零、状态机、换刀、主轴到速、冷却、UI gate 等数控系统仿真关键行为。
影响:
- 任务矩阵按 LinuxCNC 行为拆分。
- 任何实现修改都需要补充对应测试或验收证据。
DR-W5-002:模式按钮门控前移到 SET_MODE 和 UI disabled 状态
日期:2026-06-26
决策:
- Web 侧
SET_MODE统一按 LinuxCNC/gmoccapy 状态门控。 STATE_OFF或未上电时,Manual/Jog/MDI/Auto 都禁止切换。STATE_ON但未全轴回零且NO_FORCE_HOMING = 0时,只允许 Manual/Jog,禁止 MDI/Auto。- 回零后 MDI/Auto 恢复可用;Auto 解释器非 idle 时仍禁止离开 Auto。
原因:
- LinuxCNC
gmoccapy.py的on_hal_status_state_off()会禁用rbt_manual、rbt_mdi、rbt_auto。 on_hal_status_state_on()先只启用rbt_manual,退出设置页时也明确区分“未回零只 Manual 可用”和“已回零三种模式可用”。- 旧 Web 实现主要在
RUN和RUN_MDI时拦截,模式按钮本身仍可点击,不符合 gmoccapy 的按钮敏感状态。
影响:
app/src/state/linuxcnc-task-policy.js成为模式切换和执行动作的统一互锁入口。app/src/ui/gmoccapy-shell.js侧边模式按钮使用同一 gate 输出 disabled、data-command-ready和aria-disabled。- Node 和浏览器测试增加下电、未回零、已回零三个阶段的断言。