注释
我明白你为什么要改变这个,但我认为你要求的是一个更好的慢跑界面。这是为 v1.0 开发而定的,在那里会有更好的设置行为来处理这样的事情。 |
是的,可能。我不太确定我在问什么,我主要是遇到了一些事情并想分享我的经验:-) 改进的慢跑听起来确实有帮助,谢谢。 |
|
@cri-s:如果命令的运动超过机器行程限制,Grbl 会检查所有运动命令,但归位除外。这涵盖了您建议的软限制模式。没有理由让它变得更复杂。 |
|
在发出 ctrl-X $X 之后,你必须发出 g92 和来自 ? 命令。 对于慢跑来说,如果只是在空闲状态下,就简单了。 |
|
你想让补丁在 ctrl-x 之后不需要归位吗? |
|
今天我刚刚实施了归位和软限制,我还发现清除警报所需的两个步骤(重置,然后回避或再次执行归位)有点混乱。但我想我同意 Chamnit 的观点:如果需要,GUI 可以轻松应对这两个步骤。 更一般地说,我认为 grbl 项目会更好地服务于“假设”它有一个智能的前端预处理器/发送器也保持状态和,然后问“我们应该/可以合理地将什么功能迁移到前端在笔记本电脑/主机上结束?”。在我看来,软限制应该在 g 代码流式传输到 grbl 之前很久就实施,所以我不相信软限制甚至应该在“核心”grbl 中。(当然,如果它们占用空间和处理周期,我会把它们踢出去,而这些空间和处理周期可以更有利地用于“真正的 grbl 优势”,如加速、规划、转弯等,”)然后当然,主机中的预处理可以实施所有额外的事情,如子程序或啄钻。我可能还喜欢额外的功能,例如对工作区域进行软限制,而不仅仅是对机器进行限制。因此,如果我将一个小 PCB 安装在一个更大的桌子上并设置一些工作坐标,我不想在 PCB 的软限制范围之外钻孔。 |
|
@cspwcspw: 强烈反对。IMO,安全协议应该在运动控制器上完成,而不是依赖于 GUI,它可以在“普通不起作用”到“智能”的广泛范围内。有太多会出错的事情会出错。 出于一个特殊且重要的原因,软限制站在 Grbl 一边。G 代码解析器可能会略有不同。有些有错误或其他使用不同的 g 代码方言。如果这些动作仍然传递给 Grbl,则机器可能会无意中超出软限制。但是,进行两级检查并没有错,其中 GUI 执行一个而 Grbl 仍然执行自己的检查。 其次,软限位警报不需要重新归位,即使它看起来需要。只需解锁警报,您就可以像往常一样恢复操作。这是因为软限制在发出警报之前执行进给保持。随意测试一下。 |
|
当然,它像你说的那样工作,这就是我清除错误的方式。(我不需要重做归位周期)。我认为线程最初的小问题(诚然是一个非常小的问题)是“软限制错误”的行为类似于“硬限制错误”,而实际上,它们是不同的。例如,如果我没有在 G1 上设置进给率,我会收到一个错误,但不是需要两步才能清除的错误, 至于是否将 grbl 的长期未来视为“仅在后端运行的东西(比如 Arduino)”,还是作为“前端 G 代码预处理器/驱动程序和流媒体 + 后端”结束组合一起工作”,两者都可以。在 grbl 中,您似乎有两个松散耦合的“进程”,用于解析和规划并将内容放入块缓冲区,然后是在电机上进行运动的 ISR 进程。也许有不同分解的可能性:例如,在将块通过 USB 接口移动到 Arduino 之前,规划块并解码 G 代码可能更好吗? 我认为尝试可能会很有趣。 |
|
@cspwcspw:软限位错误不是错误而是报警。这些都被对待并且应该区别对待。在我看来,用于确认和取消警报的两个步骤(重置和解锁)并不是什么大问题。一般来说,你不应该经常遇到软限制,如果一个工作可能接近软限制,我会确保通过在 Grbl 的检查模式下流式传输 g 代码程序来进行空运行。如果程序在不移动机器的情况下超出机器行程,它会发出软限位警报。 前段时间我考虑过将 Grbl 解耦并决定反对它。G 代码流是控制器和 GUI 之间非常干净的分离。您不需要大量的通信带宽,也不需要发明一种新的协议,它已经完成了与 g 代码非常相似的事情。 |
|
@mkeyno:请理解,Marlin 和 Grbl 正在维修两种不同的 CNC 机器类型。Marlin 是 3d 打印机,Grbl 是 CNC 铣床和路由器,它们比打印机危险得多。如果出现小错误,大型机器可能会损坏工具或将金属工件飞过房间。我知道软限位警报很烦人,但它按照设计的方式工作。防止在工作期间超过最大行程。如果您正在慢跑,软限位警报很容易调用,这就是我在 Grbl v1.1 中创建慢跑命令集的原因。这些忽略了软限制,只是阻止了违规动作的执行。所以你的问题已经解决了,这个问题已经结束了。 |
|
谢谢@chamnit我知道你的目的和你在其他问题上的评论,但老实说,我已经在我的数控激光机中使用了特殊版本的马林鱼,但在过去的几天里,我试图用 GRBL .9j 和 1.1f 替换它,但是我找不到任何合适的设置来归位和运行 cnc 作业,如果有成功安装共享的论坛就好了,如果你能为这样的努力创建故障排除/维基页面,我真的很感激 |


我意识到您可以
$X在软重置后执行 a 解锁 grbl,但该命令实际上被标记为不安全且通常不应使用。有没有其他方法可以更优雅地处理软限制?如果没有,是否应该添加一个?
我主要是在手动慢跑时遇到这个问题,我希望软限制可以防止我慢跑太远,但随后会继续响应后续的慢跑命令。当播放完整的 gcode 文件时,我想这是不同的——当上一个命令最终超过软限制时,它不应该继续执行下一个命令。