开源改变世界

支持 CoreXY #286

推推 grbl 2年前 (2022-10-30) 410次浏览 0个评论
关闭
完成3个任务
zanderbier 打开了这个问题 on 7 Nov 2013 · 100 条评论
关闭
完成3个任务

支持 CoreXY第286章

zanderbier 打开了这个问题 on 7 Nov 2013 · 100 条评论

注释

支持 CoreXY #286

你好,

多亏了 GRBL,我才开始涉足 CNC 世界。因为我想用 CoreXY ( http://corexy.com/ ) 构建一台机器,所以我将这个支持从 Marlinv1 移植到 GRBLv0.8。

仍然有一些错误,但我正在努力。

  • 通用 GCode 发送器或 GRBL 控制器显示 A 和 B 位置,而不是预期的 X 和 Y
  • 没有测试限制,因为我的机器上还没有安装开关,所以可能它们不能正常工作
  • 使用 $6 变量来反转轴不会像预期的那样对 X 和 Y 起作用。Z 不受影响。

这是初步的支持。可以发送文件或 GCode 并查看轴的正确移动。

Port from Marlin v1
diff -Naur grbl-master//config.h grbl-v08-corexy//config.h
--- grbl-master//config.h       2013-10-21 19:19:26.000000000 -0700
+++ grbl-v08-corexy//config.h   2013-11-07 03:01:57.000000000 -0800
@@ -171,6 +171,10 @@
 // successful values for certain setups have ranged from 10 to 20us.
 // #define STEP_PULSE_DELAY 10 // Step pulse delay in microseconds. Default disabled.

+// Enable CoreXY kinematics
+// http://corexy.com/
+#define COREXY // Default disabled. Uncomment to enable.
+
 // ---------------------------------------------------------------------------------------

 // TODO: Install compile-time option to send numeric status codes rather than strings.
diff -Naur grbl-master//planner.c grbl-v08-corexy//planner.c
--- grbl-master//planner.c      2013-10-21 19:19:26.000000000 -0700
+++ grbl-v08-corexy//planner.c  2013-10-15 09:57:17.000000000 -0700
@@ -356,13 +356,30 @@

   // Compute direction bits for this block
   block->direction_bits = 0;
-  if (target[X_AXIS] < pl.position[X_AXIS]) { block->direction_bits |= (1<<X_DIRECTION_BIT); }
-  if (target[Y_AXIS] < pl.position[Y_AXIS]) { block->direction_bits |= (1<<Y_DIRECTION_BIT); }
+  #ifndef COREXY
+    if (target[X_AXIS] < pl.position[X_AXIS]) { block->direction_bits |= (1<<X_DIRECTION_BIT); }
+    if (target[Y_AXIS] < pl.position[Y_AXIS]) { block->direction_bits |= (1<<Y_DIRECTION_BIT); }
+  #else
+    if ((target[X_AXIS]-pl.position[X_AXIS]) + (target[Y_AXIS]-pl.position[Y_AXIS]) < 0) {
+      block->direction_bits |= (1<<X_DIRECTION_BIT);
+    }
+    if ((target[X_AXIS]-pl.position[X_AXIS]) - (target[Y_AXIS]-pl.position[Y_AXIS]) < 0) {
+      block->direction_bits |= (1<<Y_DIRECTION_BIT);
+    }
+  #endif
   if (target[Z_AXIS] < pl.position[Z_AXIS]) { block->direction_bits |= (1<<Z_DIRECTION_BIT); }

   // Number of steps for each axis
-  block->steps_x = labs(target[X_AXIS]-pl.position[X_AXIS]);
-  block->steps_y = labs(target[Y_AXIS]-pl.position[Y_AXIS]);
+  #ifndef COREXY
+    // default non-h-bot planning
+    block->steps_x = labs(target[X_AXIS]-pl.position[X_AXIS]);
+    block->steps_y = labs(target[Y_AXIS]-pl.position[Y_AXIS]);
+  #else
+    // corexy planning
+    // these equations follow the form of the dA and dB equations on http://www.corexy.com/theory.html
+    block->steps_x = labs((target[X_AXIS]-pl.position[X_AXIS]) + (target[Y_AXIS]-pl.position[Y_AXIS]));
+    block->steps_y = labs((target[X_AXIS]-pl.position[X_AXIS]) - (target[Y_AXIS]-pl.position[Y_AXIS]));
+  #endif
   block->steps_z = labs(target[Z_AXIS]-pl.position[Z_AXIS]);
   block->step_event_count = max(block->steps_x, max(block->steps_y, block->steps_z));

@@ -371,8 +388,13 @@

   // Compute path vector in terms of absolute step target and current positions
   float delta_mm[3];
-  delta_mm[X_AXIS] = (target[X_AXIS]-pl.position[X_AXIS])/settings.steps_per_mm[X_AXIS];
-  delta_mm[Y_AXIS] = (target[Y_AXIS]-pl.position[Y_AXIS])/settings.steps_per_mm[Y_AXIS];
+  #ifndef COREXY
+    delta_mm[X_AXIS] = (target[X_AXIS]-pl.position[X_AXIS])/settings.steps_per_mm[X_AXIS];
+    delta_mm[Y_AXIS] = (target[Y_AXIS]-pl.position[Y_AXIS])/settings.steps_per_mm[Y_AXIS];
+  #else
+    delta_mm[X_AXIS] = ((target[X_AXIS]-pl.position[X_AXIS]) + (target[Y_AXIS]-pl.position[Y_AXIS]))/settings.steps_per_mm[X_AXIS];
+    delta_mm[Y_AXIS] = ((target[X_AXIS]-pl.position[X_AXIS]) - (target[Y_AXIS]-pl.position[Y_AXIS]))/settings.steps_per_mm[Y_AXIS];
+  #endif
   delta_mm[Z_AXIS] = (target[Z_AXIS]-pl.position[Z_AXIS])/settings.steps_per_mm[Z_AXIS];
   block->millimeters = sqrt(delta_mm[X_AXIS]*delta_mm[X_AXIS] + delta_mm[Y_AXIS]*delta_mm[Y_AXIS] +
                             delta_mm[Z_AXIS]*delta_mm[Z_AXIS]);
支持 CoreXY #286
作者

赞德比尔 评论 on 9 Nov 2013

使用此补丁,反转蒙版的行为如下:

$6=32 – 交换轴 X 和 Y 并反转两个方向
$6=64 – 交换轴 X 和 Y
$6=96 – 反转 X 和 Y 方向

Z 不受影响,可以用正常值反转。

支持 CoreXY #286
作者

赞德比尔 评论 on 10 Nov 2013

解决了职位报告的问题。

分享这种补丁以便其他人可以使用和改进的最佳方式是什么?

--- grbl-master/report.c    2013-08-25 15:08:08.000000000 -0300
+++ grbl-v8-corexy/report.c 2013-11-09 16:33:12.038022288 -0200
@@ -311,7 +311,14 @@
   // Report machine position
   printPgmString(PSTR(",MPos:")); 
   for (i=0; i<= 2; i++) {
-    print_position[i] = current_position[i]/settings.steps_per_mm[i];
+    #ifndef COREXY
+      print_position[i] = current_position[i]/settings.steps_per_mm[i];
+    #else
+      // Convert A and B to X and Y
+      if (i==0) { print_position[i] = ((current_position[0]+current_position[1])/2)/settings.steps_per_mm[i]; }
+      else if (i==1) { print_position[i] = ((current_position[0]-current_position[1])/2)/settings.steps_per_mm[i]; }
+      else { print_position[i] = current_position[i]/settings.steps_per_mm[i]; }
+    #endif
     if (bit_istrue(settings.flags,BITFLAG_REPORT_INCHES)) { print_position[i] *= INCH_PER_MM; }
     printFloat(print_position[i]);
     printPgmString(PSTR(","));
支持 CoreXY #286

嗨,
太好了 :) 我想我也需要它,所以在接下来的几周内我应该对其进行测试,也许会对你有所帮助 :)

