我想编写一个程序, 采用高速计数器测每秒钟脉冲的数量,每秒读取一次高速计数器的值,并在读取的同时将计数器清零,等下一秒再重新读取,并清零高速计数器.清零需要采用软件清零.
最佳答案
方法有很多种的,首先设置定时中断,1秒
2:在定时中断里面把计数器的值读出来
3:在定时中断的程序的最后清零
看看这里
首先,你的编码器安装的位置在什么地方。是直接安装在电机上 还是在旋转的那个转盘上, 有没有带减速机,用的是变频器 还是什么驱动电机。。。或者是什么方式驱动转盘 一个小时才150度 够慢的。。
下面回答你的问题:
你的编码器是一圈2048个脉冲。如果你的编码器安装和转盘同轴,那么150度脉冲=2048/360*150
853个脉冲, 同理你可以这样计算你要停顿的点的脉冲数。
2:我建议使用双向计数 比如HCS1 接线I0.6 I0.7 A B 初始化程序为下:
MOVB 16#FC, HSC1_Ctrl:SMB47//双向 1X
MOVD +0, HSC1_CV:SMD48
MOVD +20000, HSC1_PV:SMD52
HDEF 1, 9 计数器1
HSC 1
在程序运行时候 转盘的正反转 对应脉冲值的加减 你只需要
MOVD HC1,VD200 通过v200 里面的脉冲值和你的 要停顿的位置的脉冲数比较 然后停止
回答者: kunkun-张 - 初级技术员 第5级 2011-1-7 08:23
提问者对于答案的评价:
谢谢了,我来试试、
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc312788.html