PLC尋址分為直接和間接兩種,前面已經(jīng)介紹了直接尋址使用方法,本文介紹間接尋址如何使用,間接尋址類似于地球上經(jīng)緯度定位方式,地球上任意一個(gè)地方都有一個(gè)與之相對(duì)于的經(jīng)度和緯度值,這樣定位不再分區(qū)域,可以延伸到全球。間接尋址也是如此,PLC中只有一個(gè)存儲(chǔ)數(shù)據(jù)的硬件(硬盤),所謂的I,Q,M,V等區(qū)只是西門子開發(fā)人員定義出來(lái)的邏輯分區(qū),類似電腦C,D,E,F盤,其實(shí)都處在一個(gè)硬盤中,并且都有相對(duì)應(yīng)得一個(gè)編號(hào),如果能找到地址的編號(hào),同樣可以對(duì)其進(jìn)行尋址,并且不再受存儲(chǔ)區(qū)的限制,能夠大批量的訪問(wèn)連續(xù)或有一定規(guī)律的地址,這就是間接尋址。間接尋址分三步:1.建立指針,即獲取需要訪問(wèn)存儲(chǔ)區(qū)起始地址對(duì)應(yīng)編號(hào)。
&為地址符號(hào),是S7-200SMART中特殊的編程寫法,&VB0代表VB0處在整個(gè)存儲(chǔ)區(qū)的地址編號(hào)(指針),可以理解成我們的身份證號(hào)碼,是一個(gè)很大的數(shù)值,必須存儲(chǔ)在32位存儲(chǔ)器中,如VD100,LD0,AC1(AC0不能做指針)等。
2. 間接訪問(wèn)。通過(guò)訪問(wèn)指針指向地址來(lái)進(jìn)行尋址。間接尋址支持字節(jié),字,雙字方式訪問(wèn),如下圖所示:
*為訪問(wèn)指針?lè)?hào),*AC1代表AC1所指向地址的數(shù)值,以字節(jié)訪問(wèn)則代表一個(gè)字節(jié),字訪問(wèn)代表一個(gè)字,雙字訪問(wèn)代表一個(gè)雙字。
3.指針偏移。訪問(wèn)完一個(gè)地址后可以以該地址為起始,通過(guò)加/減方式對(duì)指針進(jìn)行偏移,從而實(shí)現(xiàn)其它地址的訪問(wèn)。通常字節(jié)偏移1,字偏移2,雙字偏移4(位不支持間接尋址)
總結(jié):間接尋址與直接尋址各有千秋,直接尋址直觀簡(jiǎn)單,適合單個(gè)或少量的尋址,不管有沒(méi)有規(guī)律都可以使用,可以滿足大部分尋址要求。間接尋址適合批量且連續(xù)或有一定規(guī)律的地址,當(dāng)尋址量較大時(shí),可以將數(shù)據(jù)設(shè)計(jì)成有規(guī)律,用間接方式尋址可以少寫很多步程序,使編程更加簡(jiǎn)單。