我们现在用S7-200CPU224,我们现在希望通过码盘和PLC来控制电机的停车、正转、反转,我想应该是利用高数计数器,可是应该如何接线,如何编程,哪里有这方面的例子可以参考,谢谢。
最佳答案
你应用高速计数器应该是想测量电机的转速及其旋转的方向。
首先,你的码盘应该是旋转编码器(它实际上是提供高速脉冲),并且有的旋转编码器上有A/B相正交的功能(通过这个功能能实现测量电机的正反转,原理是在旋转编码器上有两个夹角为90度的检测点,如果A点超前B点90度是正转,反之是反转)。
其次,关于接线,你把旋转编码器的输出接到PLC的输入(I0.0或I0.1或I0.2,主要根据你用什么工作模式,这个你去系统手册上找“高速计数器的输入点和工作模式”表格。)
第三,关于编程。我这里有一个高速计数器测量电机转速的程序。与你的实际情况肯定有差别,不过对你肯定有帮助。
主程序
LD SM0.1
MOVB 16#F8, SMB37
MOVD 0, SMD38
MOVD 0, SMD42
HDEF 0, 0
MOVB 200, SMB34
ATCH INT_0:INT0, 10
ENI
HSC 0
中断程序
LD SM0.0
MOVD HC0, VD100
HSC 0
这个程序采用了一个200MS的中断,计算在这200MS内,一共采集到多少个脉冲。
剩下的就需要你自己在编程,把200MS内的脉冲个数换算为1秒钟或者一分钟有多少个脉冲,在换算为实际的速度。
如果你把这个程序实际运行出来了,你还可以开发成A/B相正交的高速计数器,就可以知道当前的转速和旋转方向了。
提问者对于答案的评价:
谢谢你的细心讲解,我还有几个问题不清楚,我们用的是旋转编码器,它转一圈是1024个脉冲,这算是多少频率呢,还有高数计数器的预置值和初始值是什么单位?是脉冲还是频率,如果我想实现让电机转一段时间后就停下来,然后往回转,可以利用高数计数器实现吗?
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357509.html