这段测试程序为什么不稳定?

用接近开关测试,电机转一圈,接近开关得2个信号,我用T37,1S取样一次,1S时间脉冲数除以2得出,每秒的转数,然后再乘以60,算出每分的转数VD908,但是监控VD908的转数不稳定,现在接有测试表一台,测试是1100转,但是PLC测出的是1060转,电机转数降到700转时,转数表显示700转,PLC测出的是720转,有点不稳定,大家看,我该怎么做才能使程序稳定可靠,测试出的转数准确呢,现在实验1000转就这样,3000转不知道又会怎样?

大家能不能给个思路,怎么做稳定可靠。说说程序怎么来写,谢谢
程序请看图片。

问题补充:
按照1楼师傅的做法,我重新做了个程序,2秒的采样时间,把读出的脉冲数转为实物,得出的实数脉冲数先乘以30S,然后得出的实物再除以2,得出转速,做实验恒速电机到720转,PLC测试出的转速一会是700,一会是730,波动大约还是在20转左右,这是怎么回事呢?采样时间放宽了,先乘后除也做了,怎么还这样?

图片说明:

这段测试程序为什么不稳定?    这段测试程序为什么不稳定?   

最佳答案

采样时间短,会造成偏差偏大。可以想象,每分1100转,平均每秒36.66个脉冲,但实际上每个周期计得的脉冲数为整数,这样计算出的数值就会有偏差。18*60=1080。
另外,先除后乘也会产生偏差。你用的为整数除法,当计得脉冲数为奇数时,不能整除,会把小数位舍去,计算结果比实际值小了0.5,乘以60,就会再偏差出30转来。
另外,转速表与PLC的算法不同,即使计算中没有误差,得出的结果也会有偏差的。

建议将采样周期放大,偏差会减小,但响应会有滞后。
运算上,改为先乘后除。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc305698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:44
下一篇 2020年10月31日 下午3:44

相关推荐