西門子間接尋址的問題
首先:
1,請詳細解釋一下下面這段每一句語言。
2,L P#=1.0 #RBtNo_A=2;#ZoneNo=1;DB_No=350.
我試著理解一下你們看哪里不對。接口(#RBtNo_A-1=1)*84此時寄存器中的值等于84,84(10進制)=01010100(2進制)后左移3位,變成00001010 100后整數位1010=10,小數位100=4.所以84左移3位后是10.4,對嗎?
10.4加上#ZoneNo=1,所以LAR1中的數據是的11.4,對嗎?
3.DBX[AR1,P#27.7]中是AR1中的數據加上27.7是最后的DBX的地址嗎?
圖片說明:
《S7-200 SMART 間接尋址》
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/070.ht
理解有誤。
下次貼代碼,不要貼成圖,這樣解釋時大家就不用輸代碼了
L #RBtNo_A //裝入整數 RBtNo_A,就如你說的 2
L 1
-I // RBtNo_A-1 =1
L 84
*D //84*1=84
SLD 3 //84左移3位,是為了形成一個32位的指針 P#84.0
L #ZoneNo //這個值你沒有說清楚,如果取值確如你圖中的 1
+D //相加后則是 P#84.1
LAR1 //此時 AR1中是 P#84.1
OPN DB[#DB_No] //打開數據塊 DB350
A DBX[AR1,P#27.7] // P#84.1+P#27.7=P#112.0,此時尋址的是 DB350.DBX112.0
= #Req."01" //相當于 DB350.DBX112.0 驅動 #Req."01 的線圈。
后面就不多說了。
S7-300和S7-400尋址
https://support.industry.siemens.com/cs/document/79632832