L #IN0 如果#IN0=0则立即跳转到m001,#out2=0然后结束
L 0
==I
JC M001
L #IN0 如果#IN0不等于0按顺序执行以下运算
L 1
-I
L 2
*I
L 110
+I (#IN0-1)*2+110
SRW 1 右移1位即除以2
SLW 4 左移4位即乘以16,如果#IN0分别等于1,2,3,4,时
T #TEMP 如果#IN0分别等于1,2,3,4,时我计算出的数值分别是880, 896, 912, 928仿真的数据不是这样的,为什么呢?
OPN #IN1
L DBW [ #TEMP3]
T %LD10
L %LB12
T #OUT2
JU M002
M001: L 0
T #OUT2
M002: NOP 0
对这段程序实在是看不太明白,请老师门帮忙分析一下,谢谢
最佳答案
这是间接寻址的用法。你需要知道 #TEMP3存储数据的格式,在寻址时表示的地址是什么。
#IN0分别等于1,2,3,4时,读取的地址是DBW110、DBW112、DBW114、DBW116。
参见:S7-300和S7-400寻址
http://www.ad.siemens.com.cn/download/OnlineReading.aspx?DocId=1597
提问者对于答案的评价:
谢谢老师,有点明白了
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221183.html