回复:高速计数模块FM350-1一个深入问题的探讨【请教】

段段尔

  • 帖子

    34
  • 精华

    0
  • 被关注

    2

论坛等级:游侠

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 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、如果上一次测得脉冲数大了,那么下一次,不知道是什么时候一定就会补回来。


    --------------------------------------------------------------------------

    真是百思不得其解啊!头又痛了..........................

    期待各位鼎力帮助!!!

    谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    

    


    




评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54699条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。