开源改变世界

复位按钮 #490

推推 grbl 2年前 (2023-01-22) 52次浏览

关闭
robomechs 打开了这个问题 2018 年 7 月 18 日 · 2 条评论
关闭

复位按钮#490

robomechs 打开了这个问题 2018 年 7 月 18 日 · 2 条评论

注释

复位按钮 #490
机器人机械师 评论了 2018 年 7 月 18 日  

如果在 G4 延迟期间(空闲状态)按下复位按钮,这不会停止程序执行。
这是正确的吗?
motion-control.c
// 仅当处于任何运动状态(即循环、主动保持或归位)时才终止步进器。
// 注意:如果步进器通过步进空闲延迟设置保持启用状态,这也会
通过完全避免 go_idle 调用来保持步进器启用,除非运动状态
// 被违反,否则所有赌注都将关闭。
if ((sys.state & (STATE_CYCLE | STATE_HOMING | STATE_JOG)) ||
(sys.step_control & (STEP_CONTROL_EXECUTE_HOLD | STEP_CONTROL_EXECUTE_SYS_MOTION))) {
if (sys.state == STATE_HOMING) {
if (!sys_rt_exec_alarm) {system_set_exec_alarm_REMSETINGAL) ; }
} else { system_set_exec_alarm(EXEC_ALARM_ABORT_CYCLE); }
st_go_idle(); // 强制杀死步进器。位置可能已经丢失。
}

复位按钮 #490
贡献者

是的。这是一个已知问题。G4延迟应该在状态机中有一个单独的状态来处理这样的事情。相反,Grbl 将其视为空闲状态,这不太正确。不幸的是,对于 v1.1,我无能为力。它将在未来的版本中解决。

复位按钮 #490

谢谢!我将尝试在 stm32 的 usbcnc grbl 克隆中修复此问题:usbcnc#52
还有一件事:如果按下按钮并且程序未运行,则可以启动它。

喜欢 (0)