首页 上一页 1 2 下一页 尾页

关于绝对值编码器转数检测的方法 点击:5069 | 回复:21



猎隼

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-14 18:15:13
楼主

我准备在PLC的普通IO口上连接绝对值编码器,但需要测量出转速,我考虑的方法是将数值存在一个D通道里,然后实时与接收来的数值进行比较,发现改变即计算时间,不知道网友们还有什么别的提高效率的方法,学习学习。




镜头看世界

  • 精华:0帖
  • 求助:5帖
  • 帖子:33帖 | 739回
  • 年度积分:0
  • 历史总积分:2583
  • 注册:2007年11月08日
发表于:2013-11-14 18:34:02
1楼

  楼主是要测转速是吧,精度要求多高?

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-15 11:12:37
2楼

8位的编码器,每分钟50转左右。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-15 14:20:08
3楼

这是一个用三菱fx写的一个宏程序。作用是计算绝对值编码器圈数的。程序可以适合fx 1S 1N 2N 3G 3Uplc。

当前程序只适合8位编码器使用。适当修改一下里面常数可以适应多种位值。

使用要求:只要保证每个扫描周期之间编码器转动小于半圈,就可以正常计圈。本程序可以多次调用一个子程序。在调用时人工分配不同的地址(程序注释上面的VD0到VD5参数)便可。

本程序纯手工打造,并不像软件生成的程序,用一次就占用一片空间。

望笑纳。



另外还有200的绝对计圈的库,可惜就是没有omron的。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-15 14:49:28
4楼

程序第一个m8000可以修改成其他触点。触点原则,也是两次on之间编码器转动要小于半圈。有多个编码器需要计圈的时候,方便分时处理,平衡扫描时间。

MWB0500

  • 精华:0帖
  • 求助:2帖
  • 帖子:22帖 | 151回
  • 年度积分:0
  • 历史总积分:188
  • 注册:2002年7月08日
发表于:2013-11-15 15:29:33
5楼

定时中断,然后计算2次中断之间的数值相减,如果100ms中断,直接乘以10再除以256,转速就出来了,

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-15 16:06:33
6楼

楼上大哥,楼主那里写着“转数”啊。不是说转速。何况那是绝对值的,哪能草草相减可以了?过零的时候旧值是255,新值是0,明明只有向前走了一格,那么0-255=-255,那是不是判断是反转一个整圈?

咦?慢着,楼主到底是想要“转速”还是“转数”?

不过我的程序强,VD4参数得到的就是两次测量之间的增量。

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-15 20:55:55
7楼

是我写错别字了,是转速.

主要是不知道以什么样的思路来实现这个功能。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-16 08:56:12
8楼

那,现在供个程序给你看,情况如何?尽管转速和转数差异很大,但是在程序里面两者都是互为副作用,都是在相同的基础上建立的。两次之间不可以超过半圈。

如果已经建立了上面的基础,以下就延伸两个作用。第一,在两次检测之间发生过零的,圈数需要加一减一。第二两次检测之间的分度距离,就是增量。

至于如何鉴别有过零的半圈还是没有过零的半圈,正向半圈还是反向半圈,可以参考时钟的指针理解。我就是看着个钟想出来的。

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-16 09:32:39
9楼

我选的是8位的编码器,通过转换变成为0-359度。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-16 09:55:51
10楼

8位才256份。分不出360份的。建议你的程序按照256份计算,免得来回换算,折腾。就算你按照360份运算程序,最后设备还是只能走256份给你看。这仅仅是心理安慰一下。(呵呵,你可以设定他走1度哦,您看着触摸屏。)其实假的。

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-16 10:49:53
11楼

回复内容:

对: 芳季 8位才256份。分不出360份的。建议你的程序按照25... 内容的回复!

是呀,确实是假的,OMRON有这个功能,可以将8位的绝对值编码器数值直接转换成0至360的功能指令。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-16 11:02:29
12楼

这个知道就行了。

现在是,你可以根据30的程序换到omron上不?其实把那些D45x去掉的话,程序量不大。这D45x只是调用需要。

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-16 11:44:06
13楼

回复内容:

对: 芳季 这个知道就行了。现在是,你可以根据30的程序换到omr... 内容的回复!


我没用过三菱的PLC,只是对普通的IO还算认识,特殊功能就不懂了。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-11-16 11:51:26
14楼

没有什么特殊功能,全部都是加减法,还有大于小于比较。再就是子程序。现在你不需要用子程序了,就还少一点事了。上面的地址也是常规的地址没有什么特殊功能的。

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-21 09:10:52
15楼

回复内容:

对: 芳季 没有什么特殊功能,全部都是加减法,还有大于小于比较。再... 内容的回复!


对于编码器即可正转也可反转,这种情况我该怎么进行速度检测?

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-22 16:47:32
16楼

回复内容:

对: 芳季 没有什么特殊功能,全部都是加减法,还有大于小于比较。再... 内容的回复!


我现在已经编了一个程序,这个转数的计算是根据固定的时间间隔(1秒脉冲,0.5秒上升0.5秒下降的连缘触发两次实现),我的编码器每分钟最高不超过60圈,所以我做了个判断指令,只要是不管正反转角度差不超过180度就算是正确数据。

程序现在还没有试验,等弄个PLC再试试效果,我的计算间隔为0.5秒,会不会太长了?

猎隼

  • 精华:1帖
  • 求助:1帖
  • 帖子:151帖 | 1661回
  • 年度积分:0
  • 历史总积分:8983
  • 注册:2005年9月28日
发表于:2013-11-25 16:08:08
17楼

我已做试验成功了用定时的方法进行速度检测,还算是好用,接下来准备用中断的方式再试试。

过原点的问题我用一个比较指令搞定了,估计应该会没有什么问题。

kzj5940

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:331
  • 注册:2008年8月01日
发表于:2014-05-25 16:15:34
18楼

言言言言言言言言言言言言言言言

ouyang_ch

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 74回
  • 年度积分:3
  • 历史总积分:29
  • 注册:2015年11月22日
发表于:2016-12-13 09:20:46
19楼

回复内容:

对: 芳季 这是一个用三菱fx写的一个宏程序。作用是计算绝对值编码... 内容的回复!

谢谢大神!但是程序呢?怎么看不到?

lyd_2005

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2017年1月04日
发表于:2017-03-16 15:58:15
20楼

不过我的程序强,VD4参数得到的就是两次测量之间的增量


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页