开源改变世界

触地得分走错轴 #1311

推推 grbl 3年前 (2023-01-30) 187次浏览
关闭
1个任务
WOWEElectronics 开启了这个问题 2021 年 10 月 16 日 · 5 条评论
关闭
1个任务

触地得分走错轴#1311

WOWEElectronics 开启了这个问题 2021 年 10 月 16 日 · 5 条评论

注释

触地得分走错轴 #1311

我的 Sheldon 车床上有单独的慢跑拨盘。基本上取代了不再存在的手摇曲柄。除了他们有自己的每次点击动作。为了找到触发点,这些比尝试使用基于键盘和鼠标的命令将机器慢跑到起点要方便 100 倍,因为我可以用它们将其拨到 .0001″ 的精度。

这些刻度盘产生的运动与左轴面板上的活动轴单选按钮之间没有任何联系。所以我找到了我想要它触发的点,然后找到鼠标并应用触摸关闭,但是因为与这些按钮的状态没有联系,在我的轴上可能的拨盘之间,触摸关闭应用到了错误的位置轴。而且由于车床有两个轴,它可能已经破坏了我设置的第一个轴的精心完成的接触,因为轴,gui,不知道机器已经移动。带有 DRO 位置显示的中心面板已正确更新。

我认为缺少 9 个 axisui 输入引脚我可以用来保持这一切同步,或者一个数字单一输入,我可以驱动,可以用来更新那些单选按钮,一个错误和一个 PITA。这是一个巨大的可用性错误,并且在损坏的工具上花费了我相当多的钱。这一切都是因为我有更好、更快、更准确的方法来做到这一点。据我了解,为此使用吊坠的人也因此受害。多年前,我在 4 轴铣床上有一个 saitek 游戏控制器,但由于缺乏保持同步的能力,我再次将其取下以保存损坏的工具。

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

  1. 用 z 的刻度盘找到一个点,然后应用它。它适用于键盘最后用于移动机器的任何轴。
  2. 用另一个刻度盘找到所需的另一个起点,应用触发,覆盖第一次触发,因为轴还没有收到第二轴运动的通知,所以单选按钮没有被逻辑上次移动的轴更新。

这是我期望发生的事情:

我希望单选按钮遵循轴 gui 中的“最后移动”逻辑。但是在 axisui 中没有 INPUT 引脚来完成这个。我的 .hal 文件中确实有可用信号来激活该逻辑并使这些按钮与机器运动保持同步。

这是发生了什么:

我已经破坏了第一次触发完成,然后按 r 开始操作将机器发送到错误的坐标,破坏工具需要花费真金白银。

在此之前它工作正常:添加表盘让我可以手动驾驶它,就像它仍然有曲柄一样。

(如果在对硬件或软件进行特定更改后行为发生了变化
,请描述您认为负责的更改。例如,“
从 LinuxCNC 2.7.3 升级到 2.7.4 后”)

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

  • 我正在使用这个 Linux 发行版和版本(通常用 表示lsb_release -a):

  • lsb:找不到命令。

  • 我正在使用这个内核版本(如 所示uname -a):一个基于 pi 的 preempt-rt 内核。它只是工作。

  • Linux rpi4.coyote.den 4.19.71-rt24-v7l+使用 Tcl_SetResult 和 Tcl_GetStringResult  #1 SMP PREEMPT RT Thu Feb 6 07:09:18 EST 2020 armv7l GNU/Linux

  • 我在跑步 …

    • [*] 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
    • [*] 我自己构建的二进制文件,我可以从 github 构建 linuxcnc master-gtk3。
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本(显示在包管理器中,或者对于 git 版本,scripts/get-version-from-git):

  • v2.9.0前0master-gtk3~86f6b61df,今天早上来自 buildbot。

  • 我正在使用这个用户界面:AXIS

  • 我正在使用此接口硬件供应商和芯片组(例如,并行端口、以太网端口、FPGA 卡):
    mesa 7i90HD + 每个 3 个 7i42TA,由 2 gig raspberry pi4b 通过 rpspi 接口驱动。

触地得分走错轴 #1311
合作者

这实际上不是一个错误——这是一个可用性问题——一个微妙但重要的区别。

您没有提到如何从外部选择轴(或者您有三个 MPG?)所以我必须做一些假设。

问题是,如果您添加从外部选择轴的引脚,那么如果您混合使用 GUI 和外部选择,您仍然可以选择错误的轴。

