登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:用PLC对旋转编码器的脉冲计数当32位的寄存器溢出咋办?

点击:8494 回复:14

如题,要是在程序里把寄存器里的数转移后清零,由于程序扫描的延迟丢失的脉冲如何处理?
12-07-27 19:56
请教高手
12-07-27 20:15
是我描述得不太清楚么
12-07-28 11:54
是要清零计数器吗?
12-07-29 08:20
感谢版主回复,是清零,PLC里用于编码器计数应该是硬件计数吧,跟程序扫描无关,我指的是当需要计的脉冲超过一个32位寄存器的最大值,就需要把它保存到另一个寄存器,然后清零,但这些操作是在程序里执行的,当执行这些操作时脉冲没有停止,那不是就会出现计数不准?
12-07-29 21:59
好像单片机里有计数中断,可以中断里执行,PLC里要如何做?
12-07-29 22:03
32位的计数器的数值是非常大的,估计你没那么容易搞得它溢出,如果真有,不妨要以这样:
拿16位的举例,因为32位的数太大了
16位如果是正负计数的话,拿32000与当前值作比较,如果超过该值则立刻将值移出,然后复零就不担心溢出的问题了
12-07-29 22:48
回楼上,我现在的问题就指的是你移除到复零,需要一定的扫描时间,要是计数脉冲快过程序的扫时间,不是会丢脉冲的么
12-07-30 14:34
该用户被锁定!
12-07-30 16:11
回楼上,只是讨论下这个情况,并不是实际遇到的问题
12-07-31 09:28

上一页下一页

工控新闻

更多新闻资讯