loop指令

已锁定

波尔山羊104

  • 帖子

    1
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2015-08-06

普通 普通 如何晋级?

loop指令

1408

1

2015-09-02 16:38:49

展开查看
引用自找答案,问题ID:32698

LOOP <跳转标签> 对ACCU 1-L进行减1操作,并在ACCU 1-L <> 0时跳转
请问:是ACCU1_L减1 后判断<>0跳转,还是ACCU_L内容先判断<>0,再自减1后跳转到标签,比如现在ACCU1_L中的内容是1,是先判断1>0,再1-1=0,然后跳转;还是先1-1=0,再判断0=0,然后不跳转,继续扫描后面程序

提问者:potential


TB0806006 回答道:

应该是先判断<>0,再自减1后跳转到标签。
简单的例子:用DATA代替ACCU1_L
1.先减1后判断假设DATA从3开始
3-1=2不等于0  跳
2-1=1不等于0 跳
1-1=0 等于0 不跳   然而此时的DATA实际值为1 
2.先判断与0比较,再减1
3不等于0跳  3-1=2 
2不等与0跳   2-1=1
1不等于0跳  1-1=0
0等于0  不跳 即此时DADA为0,达到要求了。
我被你带沟里了,其实是很简单的逻辑关系,用个简单的例子就可以了啊,呵呵

还有4人在找答案上回答了该问题,查看全部>
T MD20 //将ACCU1的内容传送给MD20 (初始化)。
L 5 //将循环周期的数目装载到ACCU 1-L中。
NEXT: T MW10 //跳转标签 = 循环开始/将ACCU 1-L传送给循环计数器。
L MD20
* D //MD20的当前内容乘以MB10的当前内容。
T MD20 //将相乘结果传送给MD20。
L MW10 //将循环计数器的内容装载到ACCU 1中。
LOOP NEXT //对ACCU 1的内容进行减1操作,当ACCU 1-L > 0时,跳转到NEXT跳转标签。
L MW24 //完成循环后,在此继续执行程序扫描。
L 200
>I

各位大侠,小弟初学西门子STL,有疑惑还望帮忙解答
1、LOOP指令是ACCU1-L是先减1后跳转还是先跳转后减1??
2、第一次挑转后,执行next后面的T MW10 后MW10为5还是为4??
loop指令 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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