lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
楼主  发表于: 2018-09-27 16:57
由于前段时间提供给客户的一个2000线增量A/B/Z编码器出现丢脉冲的情况,所以现在对新采购的编码器都要逐一测试。
测试的思路是这样的:A/B接计数器,Z接中断,当Z中断时把A/B计数器的值读出来,并且复位A/B计数器,这样编码器每转一圈计数器读出的数据就应该是编码器的分辨率,如果编码器丢脉冲,计数器读出的值就会比编码器分辨率小。
最开始使用西门子S7-200,使用A/B接硬件计数器,Z接外部中断,但外部中断受输入滤波时间影响,编码器速度稍快就出现数据不准确,用手旋转编码器。
改为Z接另外一个编码器,计数到1中断,在中断程序中读A/B计数器,复位A/B计数器,复位Z计数器。这样编码器速度会稍快些(大约2转/秒),就出现数据不准确。

再换台达ES2,用同样的A/B硬件计数器,Z接硬件计数器中断,编码器速度稍快(大约2转/秒),同样出现计数不准确的情况,大多数是丢脉冲。

计数器的速度是没有问题的,按道理,Z计数中断到复位A/B计数器速度会很快,数条指令而已。出现计数不准,估计是Z计数中断——A/B计数器复位用时过长。
大家看看这是怎么个情况!
[ 此帖被lvpretend在2018-09-27 17:04重新编辑 ]
lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
1楼  发表于: 2018-09-27 17:31
明天再试一下在中断程序里加一条高速计数器启动指令。
eledesigner
懂一点点
级别: 工控侠客
精华主题: 0
发帖数量: 1777 个
工控威望: 2031 点
下载积分: 2639 分
在线时间: 2194(小时)
注册时间: 2009-08-21
最后登录: 2024-10-23
查看eledesigner的 主题 / 回贴
2楼  发表于: 2018-09-28 08:34
正转100圈,反转100圈看看,还与速度有关系。
lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
3楼  发表于: 2018-09-28 11:17
引用
引用第2楼eledesigner于2018-09-28 08:34发表的  :
正转100圈,反转100圈看看,还与速度有关系。

不复位完全计数准确。
测速了台达ES2 中断程序中启动A/B计数器,没好转。用计数器自带的R(复位端)端复位,使用对应的外部中断,好了很多,但仍然丢脉冲。没有发现原因。
tudou0117
级别: 略有小成
精华主题: 0
发帖数量: 112 个
工控威望: 213 点
下载积分: 611 分
在线时间: 381(小时)
注册时间: 2017-05-16
最后登录: 2024-10-22
查看tudou0117的 主题 / 回贴
4楼  发表于: 2018-09-28 11:30
高速计数器了解一下,频率快了,怀疑你的plc采集不到脉冲
WX:13076996110 深圳
eledesigner
懂一点点
级别: 工控侠客
精华主题: 0
发帖数量: 1777 个
工控威望: 2031 点
下载积分: 2639 分
在线时间: 2194(小时)
注册时间: 2009-08-21
最后登录: 2024-10-23
查看eledesigner的 主题 / 回贴
5楼  发表于: 2018-09-28 12:47
什么叫丢脉冲,你要是没采到还能叫丢脉冲吗
eledesigner
懂一点点
级别: 工控侠客
精华主题: 0
发帖数量: 1777 个
工控威望: 2031 点
下载积分: 2639 分
在线时间: 2194(小时)
注册时间: 2009-08-21
最后登录: 2024-10-23
查看eledesigner的 主题 / 回贴
6楼  发表于: 2018-09-28 13:15
假如频率是1k,1ms是一个脉冲,你进入中断程序要时间吧,1ms就少了1个脉冲了。这不是很正常吗
lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
7楼  发表于: 2018-09-28 15:26
台达客服表示没有测试过计数中断程序到复位计数器需要多长时间,建议采用计数器硬件复位端R,硬件复位时间是一个PLC内部扫描周期(不是程序扫描周期)。
lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
8楼  发表于: 2018-09-28 15:31
引用
引用第4楼tudou0117于2018-09-28 11:30发表的  :
高速计数器了解一下,频率快了,怀疑你的plc采集不到脉冲

PLC硬件计数器可以采集到脉冲(脉冲频率低于PLC最高采集频率),只是计数器开始中断到进入中断程序里成功复位计数器开始重新计数,这段时间无法确定,估计在mS级别。
lvpretend
级别: 论坛先锋
精华主题: 0
发帖数量: 1258 个
工控威望: 1428 点
下载积分: 3680 分
在线时间: 322(小时)
注册时间: 2015-07-20
最后登录: 2024-05-22
查看lvpretend的 主题 / 回贴
9楼  发表于: 2018-09-28 15:38
引用
引用第6楼eledesigner于2018-09-28 13:15发表的  :
假如频率是1k,1ms是一个脉冲,你进入中断程序要时间吧,1ms就少了1个脉冲了。这不是很正常吗

是的,只是没想到,指令都在uS级别,计数中断到成功复位计数器重新计数居然需要这么长时间,目前测试的情况来看,西门子S7-200和台达ES2估计都可能在mS级别。
这说明,单纯想依靠PLC做定位,速度太慢了。