支持 CoreXY #286

谢谢!
我的机器上仍然没有终点和归位停止,所以它可能无法正常工作。

支持 CoreXY #286

但是你测试了吗?你有在 atmega 328p 上运行的固件吗?如果我阅读正确的马林鱼只能在 arduino mega 上工作。

支持 CoreXY #286

是的,我已经测试过了,它在我的 CNC 路由器上运行。我只有 UNO,这就是我将这种支持从 marlin 移植到 GRBL 的原因。现在 GRBL v0.8 可以用 corexy 机械控制 CNC

支持 CoreXY #286

你可以分叉 grbl 并在那里进行更改吗?会很好:)

支持 CoreXY #286

不知道是否有足够的变化来证明分叉的合理性。它只是一个小补丁,有一个编译时选项可以启用。
但是如果你没有编译环境,我可以提供我的 Hex 文件。

支持 CoreXY #286

您好 zanderbier
Corexy 想测试系统,但没有构建环境。
你可以制作你的Hex文件吗?非常感谢。

支持 CoreXY #286

嗨,
它正在进行中,但我上传到我的项目页面
https://github.com/zanderbier/papercut/blob/master/grbl-v08c-corexy.hex

请记住,我没有使用过限位开关,因此请确保只发送您机器范围内的命令。

支持 CoreXY #286

