开源改变世界

G70 第二道刀具返回路径问题 #1120

推推 grbl 2年前 (2023-01-30) 147次浏览
关闭
BSHoekstra 打开了这个问题 2021 年 3 月 31 日 · 6条评论
关闭

G70 第二道刀具返回路径问题#1120

BSHoekstra 打开了这个问题 2021 年 3 月 31 日 · 6条评论

注释

G70 第二道刀具返回路径问题 #1120
BS胡克斯特拉 评论了 2021 年 3 月 31 日  

我正在学习在我的 CNC 车床上使用 Linuxcnc 2.9 中的新 G70 命令,发现可能是一个错误。当使用P=2 执行2 次轮廓精加工走刀时,第2 走刀的刀具返回路径与第1 走刀的返回路径不同。在第二次刀具回程中,刀具深入工件然后拖过工件……就像是 1) 忽略退刀距离或 2) 可能是退刀距离整数符号(正方向与负方向)是相反的,因为刀具的第一次移动是朝向 0.0 X 轴而不是在第二返回路径上远离 0.0 X 轴。第一遍的刀具返回路径没有问题。

示例:G70 Q100 X15 Z3.041 E0 D0.125 P2

这是我预期会发生的情况:使用 G70 时,所有附加轮廓精加工走刀的刀具返回路径 P>1 遵循与第一次走刀 P=1 时采用的刀具返回路径完全相同的路径。

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

  • 我正在使用这个 Linux 发行版和版本:Buster 10
  • 我正在使用这个内核版本:4.19.0-14-rt-amd64使用 Tcl_SetResult 和 Tcl_GetStringResult  #1 SMP preempt RT Debian 4.19.171-2
  • 我在跑步 …
    • [X] 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
  • 我正在使用这个 LinuxCNC 版本:1:2.9.0~pre0.3553.g65d60fd14
  • 我正在使用此用户界面 (GUI):AXIS
  • 我正在使用此接口硬件供应商和芯片组:并口,Dell 3020

G71 King_ngc.txt

G70 第二道刀具返回路径问题 #1120

G70 第二道刀具返回路径问题 #1120
贡献者

我试图重现此错误,但附件与所附图片不符。
它还会产生(并且正确地产生)“如果不进行气刨,工具无法到达凹角的直线进给”。

你能附上重现错误的文件吗?
如果关闭刀具补偿
(G42.1),错误是否仍然出现?

G70 第二道刀具返回路径问题 #1120
作者
BS胡克斯特拉 评论了 2021 年 4 月 11 日  

感谢您调查并回复。我真的很感谢你的帮助,我希望在这个回复中提供更多信息

会有帮助。

  1. 至于“没有气刨的刀具无法到达凹角的直线进给”……请使用我附上的工具台。请注意,我使用 35 度菱形切割器,因此这种轮廓气刨错误不是问题。

G70 第二道刀具返回路径问题 #1120

  1. 对于 ngc 文件与初始帮助请求中所附图片不匹配造成的任何混淆,我们深表歉意。附带的ngc文件是我在车床上实际使用的文件,但是切割深度太浅,以至于很难在图片上显示问题。所以我基本上加深了切割深度来创建图片。无论此回复中附加的文件是否与图片匹配。
    G71 King_QUICK_ngc.txt

  2. 关闭 G42.1 确实解决了刀具在第二条返回路径上切入的问题;但是,第二个返回路径与第一个返回路径不同,我认为应该是。这在附件中以图形方式显示。
    G70 第二道刀具返回路径问题 #1120
    G70 第二道刀具返回路径问题 #1120

G70 第二道刀具返回路径问题 #1120
贡献者

感谢更新文件。由于气刨错误,我仍然无法获得刀具补偿
,我正在使用您的刀具表。这很奇怪
,我会调查一下。

然而,没有刀具补偿,循环按预期工作。O100 潜艇的
最后一步是从 z=-63 -> z=-75。之后它移动
到起点。

请注意,该程序沿
最终轮廓总共进行了三遍,第一遍实际上来自 G71.2 循环。在
G7[12] 循环完成路径后,它总是在返回起点
之前返回到起始 X(对于 G71)或 Z(对于 G72)。这是
我添加的内容,以防止碰到工件上留下的特征。
G70 循环不这样做,因为它不知道哪个方向
是安全的,所以由用户将其添加到刀具路径中。(查看附件)

G71_king.ngc.gz

G70 第二道刀具返回路径问题 #1120
作者
BS胡克斯特拉 评论了 2021 年 4 月 11 日  

谢谢你。:)

G42.1 工具补偿:我不确定为什么您在使用我的工具表时会出现气刨错误,而我却没有收到该错误……这很奇怪。但是,我有 3 个想法,您可以考虑在打开 G42.1 的情况下测试 NGC 文件。1) 确保工具 1 在方向 2 而不是工具表中的方向 6,或者 2) 只需将所有工具更改为刀具 0(我认为工具 0 会忽略所有此类错误)和 3) 我假设您刚刚注释掉了 M112 消息代码“移动刀架”(我可能应该在附加文件之前完成此操作……抱歉)。无论如何,我在 G42.1 打开和关闭的情况下测试了你发给我的文件,这两种配置之间的刀具路径没有区别。

G70 第二个返回路径问题:您添加到文件中的代码行解决了气刨问题,并且在打开和关闭 G42.1 的情况下一切正常。首先…谢谢!:) 其次…我现在知道您的代码究竟做了什么,也不知道它为什么起作用。你能快速解释一下吗?您能否指出 Linux G 代码文档中引用此类代码的位置,以便我了解更多信息?

O100 SUB
#1 =#<_X> (标记添加此代码)
G01 X3.5 Z1.0
G01 Z-7.0
X5.0
Z-10.0
X4.5 Z-13.0
Z-15.0
X9.3
Z-17
X5.3 Z-24
X5.3
Z-30
X9.3
G01 X9.3 Z-35
G02 X8.0 Z-55.0 R15
G01 X12.5 Z-63.0
Z-75
X#1(标记添加此代码)
O100 ENDSUB

使用代码 Mark 添加的两个 G70 刀具返回路径(P=2)如下所示。这些刀具路径清除了所有工件特征并解决了刀具气刨问题。马克,请考虑让开发人员在随 LinuxCNC 下载提供的 G70 示例文件中添加您的代码行,因为像我这样的其他初学者可能会遇到同样的问题。

G70 返回路径 1
G70 第二道刀具返回路径问题 #1120

G70 返回路径 2
G70 第二道刀具返回路径问题 #1120

非常感谢您对此的帮助!:) 这非常有帮助…哇。

再次感谢你。

祝你今天过得愉快,

巴里

G70 第二道刀具返回路径问题 #1120
贡献者

第一行将 X 位置的当前值存储在参数
编号 1 中。请参阅http://www.linuxcnc.org/docs/html/gcode/overview.html#_parameters
编号 1 到 31 旨在用作本地参数。

然后这个参数的值在“G70 Q100 X15 Z3.041 D0.05
E0 P2”中变为15(假设我最新的补丁已应用)

在最后的 Z 移动之后,它只是将 X 移动到存储在#1中的任何位置。

为了您的娱乐,我附上了一个更详细的示例。这允许
您切割内部莫氏锥度。

至于气刨错误,我真的不知道发生了什么
。基本上我应该在没有最后的 X 步的情况下得到它,但没有
那个步。为什么你没有得到那个错误对我来说也是一个谜。
Morse_taper_internal.ngc.gz

G70 第二道刀具返回路径问题 #1120

感谢您提供的所有帮助和解决问题。

祝你度过愉快的一周!:)