辅助编码器TDC位移反馈更新速率采集等等 点击:884 | 回复:6



大思想小世界

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2017-04-10 11:34:16
楼主

刘工、诸工:

galiltools中watch窗口里的source和value,其中第202行TDC, 就是辅助编码器光栅反馈的Z轴位移,

它的数据更新速率是多少? 

和什么命令有关?

我用labview去读这个TDC的时候,速度慢的时候比如100p/s,1s采集100个点,但是速度快的时候比如1000p/s, 1s还是采集100个点,这样就达不到1p就是0.1μm的分辨率。

不知道和TM取样时间命令默认的是单位μs,TM1000,就是1ms一次,是否有关,但是如果1ms一次的话就是更新率是1000次每秒也足够了,我需要的速度是1000p/s,采样TDC也达到1000Hz,但是现在的程序行不通,不知是galil里没设置好还是labview里程序问题。

labview程序是当初厂家给的,我用的是网口连接,当然了这个程序我做了添加才能读到TDC,就是程序里能看到的,循环读取source数组的第201个元素,置于程序里的源周期为1kHz,按理说应该够了,改成1MHz的话程序出错,平台不支持,把间隔dt改为0.01-100,只会略微的影响每秒采集的点数,基本在75-140个数据每秒这样,我需要的是1000点每秒。galil普通控件3-4轴optima系列控制器,最小取样时间是375μs,这个也是足够的了啊。信息见图。

望刘工、诸工基于解答,非常感谢!




楼主最近还看过



刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:19帖 | 8241回
  • 年度积分:401
  • 历史总积分:28764
  • 注册:2005年3月09日
发表于:2017-04-11 11:44:56
1楼

galiltools中watch窗口里的source和value,其中第202行TDC,就是辅助编码器光栅反馈的Z轴位移,它的数据更新速率是多少?和什么命令有关?

这个数据本身的更新是每个伺服周期一次,具体的和TM设置有关,当TM为1000时,一个伺服周期就是和1000/1024ms,大约970us。

至于把这个数据上传到电脑的频率,则取决于您电脑上的编程。

 

不知您的源程序是怎么写的(我也不懂LABCIEW编程),从您的描述来看,大概是通过DATARECORD来从卡上读的数据。如果不做太多工作,只读_TDC,应该是可以读取提高频率的吧。

 

 

 

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2017-04-11 15:55:46
2楼


回复内容:

对: 刘岩利 galiltools中watch窗口里的source和... 内容的回复!

labview程序里那个定时循环,每隔dt妙循环向控制器发送一次QR命令,我把这个dt=100ms,可以美妙输出10个数据,dt=10ms,可以美妙输出100个数据,但是设置成dt=1ms、dt=5ms就不行了,美妙只能出来125个数据、、、唉,活着就是累,活着还跟着某老师读研,更是累,每天非人非鬼、、、干什么不是活,非要折寿这样子

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:19帖 | 8241回
  • 年度积分:401
  • 历史总积分:28764
  • 注册:2005年3月09日
发表于:2017-04-12 08:28:45
3楼

labview程序里那个定时循环,每隔dt妙循环向控制器发送一次QR命令,我把这个dt=100ms,可以美妙输出10个数据,dt=10ms,可以美妙输出100个数据,但是设置成dt=1ms、dt=5ms就不行了,美妙只能出来125个数据、、、

 

执行qr命令接受反馈数据也是要时间的,时间间隔当然不能无限缩短。

 

 

唉,活着就是累,活着还跟着某老师读研,更是累,每天非人非鬼、、、干什么不是活,非要折寿这样子

这个,哦,该受罪还没受完,该吃的苦还没吃够,还是继续活着吧。觉得累,觉得痛,就忍一忍,总会习惯的。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:19帖 | 8241回
  • 年度积分:401
  • 历史总积分:28764
  • 注册:2005年3月09日
发表于:2017-04-12 08:58:55
4楼

多说一点,即使循环中只发送一个TDC命令,也未必能保证每毫秒采样一次。这涉及到操作系统的特性、以太网传输的方式等等。比较靠谱的方式,还是在控制器上采集数据到数组,然后PC再读取数组。

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2017-04-12 13:42:08
5楼


回复内容:

对: 刘岩利 多说一点,即使循环中只发送一个TDC命令,也未必能保证... 内容的回复!

恩,但是控制器上的数组和数组容量太有限了,我要采集反馈的几百万数据,因为测量点很多,而控制器只能8000数据。。。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:19帖 | 8241回
  • 年度积分:401
  • 历史总积分:28764
  • 注册:2005年3月09日
发表于:2017-04-13 08:42:42
6楼

恩,但是控制器上的数组和数组容量太有限了,我要采集反馈的几百万数据,因为测量点很多,而控制器只能8000数据。。。

 

那个数组只是让你当FIFO用的


热门招聘
相关主题

官方公众号

智造工程师