您好,
感谢您发布 hex 文件。

支持 CoreXY #286

测试您的十六进制文件,但它不起作用。它不会发送“Grbl 0.8c [‘$’ for help]”消息

支持 CoreXY #286

做了更改并编译了我自己,它工作了:)

支持 CoreXY #286

太好了,我会检查文件并重新上传。

我已经完成了一台新机器,并将尝试使用硬限位开关修复此支持。也许下周我会尝试分叉并建议这个补丁。

支持 CoreXY #286

你现在不能做叉子吗?这样我更容易分析更改并进行更改:)

支持 CoreXY #286

好的,我今晚试试

支持 CoreXY #286

如果你愿意,我可以做到

支持 CoreXY #286

好的,没问题……我还在学习使用这个 GIT.. 让我们去做吧。

支持 CoreXY #286

刚刚创建了分支,将更新更改

支持 CoreXY #286

明天我会再努力的:)

2014/1/9 Aleck Zander通知@github.com

刚刚创建了分支,将更新更改


直接回复此邮件或在 GitHub 上查看 https://github.com/ /issues/286 #issuecomment-31952457

支持 CoreXY #286

添加了更改。现在将致力于归位

支持 CoreXY #286

你应该创建一个 bracnh 来处理它。我正在准备一个回购,所以我们可以在 ti 上工作 :)

支持 CoreXY #286

让我们在这里工作:https ://github.com/metropt/grbl/tree/CoreXY-support它是一个基于 dev 的分支

支持 CoreXY #286

我认为我们需要对其进行审查https://github.com/metropt/grbl/blob/CoreXY-support/report.c#L334因为我认为这不是最正确的方法,因为它看起来像我们正在打印正确的 XY,但系统 XY 不正确。

支持 CoreXY #286

伟大的!我还没有研究开发分支,所以我将有一些时间来习惯代码。

事实上,在报告的这一部分中,我只是做了一个快速解决方案来解决下一个问题,并且必须对其进行审查。
可以删除循环。
系统 XY 实际上是 A 和 B 变量,转换为要打印的 X 和 Y。

谢谢

支持 CoreXY #286

我会在几个小时内测试我的更改,以测试我是否没有任何错误。

我们不应该使用 corexy 方程而不是在报告中更新 current_position 吗?

支持 CoreXY #286

我认为这样我们在移动电机时使用更少的 CPU。系统 XY 在规划函数中计算了 A 和 B 的值,即电机将移动的实际值。
报告在不太关键的时间被调用,并且不会影响性能,因此我们可以进行计算并再次恢复为 XY。

支持 CoreXY #286

但这是我的选择.. :-)

支持 CoreXY #286
成员

尚尼特 评论 on 16 Jan 2014

我刚刚开始对 CoreXY 进行一些研究以了解更多信息。对于 3D 打印、激光切割和小型路由器等轻负载应用来说,它似乎很有前景。对于具有大量横向载荷的大型木路由器而言,情况并非如此。这是现在最流行/接受的方法还是快速便宜的 2D 运动?

