西門子S7-300間接尋址方法
西門子S7-300PLC間接尋址方法
1.區域內間接尋址
指針的*高位(第31位)x為0時為區域內的間接尋址,此時區域標示號rrr也為0,地址指針的格式與存儲器間接尋址的相同。下面是區域內間接尋址的例子:
L P#5.0 //將間接尋址的指針裝入累加器1
LAR1 //將累加器1的內容送AR1
A M[AR1, P#2.3] //AR1中的P#5.0加偏移量P#2.3,對M7.3進行操作
= Q[AR1, P#0.2] //邏輯運算的結果送Q5.2,P#5.0+P#0.2=P#5.2
L MW[AR1, P#19.0] //將MW24裝入累加器1
方括號內為操作數的地址,它等于AR1中的地址值P#5.0加上逗號后面的地址偏移量,例如第3條指令中操作數的地址為P#5.0+P#2.3=P#7.3,即操作數為M7.3。
2.區域之間的間接尋址
指針的*高位(第31位)x = 1時為區域間的間接尋址,下面是區域間的間接尋址的例子:
L P#M 6.0 //將M6.0的雙字地址裝入累加器1
LAR1 //將累加器1的內容送到AR1
L W [AR1,P#20.0] //將MW26的內容傳送到累加器1
P#M6.0對應的二進制數為2#1000 0011 0000 0000 0000 0000 0011 0000。因為地址指針P#M6.0已經包含有區域信息(rrr=2#011表示M區),第3條指令“L W[AR1, P#50.0]”沒有必要再使用地址標識符M。
用地址指針讀寫字、字節或雙字時,指針中小數點右邊的位編號必須為0,否則將會出錯。