找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
高速计数器本身相当于集成在plc电气仓库的资源,不明白为什么不用,而去使用存在丢脉冲风险的普通计数器,抛开是否丢脉冲这个问题,来回答你的问题。
普通计数器的计数脉冲输入,与cpu的扫描采集有必然的关联,假设扫描周期刚好过了你的程序采集段,此时脉冲正好到达,这样就有可能丢失这个脉冲,除非这个脉冲的长度足够有3个扫描周期以上的宽度,这样的应用环境是不丢失脉冲的,我也曾经做过类似的项目,假设普通的计数器记录脉冲数,只是我做了一个比较特殊的码盘,相当于脉冲有效宽度是足够宽的。
假设每分钟100转,每转1个脉冲,那么,每秒钟的脉冲宽度相当于100/60 = 1.66666个脉冲。
这样的应用场景是可以的,无论怎么样,你出现的脉冲宽度必须大于扫描周期的3倍。
补充问题回复:
假设50个脉冲每转,1分钟100转,那么,50*100/60 = 83.3脉冲/S。
即每秒发83个脉冲,1000ms / 83 = 12.048 ms / 一个脉冲,如果cpu的扫描周期按30ms算,已经不足3倍,则有可能会丢失脉冲了。
上述仅仅只是我的理论算法,如果扫描周期很短,则可以试试的。
我倒是有一个想法,就是尽可能的减少每周的脉冲数,把50个/周,改为10个/周或者其它数值,目的是尽可能的放大普通输入的脉冲输入宽度。
s7-1500有高性能输入模块(快速输入),你可以先去看看资料。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!