我问是因为我很好奇 CoreXY/H-Bot 支持是否应该作为可配置选项提供。

支持 CoreXY #286

@chamnit,我不知道它是否最受欢迎,但是当我看到它时,我喜欢它,并且当我开始一个新项目时,我想使用它。它是一个小型路由器,只需用刀片切割纸张,因此不需要太多力量。

我已经看到 GRBL 非常好用,所以我考虑对其进行调整以支持 CoreXY 及其现在的工作。

如果它保留为编译选项,对于项目来说可能是一个很好的功能。

支持 CoreXY #286

@metropt: 大部分都可以,但我只需要对其进行测试并重构一些代码。

支持 CoreXY #286

大家好,
我对这个话题非常感兴趣,并且在自己进行一些必要的更改方面取得了一些进展,但是我不想重复努力。

对于我自己的需要,在 .9 Master 中获得 corexy 运动支持是非常可取的。

通过阅读有关此问题的帖子以及查看https://github.com/metropt/grbl,我不确定我是否完全理解 corexy 支持的当前状态,因为它与 metropt/grbl 分叉和 . 9 高手所以我有几个问题:

@chamnit:
首先,感谢您在 GRBL 上所做的所有工作!

话虽如此,您在 CoreXY 支持上所做的工作;这将应用于 .9 master 或 metropt fork 吗?

此外,我有 2 台 corexy 机器目前正在运行前段时间从 Metropt 分叉中提取的 .8c 的破解版本。如果有更新的代码可以从测试或额外审查中受益,我将很高兴审查和/或完成它的步伐。请让我知道您是否可以提供当前状态的初步代码,如果可以,我可以从哪里获取它。

谢谢你!

支持 CoreXY #286

我已经关注这个问题一段时间了,很想看看你们在做什么(参考叉子,不管?)。前段时间我试过@zanderbier的叉子,效果很好。.9 版本会很棒

支持 CoreXY #286

使用 .9 版本的 fork 出现问题。如果您发送一批
命令它会阻塞并且这是一个 .9 问题所以我不知道这个问题是否
已经解决但等待@chamnit版本 :)

2014-11-24 17:52 GMT+00:00 Ciro S. Costa notify@github.com :

我已经关注这个问题一段时间了,很想看看你们
在做什么(参考叉子,不管[​​图片:?])。
前段时间我试过@zanderbier https://github.com/zanderbier的叉子
,效果很好。.9 版本会很棒


直接回复此邮件或在 GitHub
#286(评论)上查看。

支持 CoreXY #286

嘿,我只是想宣布/添加我对 CoreXY 支持的批准,因为我计划在接下来的几天内开发 CoreXY 2D 控件。

另外,当我们在做的时候,我要感谢@chamnit个人(嗯,有点),为 grbl 所做的所有努力。你确实为我(可能还有很多其他人)节省了很多辛苦的工作。还要感谢所有其他投入时间/帮助改进 grbl 的人。你们都做得很好。:-)

亲切的问候,
德尔菲诺

支持 CoreXY #286

