哎呀!妈呀,感觉要学的东西太多了。。。。
最近这两礼拜一直在看高速计数这方面东西,看了CPU31XC的手册,也看了些其它资料。
由于手上没有硬件设备,就写了个程序,想给大家看看,我不确定对不对!
我的目的就是测转速!!!!!!假设编码器是增量型的,HTL推挽方波输出(A B Z) 分辨率2000ppr 4X倍频
控制器为CPU314C-2DP
STEP1:接线:我用第一通道(channel 0);A接2号端子 B接3号端子 Z不接;(那啥!这没问题吧!)
STEP2:组态:双击Count Channel选0 Operting选Frequency Counting
General:默认
Addresses:默认(Star 768 End 783)
Basic Parameters:None(我不知道测转速需不需要中断)
Frequency Counting:积分时间设1000ms;低限高限默认;直接旋转速度;编码器的信号类型设Rotary encoder single;不中断:不输出;不用硬件门。
(看看这里的设置有没有问题,我用到的编码器是4X的,而这里选的类型只有1X,有不有什么影响?我个人认为用程序来解决!行不?)STEP3:编程:选SFB48(测量模式),给SFB48建个背景数据块DB48。
SFB48需不需要在OB35中调用,就在OB1里做行不行(只是测转速功能)程序如下:

M10.0使能计数,MD100(DB48.DBD14)就是频率值吧!
最后转速是不是下面公式:
n=(MD100*1000000*60)/(2000/4)
由于单位是mHz,乘以1000000转换成Hz;前面提到关于1X 4X,在这里我就除以4,不知我这样分析对不对?OVER!!!!
没事看书瞎整的。大侠们!不容易啊,菜鸟何时能疯狂~~~~~~~~
谢谢!