L #IN1
L 20
>=I
JC M001
L #IN1
L 10
*I
T #TEMP8
SLW 3
T #TEMP9
最佳答案
首先我们需要明白这段程序执行的后续目的;
我先介绍你的程序步骤及含义:
局部变量声明表中有:形参
IN #IN1
TEMPT #TEMP8
#TEMP9
程序执行含义如下:
L #IN1 //加载形参 #IN1 存储数据(32位)地址
L 20
>=I // #IN1 数据 与20长整数相比较
JC M001 // #IN1 数据大于或等于20则跳转到M001,否则顺序执行
L #IN1 // #IN1 数据乘以长整数10数据传到临时变量 #TEMP8得到数据再执行单字左移3位命令。结果送到临时变量 #TEMP9中,其数值等于 #IN1*10*2的三次方,为后面的指针寻址方式地址的合理性做准备。
L 10
*I
T #TEMP8
SLW 3
T #TEMP9
可知左移指令作用:使得数值乘以2的三次方
意义:为后面的指针寻址方式地址的合理性做准备。
右移指令作用:使得数值除以2的三次方
意义:为后面的指针寻址方式地址的合理性做准备。
请参考链接
移位指令实例——西门子S7系列PLC
http://www.plc100.com/siemens/s7-300/yiweizhiling.htm
S7-300和S7-400寻址 http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=
提问者对于答案的评价:
十分感谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc245020.html