请不要为 corexy A 和 B 命名轴。
在 CNC A 和 B 上是带有角度增量的旋转轴,而不是线性毫米/英寸单位。
我知道理论页面状态 deltaA=deltaX+deltaY
正确的表示应该使用 X’ 和 Y’ 来表示转换后的 X 和 Y
deltaX’=deltaX+deltaY
并且请保持 0.8 分支(MIT 许可证)GPL 免费。
甚至新 fork 中的 motion_control.c 也是从 0.9 复制的,因为它内部有 gpl 通知。
在 MIT 代码中复制 marlin (GPL) 代码也是如此。这是非法的,这样的代码不应该
被正式合并到官方的 0.8 分支中。
使用http://corexy.com/theory.html公式。
转换应该在 gc_execute_line 之前的 ” /* Execute Commands:”
和 report.c 中进行。软限制采用 X’ 和 Y’ 格式

有人可以测试这个普通的 grbl 版本吗?
默认编译,没有mods除了两个
没有home lock
加$@命令
$@0 恢复探测
$@1 为探头使用 x 轴限位开关
$@2 为探头使用 y 轴限位开关
$@255 将所有轴限位开关用于探头
,您能否使用限位开关验证探测是否有效。
如果需要以不同方式编译某些内容,请告诉它。
过滤器

支持 CoreXY #286

@cri-s
我在假期期间离开了我的电脑,所以对于您要求测试 CoreXY 代码的延迟回复,我深表歉意。无论如何,我
很乐意在我的 coreXY 机器上测试固件,但是如果你能
提供源代码的副本以便我自己编译,我将不胜感激。

谢谢,
技术鼠

支持 CoreXY #286

你好@chamnit
你能分享你有什么吗?

谢谢

支持 CoreXY #286

http://www.datafilehost.com/d/005634a4
报告标志位7(10美元)用于在正常或corexy坐标显示之间切换。
检查哪些有效,哪些无效,我会修复它。

支持 CoreXY #286

它是否实施了家庭循环?
2015 年 1 月 9 日 14:23,“cri-s” notifications@github.com写道:

http://www.datafilehost.com/d/005634a4
报告标志位7(10美元)用于在正常或corexy坐标
显示之间切换。
检查哪些有效,哪些无效,我会修复它。


直接回复此邮件或在 GitHub
#286(评论)上查看。

支持 CoreXY #286

我没有明确检查过。
坐标转换是在 plan-buffer-line 内进行的,所以它应该可以工作。

支持 CoreXY #286

@Techrat
请发送电子邮件至 corexy@trashmail.com
以获取联系列表。

支持 CoreXY #286

@metropt: 我会努力推动我所拥有的。我已经编写了几个不同的新版本的 Grbl,需要整合一些这些东西来弄清楚我应该推动什么。我知道这已经有一段时间了,但在过去的几个月里,我一直在做很多与 Grbl 相关的未来计划。不久将宣布一些令人兴奋的新事物。

支持 CoreXY #286

@chamnit: 期待CoreXY整合!

我目前有一台 CoreXY 机器,在带有 Marlin 固件(视频证明)的 Azteeg X3 上运行良好,但我所做的大部分工作都与 3D 打印机无关。我愿意跳槽到 GRBL,因为它拥有我需要的一切,而没有我不需要的东西。

这是获得 GRBL 更新通知的最佳位置,还是其他地方更合适?

支持 CoreXY #286

@chamnit谢谢你 :)

@cri-s你发给我的链接不起作用:s

支持 CoreXY #286

@metropt: 好的。我推了我所拥有的。我还没有测试过它,但它在技术上应该可以工作,尤其是归位和进给保持。我唯一要做的就是找出反转方向掩码。它可能无法正常工作,但无论如何你都不应该用 CoreXY 机器来搞乱它。让我知道事情的后续。

支持 CoreXY #286

@chamnit 谢谢,只是为了让你知道第一个睾丸看起来很好:)

支持 CoreXY #286

那里有 CoreXY 用户吗?它有效吗?

支持 CoreXY #286

:) 我在家里使用它,它正在工作,但我仍在建造我的机器,只有在我能够做一些压力测试之后。

支持 CoreXY #286

你好,@chamnit @metropt
这里的上下文和底部的问题/问题:我们已经构建了一个 H-Bot 绘图仪,它将通过使用铁墨(又名铁磁流体)和一个提升钕磁铁的 Z 轴进行绘图。到目前为止,除了“归位”之外,一切正常/移动正常。机器蓝图激光切割文件和将“实时”Gcode 发送到 GRBL 的处理代码将在开放许可下发布。

问题:我正在使用不支持“归位”的 GRBL 0.8c 版本。
我在谷歌搜索解决方案时发现了这个线程,看起来像@chamnit最近推了。我对 Github 不熟悉,所以我不太了解如何获取它。你能指出我正确的方向吗?

[在此处查看机器图片:
https ://instagram.com/p/yIXDFxqo_T/?modal=true
https://instagram.com/p/yIWx-2qo-z/?modal=true
https://instagram.com/ p/zdf7ezKo0O/?modal=true
https://instagram.com/p/yIW7TDKo_E/?modal=true%5D

支持 CoreXY #286

@Giorgio-Olivero: Grbl v0.9i 支持 CoreXY。它作为 config.h 选项位于边缘分支中。

支持 CoreXY #286

@chamnit谢谢

在边缘分支上,我找到了 0.9g 而不是 0.9i(是您的消息中的错字吗?)

总结一下,按照 config.h 中的说明进行操作:

// 新的归位循环,替换为以下行:
#define HOMING_CYCLE_0 (1<<X_AXIS)
#define HOMING_CYCLE_1 (1<<Y_AXIS)

// 下面这个没有注释
#define COREXY

正确的?

支持 CoreXY #286

是的

支持 CoreXY #286

我试过但它没有编译

以下是错误:

Arduino:1.5.5(Mac OS X),板:“Arduino Uno”
在sketch_feb25a.ino:2中包含的文件中:
/Users/Gio/Documents/Arduino/libraries/GRBL/coolant_control.h:27:错误:变量或字段“coolant_set_state”声明为无效
/Users/Gio/Documents/Arduino/libraries/GRBL/coolant_control.h:27:错误:“uint8_t”未在此范围内声明
/Users/Gio/Documents/Arduino/libraries/GRBL/coolant_control .h:28:错误:变量或字段“coolant_run”声明为无效
/Users/Gio/Documents/Arduino/libraries/GRBL/coolant_control.h:28:错误:“uint8_t”未在此范围内声明在
sketch_feb25a包含的文件中.ino :6:
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:137: error: ‘uint8_t’ 没有命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:138:错误:’uint8_t’没有命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:139:错误: “uint8_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:140:错误:“uint8_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/ gcode.h:141:错误:“uint8_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:143:错误:“uint8_t”未命名类型
/Users/Gio/ Documents/Arduino/libraries/GRBL/gcode.h:144:错误:’uint8_t’没有命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:145:错误:’uint8_t’没有命名一个类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:146:错误:’uint8_t’没有命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:147:错误: “uint8_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:153:错误:“uint8_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/ gcode.h:154:错误:“int32_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:159:错误:“uint8_t”未命名类型
/Users/Gio/ Documents/Arduino/libraries/GRBL/gcode.h:169:错误:’uint8_t’没有命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:170:错误:’int32_t’没有命名一个类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:172:错误:“N_AXIS”未在此范围内声明
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:174:错误:“N_AXIS”未在此范围内声明
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:176:错误:“N_AXIS”未在此范围内声明
/Users/Gio/Documents/Arduino/libraries /GRBL/gcode.h:186:错误:“uint8_t”未命名类型
/Users/Gio/Documents/Arduino/libraries/GRBL/gcode.h:197:错误:“uint8_t”未命名类型

支持 CoreXY #286

@Giorgio-Olivero: 通过 Arduino IDE 编译在 v0.9i 中有变化。我还没有写出来,但是应该有一个 GrblUpload 示例,您可以通过 File 下拉菜单打开它。应该只包含一个包含 grbl.h

支持 CoreXY #286

归位工作!<3
非常感谢!

支持 CoreXY #286

@chamnit我还有一个运行 Grbl v.9i 的带有 g-Shield v5 的 H-bot,但是,现在归位是命中还是失败。有时它会完美地到达那里并回家,而另一些则以 0.025 毫米的增量移动(根据 UGS 状态信息)。不知道为什么,但我希望得到一些建议。干杯,布赖恩。

支持 CoreXY #286

有人在 v0.9j 中遇到奇怪的归位行为吗?我已经构建了一个 coreXY 机器,并且硬限制在普通使用中工作正常,但我在归位周期中看到的情况是:

  • 快速移动到正 X 硬限制(并按下它)
  • 沿负 X 方向快速移动一段看似任意的距离,然后自行停止
  • 非常非常非常缓慢(远低于归位进给设置)沿负 Y 方向移动,并且对按下的任何硬限制都没有响应
喜欢 (0)

您必须 登录 才能发表评论!