关闭 timryder 打开了这个问题 2016 年 2 月 2 日 · 3条评论 关闭 G2 和 G3 错误。#897 timryder 打开了这个问题 2016 年 2 月 2 日 · 3条评论 注释 提姆莱德 评论了 2016 年 2 月 2 日 我已经创建了自己的 cad cam 软件,它在很大程度上非常好!但是,在使用 G2 和 G3 命令时,我遇到了一些故障。我收到了很多 ID:33 无效目标。因此,我查看了 grbl 代码,发现了几个产生错误的实例,并为它们创建了每个唯一的错误 ID,以尝试帮助诊断错误的原因。 // Compute difference between current location and target radii for final error-checks. float delta_r = fabs(target_r-gc_block.values.r); if (delta_r > 0.005) { if (delta_r > 0.5) { FAIL(STATUS_GC0DE_RADIUS_39); } // [Arc definition error] > 0.5mm if (delta_r > (0.001*gc_block.values.r)) { FAIL(STATUS_GC0DE_RADIUS_40); } // [Arc definition error] > 0.005mm AND 0.1% radius } 该部分来自 gcode.c 的第 797 行 我似乎从上面的代码中得到了更多错误 39,但我很难解释它们产生的原因。有人可以帮助我理解上述两个错误,以便改进我的代码吗? 谢谢 成员 香奈儿 评论了 2016 年 2 月 2 日 @timryder: 请看G2/3 上的linuxcnc 说明。它描述了要检查的失败案例。不幸的是,g 代码 G2/3 arc 命令在数学上非常糟糕。这意味着它对错误非常敏感。按有效数字更改单个值可能会导致它抛出错误。 作者 提姆莱德 评论了 2016 年 2 月 2 日 @chamnit: 谢谢会做。您建议使用 IKJ 功能还是依赖半径格式更稳定。 成员 香奈儿 评论了 2016 年 2 月 2 日 @timryder:仅使用 IJK 偏移弧。Radius 格式是迄今为止最严重的问题。IJK 偏移弧不太敏感,但也不完美。 timryder已完成 关闭 2016 年 2 月 3 日 喜欢 (0) 点动时报警:1个(归位后) #784 我认为您的连接方式不会在常规开关中转换它们。 您可以检查电压(因此接触)是否立即正确变化。 @FelisucoVFR #784 2.8inch_ESP32-2432S028R无法获取任何菜单 #56 2.8inch_ESP32-2432S028R显示屏支持 #55 编译错误 #54 文本部分超出了板中的可用空间 #53 2.8inch_ESP32-2432S028R无法获取任何菜单 #562.8inch_ESP32-2432S028R显示屏支持 #55编译错误 #54文本部分超出了板中的可用空间 #53编译失败:SdFat.h:没有那个文件或目录 #50esp32c3支持吗? #49慢跑算法 #48启用 WiFi 后,STA & AP 模式会暂停发送 G 代码。 #46
我已经创建了自己的 cad cam 软件,它在很大程度上非常好!但是,在使用 G2 和 G3 命令时,我遇到了一些故障。我收到了很多 ID:33 无效目标。因此,我查看了 grbl 代码,发现了几个产生错误的实例,并为它们创建了每个唯一的错误 ID,以尝试帮助诊断错误的原因。
// Compute difference between current location and target radii for final error-checks. float delta_r = fabs(target_r-gc_block.values.r); if (delta_r > 0.005) { if (delta_r > 0.5) { FAIL(STATUS_GC0DE_RADIUS_39); } // [Arc definition error] > 0.5mm if (delta_r > (0.001*gc_block.values.r)) { FAIL(STATUS_GC0DE_RADIUS_40); } // [Arc definition error] > 0.005mm AND 0.1% radius }
该部分来自 gcode.c 的第 797 行
我似乎从上面的代码中得到了更多错误 39,但我很难解释它们产生的原因。有人可以帮助我理解上述两个错误,以便改进我的代码吗?
谢谢