S7-300循环语句
刘玉蓉
发布于2014-09-25 16:22
25
0
标签:
L L#1
T MD 20
L 5
next: T MW 10
L MD 20
* D
T MD 20
L MW 10
LOOP next
这是照书上抄的,怎么执行起来总是5了,根本就不循环,郁闷啊,望指教下。
佳答案
L L#1
T MD 20
L 5
next: T MW 10
L MD 20
* D
T MD 20
L MW 10
LOOP next
1、怎么执行起来总是5了,根本就不循环?
上述程序是循环的,结果如何现不能仿真,关键是这三条指令:
L MD 20 //取 MD 20 中的数据装入累加器1
* D //累加器1中的数据与累加器2中的数据相乘,累加器2中的数据是什么?
T MD 20
条取MD 20中的内容,第二条就是* D(双字乘法,即累加器1,2相乘),问题是与谁相乘(累加器2中的内容是什么)呢?被乘数(累加器1中的内容)是MD 20中的数据,乘数(累加器2中的内容)是什么呢?还需要一条一条指令来推断累加器2中的内容是什么。 L MW 10是循环次数的变量,由于只有上述的程序,L MW 10也参与了乘法,这就引起了混乱。
2、上述三条指令可能是你是抄错了。
一般乘法:例如:
L MD 20
L MD 30
* D
T MD 20