# 01-项目功能内容 ## 目标 以 LinuxCNC `gmoccapy_XYZAB.ini` 五轴仿真配置为行为基准,执行、测试并完善 `/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan`。数控系统仿真功能应尽量与 LinuxCNC 源程序行为一致;发现不一致时,在 Web 项目中修复并补充验收证据。 ## 对标范围 ### 启动与配置 - INI 解析:`[DISPLAY]`、`[TASK]`、`[EMCMOT]`、`[TRAJ]`、`[KINS]`、`[HAL]`、`[RS274NGC]`、`[PYTHON]` 等关键段。 - 启动顺序:`linuxcncsvr`、RTAPI/HAL、`milltask`、`halui`、HALFILE、`halcmd start`、`gmoccapy`、POSTGUI_HALFILE。 - 五轴配置:`COORDINATES = X Y Z A B`、`JOINTS = 5`、`trivkins coordinates=xyzab`。 ### 任务、状态与互锁 - NML 命令、状态、错误通道的 Web 等效模型。 - `STATE_ESTOP`、`STATE_ESTOP_RESET`、`STATE_OFF`、`STATE_ON`。 - `MODE_MANUAL`、`MODE_MDI`、`MODE_AUTO`。 - `INTERP_IDLE`、运行、暂停、停止、abort。 - `NO_FORCE_HOMING = 0` 下的全轴回零互锁。 - 自动运行、MDI、点动、回零、主轴、冷却、倍率、限位、换刀互锁。 ### HAL 与仿真 IO - `core_sim_XYZAB.hal`:motmod、五轴位置反馈回环、急停回环、换刀回环、主轴/冷却信号。 - `spindle_sim.hal`:速度斜坡、编码器反馈、`spindle.0.at-speed`。 - `simulated_home.hal`:X/Y/Z 回零开关模拟。 - `gmoccapy_postgui.hal`:GUI HAL pins、主轴反馈条、到速 LED、刀补显示、换刀回环。 - `HALUI = halui` 默认入口。 ### G-code 解释与五轴运动 - RS274NGC 解释器行为。 - MDI 命令发送与状态回读。 - 自动运行文件、暂停、继续、单步、停止、从行运行。 - `M6`、`M61` REMAP 相关换刀语义。 - 五轴轨迹、单位换算、RTCP/运动学边界。 ### gmoccapy 界面等效行为 - 周期轮询:`[DISPLAY] CYCLE_TIME = 100` ms。 - 按钮/页面敏感状态互锁。 - DRO、程序进度、主轴反馈、冷却液、工具/刀补、错误消息。 - 外部 HAL 硬按钮和点动 pin 驱动 GUI 后再通过命令通道进入任务层。 ## 当前项目入口 - Web 应用:`/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app` - 核心运行时:`app/src/runtime` - gmoccapy UI:`app/src/ui` - 状态存储:`app/src/state` - 机床配置/profile:`app/src/profiles` - Node 验证:`tests/node` - 浏览器验证:`tests/browser`