开源改变世界

设置主轴速度但保持不变时不要刷新队列 #1813

推推 grbl 2年前 (2023-01-31) 189次浏览
打开
PetteriAimonen 打开了这个问题 2022 年 7 月 10 日 · 2 条评论 · 可能会被#1839修复
打开

设置主轴速度但保持不变时不要刷新队列#1813

PetteriAimonen 打开了这个问题 2022 年 7 月 10 日 · 2 条评论 · 可能会被#1839修复

注释

设置主轴速度但保持不变时不要刷新队列 #1813

以下是我重现该问题所遵循的步骤:

  1. 使用OpenBuilds CAM生成 G 代码
  2. 设置G64路径混合模式
  3. 运行文件并观察慢动作

生成的 G 代码如下所示:

G1 F1000 X100.000 Y100.000 Z-2.000 S10000
G1 F1000 X100.100 Y100.010 Z-2.000 S10000
G1 F1000 X100.200 Y100.020 Z-2.000 S10000
G1 F1000 X100.300 Y100.040 Z-2.000 S10000
G1 F1000 X100.400 Y100.060 Z-2.000 S10000

这是我期望发生的事情:

段应该混合在一起,而不是每毫米停止多次。

这是发生了什么:

机器进给非常慢,并linuxcnctop显示队列长度始终为 0 或 1。

有关我的硬件和软件的信息:

LinuxCNC 2.8.2.11.g6a3d0a434 使用官方发行版,带有 AXIS gui。

错误原因

发生这种情况是因为 OpenBuilds CAM 放在S10000每一行,然后 rs274 将其转换为SET_SPINDLE_SPEED命令。

目前SET_SPINDLE_SPEED无条件调用flush_segments()
https ://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/task/emccanon.cc#L1918-L1926

我建议首先添加与当前设置速度的比较,如果没有变化则跳过该功能。
如果需要,我可以请求更改。

设置主轴速度但保持不变时不要刷新队列 #1813
合作者

请求请求会很好。

设置主轴速度但保持不变时不要刷新队列 #1813

也许一个好的开始可能是为此创建一个测试用例。不确定它应该去哪里,但怀疑 tests/trajectory-planner/ 可能是它的好地方。 @c-morley,也许您可​​以提供一些指导,说明应在代码中的何处实现此类逻辑?

petterreinholdtsen 添加了对引用此问题的 petterreinholdtsen/linuxcnc 的提交 2022 年 7 月 16 日 

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

4人参加
设置主轴速度但保持不变时不要刷新队列 #1813设置主轴速度但保持不变时不要刷新队列 #1813设置主轴速度但保持不变时不要刷新队列 #1813和别的

喜欢 (0)