指針的間接尋址
劉玉蓉
發(fā)布于2014-12-11 17:12
275
0
標(biāo)簽:
TAR1 #save_ar1 (臨時(shí)變量)
TAR2 #save_ar2 (臨時(shí)變量)
L #Params_DB (輸入變量:整數(shù)540)
T #MOB_DB_Nummer (臨時(shí)變量)
LAR1 P##Quellfeld(#Quellfeld為Any型臨時(shí)變量)
L DW#16#10020038
T LD [AR1,P#0.0]
L #MOB_DB_Nummer
T LW [AR1,P#4.0]
L #Params_ADDR(輸入變量:整數(shù)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個(gè)字節(jié),第0個(gè)字節(jié)為10H,是固定用法。第1個(gè)字節(jié)是數(shù)據(jù)類型,你的02H表示的是字節(jié)類型。第2、3字節(jié)表示數(shù)據(jù)長度,你的0038H表示長度為56。第4、5字節(jié)表示DB塊號,0表示不是DB塊,是DB塊的話就有數(shù)值,你的相當(dāng)于是DB540。
你的程序后的結(jié)果就是ANY類型的變量為P#DB540.DBX4.0 BYTE 56