指针的间接寻址
刘玉蓉
发布于2014-12-11 17:12
275
0
标签:
TAR1 #save_ar1 (临时变量)
TAR2 #save_ar2 (临时变量)
L #Params_DB (输入变量:整数540)
T #MOB_DB_Nummer (临时变量)
LAR1 P##Quellfeld(#Quellfeld为Any型临时变量)
L DW#16#10020038
T LD [AR1,P#0.0]
L #MOB_DB_Nummer
T LW [AR1,P#4.0]
L #Params_ADDR(输入变量:整数0)
L 4
+D
SLD 3
L DW#16#84000000
OD
T LD [AR1,P#6.0]
请问在上面这段程序里面如何理解{L DW#16#10020038
T LD [AR1,P#0.0] }
DW#16#10020038 代表什么意思?
佳答案
ANY的存储格式见链接:S7-300和S7-400寻址
https://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=
ANY共占用10个字节,第0个字节为10H,是固定用法。第1个字节是数据类型,你的02H表示的是字节类型。第2、3字节表示数据长度,你的0038H表示长度为56。第4、5字节表示DB块号,0表示不是DB块,是DB块的话就有数值,你的相当于是DB540。
你的程序后的结果就是ANY类型的变量为P#DB540.DBX4.0 BYTE 56