恭喜,你发布的帖子
发布于 2018-02-09 13:38:31
15楼
首先感谢大家的回复和解答!
经过这两天继续测试,对比,结果发现了这个问题的更加本质的情况。具体如下:
设备上有两套随动切割系统,每套系统包含主动辊和跟随辊各一个。而两个主动辊是通过同一个电机然后经过机械机构同时驱动的,是基本同样的速度,然后每个主动辊上装有一个4096P/R的编码器,我们对它4倍频。之前这两个主动辊的脉冲分别用FM350-1和单片机分别测脉冲,一直都是用FM350-1测量的波动较大,而用单片机测量的那个主动辊的脉冲波动小。先前总以为是本身设备波动大的问题。
但是今天我们把主动辊的编码器接线对FM350-1和单片机交换,去看看结果如何,结果发现,情况和原来一样,还是用FM350-1测量的波动较大,而用单片机测量的那个主动辊的脉冲波动小。
那么现在情况说明,设备本身是稳定的,问题很有可能就是出现在FM350-1得到的脉冲值有问题。而且这也说明,之前关于两个FM350-1要保证脉冲同时性的问题,其实本质是对于一个FM350-1模块来说,怎么保证在固定的时间内,plc怎么得到准确的脉冲值得问题。当然,如果说对于一个FM350-1来说,现在发现的问题,其原因是由于FM350-1和PLC的cpu之间刷新时间不确定导致的,那么对于两个FM350-1来说,原来所说的现象和问题可能会依然存在,那么,那就真可能是另外一个问题了。
就今天发现的现象和问题以及数据如下:
在100m/min的车速下,测试主动辊的脉冲数据:3ms的平均脉冲数:55
单片机:测得脉冲数在54-56之间,没有发现更大的波动
FM350-1:大多数情况下,脉冲数在54-56之间,但是有出现较大的波动值。
最大波动到65,最小波动到46。
奇怪的是:大的波动值基本都是65和46,顶多变化1个脉冲,而没有其他大的波动值了。
更为奇怪的是:我发现,但凡如果某一次出现的大的波动值时65,那么,之后的某个3ms内的 脉冲数必然会是46,绝对没有问题。不管这两个波动值之间相隔多少个3ms的周期数。不过, 大多数情况还是这两个波动在连续的两个3ms内接连出现。
可以验算,65+46=111,111/2=55.5,刚好和平均脉冲数基本相等。
由此可见,就是说,如果上一次测得脉冲数大了,那么下一次,不知道是什么时候一定就会补回来。
在130m/min的车速下测试结果如下:
单片机:在70-72之间,没有大的波动值
FM350-1:基本在70-72之间,但是会出现两个大的波动值82和58,这个大的波动值最多有一个的变化。
同样可以验算:82+58=140,140/2=70,和平均值基本相同。
对比100m/min和130m/min两个车速下的数据,可以发现:
100m/min:波动值为9个脉冲左右
130m/min:波动值为12个脉冲左右
那么有:130/100=1.3,而9*1.3=11.7,大致和12相当。
这就说明:这样的波动数值随着车速的增加而同比增大。
更进一步说明:造成这种波动的原因如果是由于某个时间的差异造成的,那么这个时间值是固定的,可以计算得到这个时间为:
100m/min时,3ms的脉冲数是54,则18p/ms,而9个脉冲的波动则可知:需要的时间是0.5ms。
也就是说,造成这种波动的原因如果是由于某个时间的差异造成的,那么这个时间值是0.5ms。
同样的问题,用另外一个FM350-1测跟随辊的结果是同样的。
经过思考,想着会不会是OB35的3ms定时中断的时间有波动造成的,或者说OB35中的程序太多导致的问题。因此,把OB35的时间改为6ms,再次进行对比测试,结果如下:
130m/min的车速下:平均脉冲142
单片机:在141-143之间,没有大的波动值
FM350-1:基本在141-143之间,但是会出现两个大的波动值154和130,这个大的波动值最多有一个的变化。没有其他的波动值出现。
同样可以验算:154+130=284,284/2=142,和平均值基本相同。
脉冲波动:12
现在是对一个FM350-1的脉冲值测试,没有使用FC2而是使用外部I/O的指令方式,其执行时间极短,而且把读脉冲的指令放在OB35的一开始,以免受到其他指令执行时间的影响,现在OB35的循环时间也放到了6ms,那足以保证程序肯定在6ms内能执行完,而且在3ms的情况下,plc也没有任何报警,状态正常,说明3ms内程序能执行完成。通过这些分析,我想是不是可以排除是由于plc的读脉冲指令的6ms的时间间隔的差异不同造成这样的现象了?
另外,在6ms读一次脉冲的情况下,在130m/min的车速下,脉冲波动依然是12,和在3ms读一次脉冲的情况下,同样在130m/min的车速下,其脉冲波动依然是12。
综合上面的情况,我觉得可以排除是由于plc的读脉冲指令时间波动造成这样的结果。
但是,如果说是由于FM350-1和PLC的周期性交换数据的周期性时间波动造成的,那么怎么解释上面出现的两个现象:
1、造成这种波动的原因如果是由于某个时间的差异造成的,那么这个时间值是0.5ms。为什么这个值时固定的?
2、如果上一次测得脉冲数大了,那么下一次,不知道是什么时候一定就会补回来。
--------------------------------------------------------------------------
真是百思不得其解啊!头又痛了..........................
期待各位鼎力帮助!!!
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
请填写推广理由:
分享
只看
楼主