工控编程吧

标题: 蹊跷的LOOP循环 仿真 [打印本页]

作者: baikhgmv    时间: 2016-9-30 21:46
标题: 蹊跷的LOOP循环 仿真
蹊跷的LOOP循环 仿真

和大家探讨一个问题,也是求助了!

我学习仿真LOOP指令的时候,遇到很蹊跷的问题,如截图所示。

LOOP不出来。

朋友们能看出来问题吗??

如果我一直调这段程序,LOOP看起来是没完没了的,MD200不停的往上加,超过999999999了有还不停下来。MD100只能从999999999变为999948289,就不再往下减;

如果我是用一个上升沿调这一段程序,第一次上升沿,MD100瞬间从999999999变成999948289,MD200瞬间就加到 51711,然后停住了。给第二个上升沿,MD100不动,MD200再加51711(即103422),第三次第四次一样的规律。

有个共同点是,循环丝毫不受M50.1和M3.3的影响,无论他们状态。 这两个位只有一个影响:如果他们不置位,无论循环进展如何,M50.0永远不会被置位; 如果他们被置位,M50.0在循环开始瞬间也就被置位了(瞬间置位,因为扫描速度太快了)。 还有,MD100我如果不设那么大,循环一进行,它就会一直等于1(肉眼看起来)。


把MD100改为其他值,还会出现不一样的循环次数。 不知道这些特殊数字,是怎么来的。

(比如MD100改为555555的时候,触发一次循环,它会减到524289就不动了,MD200会等于31267)


欢迎朋友们探讨,解释。最好也一起仿真下这段程序。看看怎么说的通。



(, 下载次数: 1)