Endless Axes/zh-hans

From SoftMC-Wiki
< Endless Axes
Revision as of 03:16, 16 May 2017 by Chi (talk | contribs) (Created page with "{{Languages}} = 连续轴 = == 简介 == 在softMC系统中支持可理论上在任一方向上无限移动的轴。 这些轴的极限实际上是双浮点格式'''(-1.7976...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
语言: [[::Endless Axes|English]]  • [[::Endless Axes/zh-hans|中文(简体)‎]]

连续轴

简介

在softMC系统中支持可理论上在任一方向上无限移动的轴。 这些轴的极限实际上是双浮点格式(-1.79769e+308,1.79769e+308)实际上给出了连续轴操作。

驱动器限制

但是,驱动器控制器通信使用的位置数据要小得多,使用32位数据传输位置数据,因此内部驱动器位置单元的限制是:
[-2 31 ,+2 31 -1]。这在以下属性上可见: CCFB, CCMDCEXT。它们都是整数类型,32位变量,因此具有有限的值。

softMC位置变量

系统通过对32位范围的周期数进行计数,自动将范围位置变量(pcmd,pfb,pext)扩展为[mindouble,maxdouble]。每次位置反馈(或外部)通过31位限制内部 转数计数count_rev)增加(减少)。 So 所以位置属性值: PFB, PCMD , PEXT不显示任何不连续性。

检测超过32位限制

通过检查从驱动器获取的反馈位置的当前值和先前值来检测32位限制。

如果对当前和先前反馈值的最高有效位的异或运算为1
我们增加(减少)转动计数1圈,然后计算PFB:
pfb = pfac*(cfb + 2 32 *count_rev)

转动计数 (count_rev)可以由以下重置:

  • 访问位置因子,例如“PFAC = PFAC”或任何其他分配
  • 调用用户函数: MOT_RESET_ROLLOVER or MOT_RESET_EXROLLOVER

Axy;Infinite axes.png

参见