倍加福编码器怎么计算高度? 点击:1679 | 回复:9



ligang12310

    
  • 精华:0帖
  • 求助:5帖
  • 帖子:21帖 | 83回
  • 年度积分:0
  • 历史总积分:612
  • 注册:2009年4月03日
发表于:2012-06-22 21:59:25
楼主
求助帖100分-已结帖

最近接到个任务是用倍加福的PVM14N-05MK2A301-1213绝对值编码器,计算石油行业中滚筒的高度,大概图形如下

编码器安装在绞车滚筒位置,由于前期没条件去现在,只有做了个模拟的模型

其中滚筒运动一圈快绳移动348MM,同时编码器也运动一圈变化值为4096(2*12方),一对一

现在按照profibus协议安装并连接电缆,编写程序如下(不知道这种简单的方法对不对?)

1。当前绞车停止位置获得的值

2。MD50为初始位置

 

问题一:为什么这样两个32位双字相减没有值?

3。滚筒转一圈,编码器也运动一圈变化值为4096

 

4 用总变化值除以一圈的编码器的值(既滚筒变化一圈)

 

5 再用MD80*348MM,即为快绳变化的值

请问我这样做行嘛?还有上面的那个问题1为什么监视值为0。。。

 

 



楼主最近还看过



ligang12310

  • 精华:0帖
  • 求助:6帖
  • 帖子:28帖 | 83回
  • 年度积分:0
  • 历史总积分:612
  • 注册:2009年4月03日
发表于:2012-06-23 21:26:14
1楼
请问下这样的思路对吗?

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-06-25 10:04:57
2楼

对的,就是乘以一个系数 ,

你滚筒周长,和编码器 一周计数知道了,就得到了一个 固定的系数;

我有300 的 这样的子程序,有需要 留下邮箱,发给你;

云锋

  • 精华:1帖
  • 求助:5帖
  • 帖子:284帖 | 5541回
  • 年度积分:0
  • 历史总积分:30377
  • 注册:2005年6月24日
发表于:2012-06-25 14:17:54
3楼

就是一个编码器当前数值读取,以及与实际高度的转换关系。

yexiaomeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 181回
  • 年度积分:0
  • 历史总积分:731
  • 注册:2005年12月19日
发表于:2012-06-25 17:37:01
4楼

您的这个处理有两个问题:

1.绝对值编码器的读法

一般的绝对值编码器的数据格式是:圈数+当前脉冲,所以处理方式应该是圈数变化×4096+当前脉冲才是实际的脉冲;

2.除法的应用

一般来说做除法时应该先乘再除,而不是先除再乘,因为CPU对除法的处理一般是取整数的,比如

100 / 200 × 4096 = 0(先除后乘)

100 × 4096 / 200 =2048(先乘后除)

ligang12310

  • 精华:0帖
  • 求助:6帖
  • 帖子:28帖 | 83回
  • 年度积分:0
  • 历史总积分:612
  • 注册:2009年4月03日
发表于:2012-06-25 20:47:32
5楼

回复:

miy_gongkong

对的,就是乘以一个系数 ,

你滚筒周长,和编码器 一周计数知道了,就得到了一个 固定的系数;

我有300 的 这样的子程序,有需要 留下邮箱,发给你;

  谢谢!我的邮箱是back_li5@sina.com

ligang12310

  • 精华:0帖
  • 求助:6帖
  • 帖子:28帖 | 83回
  • 年度积分:0
  • 历史总积分:612
  • 注册:2009年4月03日
发表于:2012-06-25 20:53:36
6楼

  还有个问题我在用减法的时候 怎么MD60为0 了 ?

  是不是溢出了?

艾诺樱桃帮v

  • 精华:0帖
  • 求助:1帖
  • 帖子:37帖 | 1555回
  • 年度积分:0
  • 历史总积分:1539
  • 注册:2012年3月02日
发表于:2012-06-25 21:57:11
7楼
引用 云锋 的回复内容: 就是一个编码器当前数值读取,以及与实际高度的转换关系。



上海精芬机电有限公司

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 109回
  • 年度积分:0
  • 历史总积分:477
  • 注册:2011年8月26日
发表于:2012-06-26 10:04:25
8楼

引用 ligang12310 的回复内容:  还有个问题我在用减法的时候 怎么MD60为0 了 ?  是不是溢出了?




你看一下 你的 MD40,MD50  是 仕么值?

 

ligang12310

  • 精华:0帖
  • 求助:6帖
  • 帖子:28帖 | 83回
  • 年度积分:0
  • 历史总积分:612
  • 注册:2009年4月03日
发表于:2012-06-26 22:52:47
9楼

哦 是数据类型不一样!MD 40是PID256 (编码器)得到的为DWORD

  而MD50是我自己编写的 为REAL类型!

 那请问下怎么转换过来了。。。

新手,还望详细。。


热门招聘
相关主题

官方公众号

智造工程师