开源改变世界

运行下一行在 M66 命令后跳过一些行 #694

推推 grbl 3年前 (2023-01-29) 222次浏览
关闭
lethang12cdt 打开了这个问题 2020 年 3 月 2 日 · 7条评论
关闭

运行下一行在 M66 命令后跳过一些行#694

lethang12cdt 打开了这个问题 2020 年 3 月 2 日 · 7条评论

注释

运行下一行在 M66 命令后跳过一些行 #694

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

1.创建一个具有重复循环或while循环和M66命令的Gcode程序,参见示例:
; 启动机器人程序
o101 repeat [10]
G1 X447.5000 Y-6.0000 Z821.5000 F100001.0
G1 X70.3341 Y-441.9791 Z456.9410 F100001.0
G1 X70.3342 Y-441.9794 Z717.5789 F100001.3
L6 Q3
G1 X447.5400 Y-0.1134 Z365.2601 F100001.0
G1 X447.5394 Y-0.1144 Z570.4594 F100001.0
o101 endrepeat
M2

2.逐行运行按钮“运行下一行”

这是我期望发生的事情:

Program run line by line

这是发生了什么:

Program skip some lines after M66 command

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

  • 我正在使用这个 Linux ubuntu 16.04
  • 我正在使用这个内核版本(显示为uname -a):4.9.47-rt37 PREEMPT RT
  • 我正在运行:主版本
  • 我正在使用此用户界面 (GUI)(例如 AXIS、Touchy、gmoccapy 等):AXIS
运行下一行在 M66 命令后跳过一些行 #694
合作者

我在模拟器中尝试了代码,但没有看到您描述的问题。
我确实不得不更改数字,而不是让程序适合模拟机器的边界。
进给率非常高,我想知道是否有时间看动作?
(从 Z365 移动到 Z 570 需要 0.12 秒)

运行下一行在 M66 命令后跳过一些行 #694
作者

在这里我制作了一个视频来展示发生了什么:
https
://drive.google.com/open?id=1wY41aVl3Y2Imq_BMP3Gtevj_YvcgK7wk 请注意第二个 50 也程序有重复循环

运行下一行在 M66 命令后跳过一些行 #694
合作者

抱歉,我误读了描述并认为这是一个在线运行问题,而不是单步执行问题。

运行下一行在 M66 命令后跳过一些行 #694
合作者

我用最新的主人试过这段代码:

O100 repeat [40]
(DEBUG, 2)
G1 F100 X10
(DEBUG, 4)
G1 F100 X0
(DEBUG, 6)
M66 P1 L3 Q3
(DEBUG, 8)
G1 F100 X10
(DEBUG, 10)
G1 F100 X0
O100 endrepeat
M2

它似乎按预期工作。
但我没有任何输入驱动 M66 输入引脚。你?

(你的视频肯定有问题,我不是在争论这一点)

运行下一行在 M66 命令后跳过一些行 #694
作者

但我没有任何输入驱动 M66 输入引脚。你?
不,这是完全模拟,没有连接硬件。

我试过你的代码,它只能从第二个循环开始正常工作。观看视频:
https ://drive.google.com/open?id=16aviPiEBHEIp_mCzawgDPVjY7RSnKcf0

然后我打开另一个程序:
https ://drive.google.com/open?id=1aagJpZVG1E6OJIHrKMqjNPB2wlmsEDg4

第二个程序:

; Start program
o101 repeat  [10]
G64 p1
(DEBUG, 2)
G1 X47.5000 Y-6.0000 Z81.5000  F1001.0
(DEBUG, 4)
G1 X70.3341 Y-41.9791 Z46.9410 F10001.0
(DEBUG, 6)
G1 X70.3342 Y-41.9794 Z77.5789  F1001.0
(DEBUG, 8)
M66 P1 L3 Q3
(DEBUG, 10)
G1 X47.5400 Y-0.1134 Z36.2601  F1001.0
(DEBUG, 12)
G1 X47.5394 Y-0.1144 Z50.4594  F1001.0
o101 endrepeat
M2

这是具有实时 PREEMPT-RT 的 Ubuntu 16 上的最新大师

运行下一行在 M66 命令后跳过一些行 #694 andypugh 自己分配了这个 2020 年 4 月 4 日
运行下一行在 M66 命令后跳过一些行 #694 安迪普 补充道 2.8-必须修复 在 2.8 发布之前必须解决的问题影响2.8 标签 2020 年 4 月 4 日
运行下一行在 M66 命令后跳过一些行 #694
合作者

我已经在 2.8 和 2.7 中测试了这个示例代码。
在第一次运行 2.8 时,机器不遵循编程路径。
2.7没有这个问题。

#1 = 0
O100 重复 [40]
(调试,1 – #1
G1 F50 X[2 + #1 ]
(调试,2 – #1
G1 F50 X[4 + #1 ]
(调试,3 – #1 )
M66 P1 L3 Q3
(DEBUG, 4 – #1 )
G1 F50 Y[8 + #1 ]
(DEBUG, 5 – #1 )
G1 F50 X[8 + #1 ]
#1 = [ #1 + 8]
O100 endrepeat
M2

运行下一行在 M66 命令后跳过一些行 #694
合作者

我断定这个问题与 M66 无关。事实上,在我上面的测试程序中,移除 M66 后的行为要糟糕得多。
我正在关闭这个问题并将其替换为
#709