purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
楼主  发表于: 2014-06-14 21:27
图片:
        
          今天试了下台达的,程序和上次信捷的类似。编码器400线,1倍频。转一圈400个脉冲。8000个进入中断刚好20圈,复位高速计数器。现在的问题是进入中断复位高速计数器的时间是多少?在复位到0到重新计数的这段时间编码器一直在转,丢脉冲不知道该如何避免了。从监控上看知道一共是进了10次中断再加一圈整的也就是400个脉冲。实际上编码器已经走了一圈多一点了。也就是说RST C251这段时间没有计数。       
          这个程序是定长用的。设定长度转成脉冲数,当到达设定脉冲(长度)时进入中断复位高速计数器,同时输出动作。设备高速运转不停机的。低速误差还可以,高速较大。用单片机(STC12c5a60s2 或者stm32f103)情况比用PLC好些。     
         麻烦各位高手指点下这样的思路有没有问题。或者有更好的方法。
     
[ 此帖被purshro在2014-06-14 21:41重新编辑 ]
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
1楼  发表于: 2014-06-18 22:08
引用
引用第1楼cmsn于2014-06-15 12:44发表的  :
进行脉冲补偿

主要是机器速度变化太大20-120米/分。难以把握。
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
2楼  发表于: 2014-06-18 22:17
引用
引用第2楼sicsuilyijun于2014-06-18 10:56发表的  :
这么复杂,如果你定长都是8千的话。你就把C251设为8千。当计到8千时,由C251给自己复位。试一下看如何,我这么搞过,误差不大,当然不知道你的速度有好高。

谢谢指点!c251的计数值到8000还是会一直加啊,要复位还是要dhscr吧。原来在机器上试时低速误差还算可以,高速差点。后来没在机器上,单独拿编码器试才发现编码器在转整圈后回标记点脉冲数不对。
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
3楼  发表于: 2014-06-18 22:21
引用
引用第4楼无人值班于2014-06-18 15:16发表的  :
就是说 你复位的是PLC处理器中的高位 而计数器一直是0-400计数着 不存在复位漏计的问题

谢谢指点!就是觉得比如400进入中断处理的时候,编码器实际已经到了401才复位的。所以才有累计误差。还好机器误差也不算大。