想象一下,您有一个用于选择外轴的旋转选择开关。
将它设置为 X 并让 GUI 接受它(通过 HAL 引脚),以便它显示在单选按钮中选择的 X。
好的,这就是你想要的。
您使用 MPG 定位 X 并设置它与 GUI 的偏移。

现在您需要在不移动 Z 的情况下将其归零。
因为您不需要移动轴,所以您忘记使用外部旋转选择器并使用 GUI 选择 Z 并将其归零。
现在 GUI 和外部选择器不同步,没有办法按照描述解决这个问题,因为 GUI 无法旋转外部选择器开关。

我希望你能看到,虽然我们可以为轴选择添加引脚,这可能会让你的事情变得更好,但它也很容易让事情变得几乎一样糟糕。

有几种解决可用性问题的方法。
– 使用键盘进行增量点动(即不使用 MPG)
– 自定义 AXIS 使用 HAL 引脚进行选择,并将单选按钮更改为仅指示(即只能使用外部开关)
– 自定义 AXIS 以要求您始终输入您希望设置的轴 –
添加一种方法来撤消偏移设置,这样您就可以修复错误(或尝试已经具有此功能的 GUI) –
添加 HAL 引脚用于外部选择,但只允许使用瞬时按钮(但您需要也将其与 MPG 慢跑选择联系起来——但我认为 AXIS 已经有了这些)

这可能是最简单的:

  • 不要为 MPG 使用外部轴选择使用 AXIS 的 GUI 单选按钮来选择 MPG 轴。

我会把这个打开,希望其他人会想到我没有帮助你的事情。

触地得分走错轴 #1311
作者
哇电子 评论了 2021 年 10 月 17 日 通过电子邮件
触地得分走错轴 #1311
合作者

感谢您解释您目前如何将所有内容连接在一起。
使用瞬时信号来选择轴当然非常适合您所描述的内容,并且如果有用于轴选择的 HAL 引脚,则效果会很好。
HALUI 使用相同的瞬时联系方案来解决我描述的问题。

但是,正如我所说,对您有利的事情可能对其他人有问题。

我们需要以某种方式对它们进行编程,以强制引脚需要是瞬时的。
如果有人将(例如)旋转开关连接到它们,则会出现类似的问题。
我认为使用旋转或滑动开关将是一种流行的使用方式,(并且效果不佳)
您的过程很复杂且非常独特。
这对我来说是一个令人沮丧的支持问题。
虽然在我看来,模糊的角落案例问题不应妨碍良好的功能,但我不认为这是一个角落案例。
我不建议我们按照描述添加引脚。
请记住,我不是 AXIS 的看门人,其他开发人员可能有其他意见 – 所以它仍然可能发生。

但这就是为什么我建议自定义 AXIS 或使用另一个更可自定义的 GUI。
不幸的是,AXIS 很难修改,这不是我的专长或兴趣,但周围的其他人确实非常了解它。

触地得分走错轴 #1311
作者

我已经探索了 sim 列表中的其他一些 gui,但无法找到甚至具有这种逻辑但可能具有触发功能的竞争 gui。如果选择器方法不可见,其他图形用户界面如何实现触发并将其应用于正确的轴?

我再说一遍,我想要的只是一个输入法,用于设置这些单选按钮的“最后移动者”变量,如果通过两个完全独立的转盘的运动选通,X 转盘设置 X 按钮,Z 转盘将其设置为 Z 按钮,这会将这些按钮设置为最后移动机器的刻度盘。这将确保触发到达正确的轴,因为它永远不会“不同步”。如果 hal 完全忽略代码永远不会触及添加的引脚。使用这些引脚不同步需要一个白痴编写 hal 代码。我认为,我们远离任何符合该描述的“我们”。

我还通过 axis.py 进行了 trolled 和 grepped,寻找有关如何完成此操作的线索,但我的 python 专业知识似乎无法理解大部分正在发生的事情。太抽象了。因此,我可以将其视为您不愿打开的一罐蠕虫。我肯定觉得自己不合格,而且像肮脏的哈利一样,我知道自己的极限。这就是我来这里寻求帮助的原因。

谢谢你。
基因赫斯克特。

触地得分走错轴 #1311
合作者

看起来 Gene 在向 AXIS 添加自定义引脚方面获得了一些帮助——我认为这不是最合适的修复方法。
https://forum.linuxcnc.org/21-axis/44068-axis-vs-touch-offs
我正在关闭这个问题。