Contact me: hankecnc@gmail.com

canon.hh 中进给率的误导性或错误文档 #1399

推推 grbl 3年前 (2023-01-30) 246次浏览
关闭
DerAndere1 打开了这个问题 2021 年 11 月 24 日 · 2 条评论 · 由#1667修复
关闭

canon.hh 中进给率的误导性或错误文档#1399

DerAndere1 打开了这个问题 2021 年 11 月 24 日 · 2 条评论 · 由#1667修复

注释

canon.hh 中进给率的误导性或错误文档 #1399
贡献者
德安德雷1 评论了 2021 年 11 月 24 日  

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

  1. B. 对于仅包括两个旋转轴的运动:度/分钟
    在这种情况下,比率适用于具有较大角度的轴
    覆盖,第二旋转轴旋转,使其具有
    总是完成相同比例的所需运动
    进给率适用的旋转轴。
  2. 将此与代码进行比较
    //纯角度移动:
    else if (! canon.cartesian_move && canon.angular_move ){
    塔=达?fabs (da / FROM_EXT_ANG ( emcAxisGetMaxVelocity ( 3 ))): 0.0 ;
    tb = 分贝?fabs (db / FROM_EXT_ANG ( emcAxisGetMaxVelocity ( 4 ))): 0.0 ;
    TC =直流?fabs (dc / FROM_EXT_ANG ( emcAxisGetMaxVelocity ( 5 ))): 0.0 ;
    出去。tmax = MAX3 (ta, tb, tc);
    出去。dtot = sqrt (da * da + db * db + dc * dc);
    如果out.tmax <= 0.0){
    出去。vel =佳能。角度进给率
    }否则{
    出去。vel = 出来。dtot /出。最高温度
    }
  3. 观察 canon.hh 中的文档是错误的。根据 NIST RS274 解释器版本 3 文档,emccannon.cc 中的代码是正确的。

这是我期望发生的事情:

如果我理解正确,canon.hh 行 295 ff 应该解释 NIST RS274 解释器版本 3 文档“2.1.2.5 进给率”部分中指定的内容:

对于 X、Y 和 Z 轴不动的两个或三个旋转轴的运动,
按如下方式应用速率。令 dA、dB 和 dC 分别为 A、B
和 C 轴必须移动的角度(以度为单位)。让 D = sqrt(dA dA + dB dB + dC*dC)。从概念上讲,D 是
总角运动的量度,使用通常的欧几里得度量。令 T 为
以当前进给速率移动通过 D 度所需的时间量(以度/
分钟为单位)。旋转轴应以协调直线运动方式移动,以便从运动开始到结束所经过的时间为 T 加上 加速或减速
所需的任何时间。

这是发生了什么:

canon.hh 中的进给率文档是错误的。

在此之前它工作正常:

至少从 2003 年就错了

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

  • 这是在当前的 master 分支中找到的。我不使用 LinuxCNC,我只是想了解它。
canon.hh 中进给率的误导性或错误文档 #1399
合作者

你想提出修改后的措辞吗?

有可能该评论在某些时候是正确的。有趣的是没有提到三个旋转轴。

canon.hh 中进给率的误导性或错误文档 #1399
贡献者作者

我将您的评论视为对我的发现的确认。我将准备一个请求请求。