OPN DB70
L DBW[#TEMP_Pointer_1]
T DIW 0
L #TEMP_Pointer //这个值最小是42,加上16后是58,但是我在DB70里面没有看到DB70.DBD58,怎么回事呀?
L 16
+D
T #EMP_Pointer_1
L DBD[#TEMP_Pointer_1]
T DID 2
最佳答案
你这是概念性错误。间接寻址是以指针常数形式来表达起始地址的,对应到十进制数时要乘8。如P#2.0对应的十进制数为16。
你所说的42应该是P#42.0,16变为指针常数为P#2.0,所以寻址是DB70.DBD44
参见:S7-300和S7-400寻址
http://www.ad.siemens.com.cn/download/OnlineReading.aspx?DocId=1597
对指针格式有详细的讲解。
提问者对于答案的评价:
谢谢,
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc229530.html