展开查看
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
应该是先判断<>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,达到要求了。
我被你带沟里了,其实是很简单的逻辑关系,用个简单的例子就可以了啊,呵呵
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??