理解西門子PLC間接尋址和指針


學習PLC,我們必須熟悉PLC各存儲器的符號、地址,我們日常所說的西門子PLC地址,都是直接尋址,如I2.2,MB20、VW34等,表面說它是各存儲器的地址,實際表示是它的數據,如VW34是50,VW34可直接參加運算,VW34+20=VW34,這時VW34的數據就變成了70。

PLC應用時,我們所說的各地址,實際目的是說它的數據是多少或什么狀態。

而間接尋址,是各存儲器背后的實際地址,是一開始設計好的,就像人的姓名與身份證號一樣,用姓名和身份證號都可找到同一個人。用實際的地址指向VW34,就可以取出它的數據70,這就是間接尋址。

200SmartPLC 規定是存儲器符號前加“&”符號,來取得它的地址,如&MB10,以“雙字”的格式來取它的地址。如下圖

輕松理解西門子PLC間接尋址和指針

取MB10實際地址到VD504,這時VD504就是地址指針

這樣,就把MB10的實際地址以雙字格式,存入了VD504,這時VD504內就代表了MB10的實際地址,同時VD504就代表了M區的地址指針。也就是說把VD504定義成了M區的一個地址指針.。

怎樣取出這個地址所指的MB10內的數據呢,PLC規定,是把VD504前加“*”號,來取出它的數據,這時“*VD504“就表示是MB10,

因此*VD504就是MB10,*VD504=MB10。

通過以下實測來說明:

輕松理解西門子PLC間接尋址和指針

 

輕松理解西門子PLC間接尋址和指針

 

可以看出:&IB10=VD500=16#0000000A

&MB10=VD504=16#0200000A

&VB10=VD508=16#0800000A

以上是它們的實際地址,A---就是十進制10,,

我們要注意:【VD504+10】,與【*VD504+10】含義是不一樣,前者是地址加10,表示這時的指針地址指向了MB20,而后者是表示MB內的數據再加10.

如狀態表:

輕松理解西門子PLC間接尋址和指針

表中表示VB的 各初始值

輕松理解西門子PLC間接尋址和指針

VB10地址到VD508,

如上圖VB10=1,V區指針定義成了VD508,這時的VD508 就是VB10的地址,

把它的值取出來*VD508與VB10比較,如下圖可看出*vd508=VB10=1

輕松理解西門子PLC間接尋址和指針

 

如果執行以下程序2次,VD508+1+1=VD508,這時地址是16#0800000C,指針從VB10就指向了VB12,它的數據*VD508=VB12=3.如下圖

輕松理解西門子PLC間接尋址和指針

 

通過以上實驗,如果大批取數據或改變數據,我們就通過指針變址的方法,多次或循環執行以下程序,就可達到所要的目的。

輕松理解西門子PLC間接尋址和指針

 

下次試驗說明FOR指令與指針的用法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM