在PLC尋址可以分為直接尋址和間接尋址兩部分,直接尋址是在程序中通過指令直接對地址進行訪問,地址通常是一個常數(shù),如定時器T0,地址為“0”。而間接尋址,地址存儲與地址指針中,地址是一個變量,程序執(zhí)行時才能確定實際的地址,如定時器T[MW0]。若MW0的值等于0,則表示為T0,若MW0的值等于1,則表示T1。
在S7-300中間接尋址可以分為以下幾類:
1、 存儲器間接尋址
1)16位指針尋址
2)32位指針內(nèi)部區(qū)域?qū)ぶ?/p>
2、 寄存器間接尋址
1)32位指針內(nèi)部區(qū)域?qū)ぶ?/p>
2)32位指針交叉區(qū)域?qū)ぶ?/p>
接下來就分別介紹下這幾種間接尋址的指針格式、訪問時地址尋址格式以及每種間接尋址的使用方式。
存儲器間接尋址:
存儲器于存儲器的地址指針分為16位地址指針和32為地址指針,允許存儲地址指針的存儲器為位存儲器(M)、局部變量存儲器(L)和數(shù)據(jù)塊(DB)。
16位指針尋址:
16位地址指針的應(yīng)用主要針對的是定時器(T)、計數(shù)器(C)、程序塊(OB、FB、FC、DB)的編號尋址,該類間接尋址方式在實際應(yīng)用的過程中相對較少。
指針格式為:
該指針為一個16位的存儲空間,根據(jù)該存儲空間的值為多少,則表示對應(yīng)的地址編號為多少。
地址尋址格式表示為:區(qū)域表示符 [16位地址指針],如DB [MW0],若MW0的值等于10,則表示的是DB塊為DB10。
如下程序所示,描述的使用16位寄存器的尋址方式對定時器進行訪問:
L 10
T "MW10" //把數(shù)字10裝在到16位存儲器中做作為指令
A "I0.0" //取起動觸點的常開信號狀態(tài)
L s5t#10s
SD T [ "MW10"] //使用16位存儲器指針作為定時器的編號,定時器的設(shè)定時間為10s.
A T ["MW10"]
= "Q0.0" //取定時器常開觸點狀態(tài)輸出一個輸出信號。
從例子中可以看出,地址指針存儲與MW10中,使用中只需要對MW10中的數(shù)據(jù)進行修改,就可以實現(xiàn)訪問不同編號的定時器。
-
plc
+關(guān)注
關(guān)注
5011文章
13297瀏覽量
463376 -
西門子
+關(guān)注
關(guān)注
94文章
3039瀏覽量
115881 -
間接尋址
+關(guān)注
關(guān)注
0文章
19瀏覽量
8049
發(fā)布評論請先 登錄
相關(guān)推薦
評論