指针的间接寻址

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寻址
http://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

提问者对于答案的评价:
解释的很到位。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236066.html

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

相关推荐