58

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午3:55
下一篇 2018年12月1日 上午3:55

相关推荐