注释
这实际上不是一个错误——这是一个可用性问题——一个微妙但重要的区别。 您没有提到如何从外部选择轴(或者您有三个 MPG?)所以我必须做一些假设。 问题是,如果您添加从外部选择轴的引脚,那么如果您混合使用 GUI 和外部选择,您仍然可以选择错误的轴。 想象一下,您有一个用于选择外轴的旋转选择开关。 现在您需要在不移动 Z 的情况下将其归零。 我希望你能看到,虽然我们可以为轴选择添加引脚,这可能会让你的事情变得更好,但它也很容易让事情变得几乎一样糟糕。 有几种解决可用性问题的方法。 这可能是最简单的:
我会把这个打开,希望其他人会想到我没有帮助你的事情。 |
在 2021 年 10 月 16 日星期六 15:48:45 c-morley 写道:这实际上不是一个错误 – 这是一个可用性问题 – 一个微妙但重要的区别。
同意。
您没有提到如何从外部选择轴(或者您有三个 MPG?)所以我必须做一些假设。
请不要,车床只有两个主轴,而我有两个你称之为 mpgs 的刻度盘。20 美元,100 ppr,四重编码,无索引,来自 MPJA.com。但是 lcnc 可以做 xyxabcuvw 所以图 9 在做的时候。我可以同时驾驶两者,每只手都可以驾驶,这是一个方便的优势,但我真的无法在铣削控制面板上看到其中的 9 个。但是,如果您构建它,就会有像我这样探索极限的人。pncconfig 从未触及 .hal 配置。它 100% 来自我的手指。我有两个与两个刻度盘相关联的活动计时器,它是一台车床,因此在这种情况下只需要 x 和 z,但为了不让工厂人员排除在外,每个 xyzabcuvw 实例都应该有一个。这两个计时器重置时间以彼此独立地禁用表盘,产生标称 2 毫秒的脉冲,如果每个轴的“ja_rbutton”都有一个输入引脚,如果在 halshow 引脚的“axisui”列表中有输入,则可以更新单选按钮以保持它们同步。将其称为 axis.L.select 但将其设为输入引脚,如果为真,则更新“最后移动的轴”概念,使其与机器保持同步。使此信号为真,以执行与单击“想要的”radio_button 时发生的完全相同的事情。如果拨号被禁用,我不会生成此信号为真,所有这些都是我在发现拨号之前输入的逻辑,如果有东西在运行,无论如何都会被忽略。如果口译员正在运行机器,则拨号盘都死了。即使 pyvcp 显示中 X 或 Z 轴下的条仍然是绿色,这是我的活动拨号计数指示器。我可能会使用这个议案。模式状态将它们变为红色和关闭,但我很懒惰。我必须按下刻度盘旁边的一个难以按下的按钮,这使得刻度盘可以移动机器,直到不活动计时器将其关闭,但是当它被激活时,刻度盘的任何运动都会将超时重置为任何设置。这个复位脉冲,当刻度盘转动时的一列脉冲,如果馈送到轴输入以选择该轴,则只是我对该信号的目标列表的补充,并且非常容易添加到我的 hal 文件中,不需要试图在 jogaxisget 中理解过时的 python 1 或 2 逻辑,整个模块是一个 PITA 并且永远消失了。刻度盘的任何运动都会将该超时重置为其设置的任何值。这个复位脉冲,当刻度盘转动时的一列脉冲,如果馈送到轴输入以选择该轴,则只是我对该信号的目标列表的补充,并且非常容易添加到我的 hal 文件中,不需要试图在 jogaxisget 中理解过时的 python 1 或 2 逻辑,整个模块是一个 PITA 并且永远消失了。刻度盘的任何运动都会将该超时重置为其设置的任何值。这个复位脉冲,当刻度盘转动时的一列脉冲,如果馈送到轴输入以选择该轴,则只是我对该信号的目标列表的补充,并且非常容易添加到我的 hal 文件中,不需要试图在 jogaxisget 中理解过时的 python 1 或 2 逻辑,整个模块是一个 PITA 并且永远消失了。
问题是,如果您添加从外部选择轴的引脚,那么如果您混合使用 GUI 和外部选择,您仍然可以选择错误的轴。
不,你不能克里斯,正如我所设想的那样,刻度盘只能将轴 rbutton 设置为与刻度盘对应的轴。出于与我们目前在任的 POTUS 相同的原因,任何会雕刻 hal 文件以做其他事情的人都是 id10t,应该找到另一行工作。我听说 Jack-in-the-box 正在招聘看门人。即便如此,激活拨盘的第一次点击将纠正它。您关于撤消不需要的触发的方法的建议很好,请也这样做。
想象一下,您有一个用于选择外轴的旋转选择开关。将其设置为 X 并让 GUI 尊重它(通过 HAL 引脚)
在 axisui 引脚列表中
所以它显示在单选按钮中选择的 X。好的,这就是你想要的。您使用 MPG 定位 X 并设置它与 GUI 的偏移。
正确的。然后对下一个轴执行相同的操作,在本例中为 Z,直到超出要在该机器上设置的轴。启用并转动 Z 转盘应该会自动更新 radio_buttons 以将 Z 显示为活动轴。您将实际犯错的能力置于操作员身上,故意犯该错误,从而消除了他忘记单击所需的下一个轴进行调整的可能性。它变得自动。错误要少得多,而且它们是有意为之的。
现在您需要在不移动 Z 的情况下将其归零。因为您不需要移动轴,所以您忘记使用外部旋转选择器并使用 GUI 选择 Z 并将其归零。现在 GUI 和外部选择器不同步,没有办法按照描述解决这个问题,因为 GUI 无法旋转外部选择器开关。
如果外部不是闭合触点,而是生成脉冲,谁在乎,触发偏移将应用于操作员选择的轴。如果悬垂装置正在输出全时逻辑信号,那么希望操作员能够足够清醒地注意到他无法通过鼠标选择来覆盖悬垂装置的选择。我仍然看不出问题,除非操作员从盲文键盘运行机器,因为他是盲人。在那种情况下,如果 linuxcnc 可以发出特殊的两声刺耳的哔哔声来提醒操作员错误,那就太好了。
我希望你能看到,虽然我们可以为轴选择添加引脚,它_可能_让你的事情变得更好,但它也很容易让事情变得几乎一样糟糕。
或者好多了。
有几种解决可用性问题的方法。- 使用键盘进行增量点动(即不使用 MPG)
现在我有了它们,并且已经使用了 4 年多,我无法想象没有它们会怎样。知道它们有多方便,如果它们坏了,我很乐意支付 10 倍的原价 20 美元来更换它们。我会先给 MPJA 打电话,看看他们的架子上是否还有一些正在收集灰尘,如果没有找到他们在哪里买的,看看他们是否仍然制作类似的。如果做不到这一点,我有一些来自软盘驱动器的磁头电机,当它们被馈送到一对比较器时,也会给我一对正交信号,以将电缆发送到台面编码器。它们可能有一个最低速度,低于该速度它们将无法工作,但 DRO 会告诉您这一点。有了好的比较器,手指的皮肤和骨头之间的滑动使它们越过磁性制动器,我认为速度不会有太大差异。作为CET,我非常擅长解决硬件问题,有时会找到更好的方法来解决。但我不太擅长破解 python3。那是你的专长,不是我的。我非常感谢你。
-自定义AXIS以使用HAL引脚进行选择,并将单选按钮更改为仅指示(即只能使用外部开关) -自定义AXIS以要求您始终输入要设置的轴 -添加一种撤消偏移设置的方法,因此你可以修复一个错误(或尝试一个已经有这个的 GUI)——为外部选择添加 HAL 引脚,但只允许使用瞬时按钮(但你也需要将它与 MPG 慢跑选择联系起来——但我认为 AXIS 有这些已经)
它只能通过未连接到轴的 halui 更新 hals 图像,我的测试中没有 halui pin 可以更新单选按钮。事实上,我还没有找到一个用途来做一些事情来影响机器的形象,除了搞砸之外什么都做不了。我的表盘驱动 hal goodies 不玩任何 halui 东西。只有导入的相机和对齐的东西,通过 mdi 发出移动或坐标命令。
这可能是最简单的: – 不要为 MPG 使用外轴选择,使用 AXIS 的 GUI 单选按钮来选择 MPG 轴。
这当然会起作用,但要记住单击所需的轴按钮,并且如果没有大量滑块速度调整以将其减慢到您想要停止的位置,则缺乏精度,因此没有比较方便。也许是苹果到马苹果。是的,它的可用性,所以不完全是一个错误,但它是可用性中的一个地狱错误。
我会把这个打开,希望其他人会想到我没有帮助你的事情。
这怎么可能不是可用性的巨大改进呢?您给出的每个参数都是一个幽灵,一旦写入 hal net 语句目标列表以刺激添加的引脚,它就会消失。我所要求的只是每个轴的输入引脚,如果为真,则鼠标单击所需的单选按钮所做的完全相同。谢谢克里斯。现在保持健康。干杯,吉恩赫斯克特。——“保卫自由有四种盒子:肥皂、选票、陪审团和弹药,请按顺序使用。” -Ed Howdershelt(作者,1940)如果我们希望尊重法律,我们必须首先让法律受到尊重。- Louis D. Brandeis Genes 网页 < http://geneslinuxbox.net:6309/gene >
|
感谢您解释您目前如何将所有内容连接在一起。 但是,正如我所说,对您有利的事情可能对其他人有问题。 我们需要以某种方式对它们进行编程,以强制引脚需要是瞬时的。 但这就是为什么我建议自定义 AXIS 或使用另一个更可自定义的 GUI。 |
我已经探索了 sim 列表中的其他一些 gui,但无法找到甚至具有这种逻辑但可能具有触发功能的竞争 gui。如果选择器方法不可见,其他图形用户界面如何实现触发并将其应用于正确的轴? 我再说一遍,我想要的只是一个输入法,用于设置这些单选按钮的“最后移动者”变量,如果通过两个完全独立的转盘的运动选通,X 转盘设置 X 按钮,Z 转盘将其设置为 Z 按钮,这会将这些按钮设置为最后移动机器的刻度盘。这将确保触发到达正确的轴,因为它永远不会“不同步”。如果 hal 完全忽略代码永远不会触及添加的引脚。使用这些引脚不同步需要一个白痴编写 hal 代码。我认为,我们远离任何符合该描述的“我们”。 我还通过 axis.py 进行了 trolled 和 grepped,寻找有关如何完成此操作的线索,但我的 python 专业知识似乎无法理解大部分正在发生的事情。太抽象了。因此,我可以将其视为您不愿打开的一罐蠕虫。我肯定觉得自己不合格,而且像肮脏的哈利一样,我知道自己的极限。这就是我来这里寻求帮助的原因。 谢谢你。 |
我的 Sheldon 车床上有单独的慢跑拨盘。基本上取代了不再存在的手摇曲柄。除了他们有自己的每次点击动作。为了找到触发点,这些比尝试使用基于键盘和鼠标的命令将机器慢跑到起点要方便 100 倍,因为我可以用它们将其拨到 .0001″ 的精度。
这些刻度盘产生的运动与左轴面板上的活动轴单选按钮之间没有任何联系。所以我找到了我想要它触发的点,然后找到鼠标并应用触摸关闭,但是因为与这些按钮的状态没有联系,在我的轴上可能的拨盘之间,触摸关闭应用到了错误的位置轴。而且由于车床有两个轴,它可能已经破坏了我设置的第一个轴的精心完成的接触,因为轴,gui,不知道机器已经移动。带有 DRO 位置显示的中心面板已正确更新。
我认为缺少 9 个 axisui 输入引脚我可以用来保持这一切同步,或者一个数字单一输入,我可以驱动,可以用来更新那些单选按钮,一个错误和一个 PITA。这是一个巨大的可用性错误,并且在损坏的工具上花费了我相当多的钱。这一切都是因为我有更好、更快、更准确的方法来做到这一点。据我了解,为此使用吊坠的人也因此受害。多年前,我在 4 轴铣床上有一个 saitek 游戏控制器,但由于缺乏保持同步的能力,我再次将其取下以保存损坏的工具。
以下是我重现该问题所遵循的步骤:
这是我期望发生的事情:
我希望单选按钮遵循轴 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 版本(显示在包管理器中,或者对于 git 版本,
scripts/get-version-from-git
):v2.9.0
前0master-gtk3~86f6b61df,今天早上来自 buildbot。我正在使用这个用户界面:AXIS
我正在使用此接口硬件供应商和芯片组(例如,并行端口、以太网端口、FPGA 卡):
mesa 7i90HD + 每个 3 个 7i42TA,由 2 gig raspberry pi4b 通过 rpspi 接口驱动。