西門子plc間接尋址方法,本文提到的主要是西門子s7-300plc.
1.區(qū)域內(nèi)間接尋址
指針的最高位(第31位)x為0時(shí)為區(qū)域內(nèi)的間接尋址,此時(shí)區(qū)域標(biāo)示號(hào)rrr也為0,地址指針的格式與存儲(chǔ)器間接尋址的相同。下面是區(qū)域內(nèi)間接尋址的例子:
l p#5.0 //將間接尋址的指針裝入累加器1
lar1 //將累加器1的內(nèi)容送ar1
a m[ar1, p#2.3] //ar1中的p#5.0加偏移量p#2.3,對(duì)m7.3進(jìn)行操作
= q[ar1, p#0.2] //邏輯運(yùn)算的結(jié)果送q5.2,p#5.0+p#0.2=p#5.2
l mw[ar1, p#19.0] //將mw24裝入累加器1
方括號(hào)內(nèi)為操作數(shù)的地址,它等于ar1中的地址值p#5.0加上逗號(hào)后面的地址偏移量,例如第3條指令中操作數(shù)的地址為p#5.0+p#2.3=p#7.3,即操作數(shù)為m7.3。
2.區(qū)域之間的間接尋址
指針的最高位(第31位)x = 1時(shí)為區(qū)域間的間接尋址,下面是區(qū)域間的間接尋址的例子:
l p#m 6.0 //將m6.0的雙字地址裝入累加器1
lar1 //將累加器1的內(nèi)容送到ar1
l w [ar1,p#20.0] //將mw26的內(nèi)容傳送到累加器1
p#m6.0對(duì)應(yīng)的二進(jìn)制數(shù)為2#1000 0011 0000 0000 0000 0000 0011 0000。因?yàn)榈刂分羔榩#m6.0已經(jīng)包含有區(qū)域信息(rrr=2#011表示m區(qū)),第3條指令“l(fā) w[ar1, p#50.0]”沒有必要再使用地址標(biāo)識(shí)符m。
用地址指針讀寫字、字節(jié)或雙字時(shí),指針中小數(shù)點(diǎn)右邊的位編號(hào)必須為0,否則將會(huì)出錯(cuò)。