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重新编辑 ]
cmsn
级别: 略有小成
精华主题: 0
发帖数量: 275 个
工控威望: 451 点
下载积分: 1027 分
在线时间: 276(小时)
注册时间: 2012-09-10
最后登录: 2024-05-08
查看cmsn的 主题 / 回贴
1楼  发表于: 2014-06-15 12:44
进行脉冲补偿
sicsuilyijun
工控路上学习中
级别: 略有小成
精华主题: 0
发帖数量: 163 个
工控威望: 355 点
下载积分: 773 分
在线时间: 373(小时)
注册时间: 2009-05-17
最后登录: 2024-01-25
查看sicsuilyijun的 主题 / 回贴
2楼  发表于: 2014-06-18 10:56
这么复杂,如果你定长都是8千的话。你就把C251设为8千。当计到8千时,由C251给自己复位。试一下看如何,我这么搞过,误差不大,当然不知道你的速度有好高。
无人值班
级别: 探索解密
精华主题: 0
发帖数量: 13 个
工控威望: 134 点
下载积分: 751 分
在线时间: 5(小时)
注册时间: 2014-06-13
最后登录: 2014-06-19
查看无人值班的 主题 / 回贴
3楼  发表于: 2014-06-18 15:14
我不是做机械控制的 但这个问题在过程控制中不是问题啊 高速计数不存在什么补偿 复位漏计的问题 高速计数模块本身就是带寄存器的 我们用的PLC是这样 比如设400次进一个高位给PLC处理器计数 处理器收到的数据就是高位计数圈+计数器中地位脉冲数 不会有什么误差 当然行业不同 不知道硬件有没有区别 但是高低端PLC原理应该都是一样的
无人值班
级别: 探索解密
精华主题: 0
发帖数量: 13 个
工控威望: 134 点
下载积分: 751 分
在线时间: 5(小时)
注册时间: 2014-06-13
最后登录: 2014-06-19
查看无人值班的 主题 / 回贴
4楼  发表于: 2014-06-18 15:16
就是说 你复位的是PLC处理器中的高位 而计数器一直是0-400计数着 不存在复位漏计的问题
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
5楼  发表于: 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的 主题 / 回贴
6楼  发表于: 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的 主题 / 回贴
7楼  发表于: 2014-06-18 22:21
引用
引用第4楼无人值班于2014-06-18 15:16发表的  :
就是说 你复位的是PLC处理器中的高位 而计数器一直是0-400计数着 不存在复位漏计的问题

谢谢指点!就是觉得比如400进入中断处理的时候,编码器实际已经到了401才复位的。所以才有累计误差。还好机器误差也不算大。
sicsuilyijun
工控路上学习中
级别: 略有小成
精华主题: 0
发帖数量: 163 个
工控威望: 355 点
下载积分: 773 分
在线时间: 373(小时)
注册时间: 2009-05-17
最后登录: 2024-01-25
查看sicsuilyijun的 主题 / 回贴
8楼  发表于: 2014-06-19 13:41
你试下C253,把Z接进X5。只是程序等各方面比较麻烦,需要找0点及Z相脉冲,定长就要计Z相脉冲几次了,我的想法不一定很得当。