开源改变世界

中止正在进行的归位的可能问题 #1048

推推 grbl 3年前 (2023-01-30) 159次浏览
关闭
alkabal 打开了这个问题 2021 年 1 月 19 日 · 7条评论
关闭

中止正在进行的归位的可能问题#1048

alkabal 打开了这个问题 2021 年 1 月 19 日 · 7条评论

注释

中止正在进行的归位的可能问题 #1048
贡献者

你好

使用 2.8.1 RIP

就像往常一样,不幸的是,我有一个可能的特殊问题,如果没有一些代码就很难解释和重现。

使用 pin joint.0.homing 连接到 orient 组件,当我询问机器归位时询问主轴归位
还使用 motion.probe-input 连接到 orient 以防止所有主轴移动,如果连接了探针

因此,如果探针已连接,则 comp 文件将调用 MDI 命令
(ABORT、程序或主轴或 Orient 由于已连接 3D 探针而停止)

到这里为止一切正常(即使我确定它们是从 comp 中“中止”的更好方法…(rtapi_print_msg(RTAPI_MSG_ERR 似乎无法完成这项工作。)

但是检查来自 halcmd joint.0.homing 的信号我看到他在中止后保持 True,所以此时再次询问归位我收到
类似“归位序列已经在进行中”的消息
当然我从 pin joint.0.homing status 进行的测试确实如此不再停止该过程。

就像你知道我根本不是专家,但我怀疑可以修补一些东西以更好地归巢中止
相关事件在这里但我不知道可以为此做些什么

joint_status-> homing = 0 ;
joint. %d .homing , jno)) != 0 ) break ;
案例EMCMOT_JOINT_HOME:

 

中止正在进行的归位的可能问题 #1048

溴化物

中止正在进行的归位的可能问题 #1048
合作者

我认为使用 HAL 引脚连接来切换 halui.abort 可能是中止运动的更好方法。
(并通过不同的方法发送消息)

我同意中止应该重置归位状态,但是,

中止正在进行的归位的可能问题 #1048
贡献者作者

感谢您提供有关 halui.abort 的提示,您是对的,我将这个用于我的车床换刀器,但我没有记住它。

从“很长一段时间”开始,我选择使用 (MSG,) (DEBUG,) 和 (ABORT,) 来替换 rtapi_print_msg(很多时候使用带有 GUI 的 machinekit 和 BBB 错过了 rtapi_print 的使用..),所以我不不知道 Linuxcnc 的所有 GUI 是否都可以与 rtapi_print_msg 一起正常工作。

谢谢

中止正在进行的归位的可能问题 #1048
贡献者作者
碱基 评论了 2021 年 1 月 21 日 通过电子邮件
中止正在进行的归位的可能问题 #1048
贡献者作者

你好

知道在哪里检查代码吗?

我不知道从哪里开始尝试修补代码。

溴化物

中止正在进行的归位的可能问题 #1048
合作者

看起来中止是在这里处理的:
https ://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/task/emctaskmain.cc#L2095

HOME_ABORT 是归位的阶段之一:
https
://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/motion/homing.c#L1246 (它似乎正在重置归位标志)

joint.N.homing pin 可能是由这里的一些魔法创建的:
https ://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/task/taskmodule.cc#L381

我想我可能会从另一端开始,搜索代码以获取在中止后尝试回家时显示的确切消息。

中止正在进行的归位的可能问题 #1048
贡献者作者

非常感谢您的回复。

我怀疑当我们从 mdi_command (ABORT, ) 请求中止并开始归位时,不会调用“case HOME_ABORT”

确切的错误信息是这个:

reportError ( _ ( 归位序列已经在进行中 ));

 

中止正在进行的归位的可能问题 #1048
贡献者作者

你好

如果你保持开放供我自己使用,你可以关闭这个问题,

我对 halui.abort 进行了更多测试,使用 lut5 进行多次输入,允许我正确执行此操作并允许发送消息。

谢谢你的支持。