重慶西門子V90伺服驅(qū)動(dòng)器代理商

西門子S7-300/400 PLC的寄存器間接尋址方式
地址寄存器AR1和AR2,它們中的內(nèi)容加上偏移量形成地址指針,指向數(shù)值所在的存儲(chǔ)單元。寄存器間接尋址中雙字指針格式如圖4-9所示。

圖4-9 寄存器間接尋址的雙字指針格式
其中第0~2位(xxx)為被尋址地址中位的編號(hào)(0~7),第3~18位為被尋址地址的字節(jié)的編號(hào)(0~65535),第24~26位(rrr)為被尋址地址的區(qū)域標(biāo)識(shí)號(hào),第31位x=0為區(qū)域內(nèi)的間接尋址,第31位x=1為區(qū)域間的間接尋址。
STEP 7中有兩種格式的寄存器間接尋址方式,分別是區(qū)域內(nèi)的間接尋址和區(qū)域間的間接尋址。當(dāng)31位為0時(shí),為區(qū)域內(nèi)的間接尋址;當(dāng)31位為1時(shí),為區(qū)域間的間接尋址。
*種地址指針格式存儲(chǔ)區(qū)的類型在指令中給出,例如LDBB[AR1,P#6.0]。在某一存儲(chǔ)區(qū)內(nèi)尋址。第24~26位(rrr)應(yīng)為0。
第二種地址指針格式的第24~26位還包含存儲(chǔ)區(qū)域標(biāo)識(shí)符rrr,區(qū)域間寄存器間接尋址。
如果要用寄存器指針訪問一個(gè)字節(jié)、字或雙字,必須保證指針中的位地址編號(hào)為0。
指針常數(shù)#P5.0對(duì)應(yīng)的二進(jìn)制數(shù)為2#0000 0000 0000 0000 0000 0000 0010 1000。
下面是區(qū)內(nèi)間接尋址的例子:
下面是區(qū)域間間接尋址的例子:
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ū)域信息,使用間接尋址的指令T W[AR1,P#50]中沒有必要再用地址標(biāo)識(shí)符M。
在存儲(chǔ)器間接尋址指令中,給出一個(gè)地址指針的存儲(chǔ)器,該存儲(chǔ)器的內(nèi)容是操作數(shù)所在存儲(chǔ)單元的地址。在循環(huán)程序中經(jīng)常用到存儲(chǔ)器間接尋址。
地址指針可以是字或雙字,定時(shí)器(T)、計(jì)數(shù)器(C)、數(shù)據(jù)塊(DB)、功能塊(FB)和功能(FC)的編號(hào)范圍小于65535,使用字指針就可以。其他地址則要使用雙字指針,如果要用雙字格式的指針訪問一個(gè)字、字節(jié)或雙字存儲(chǔ)器,必須保證指針的位編號(hào)為0,例如P#Q20.0。
存儲(chǔ)器間接尋址的雙字指針格式如圖4-8所示,其中0~2位為被尋址地址中的位編號(hào),3~18位為尋址字節(jié)編號(hào)。只有M、L、DB、PI存儲(chǔ)區(qū)域的雙字節(jié)才能做地址指針。
圖4-8 存儲(chǔ)器間接尋址的雙字指針格式
存儲(chǔ)器間接尋址應(yīng)用如下:
L QB[DBD 10]//將輸出字節(jié)裝入累加器1,輸出字節(jié)的地址指針在數(shù)據(jù)雙字DBD10中,如果DBD10的值為2#0000 0000 0000 0000 0000 0000 0010 0000,裝入的是QB4
A M[LD 4]//對(duì)存儲(chǔ)器位作“與”運(yùn)算,地址指針在數(shù)據(jù)雙字LD4中,如果LD4的值為2# 0000 0000 0000 0000 0000 0000 0010 0011,則是對(duì)M4.3進(jìn)行操作。
為變量符號(hào)名可以簡化程序的編寫和調(diào)試,增加程序的可讀性。STEP 7可以自動(dòng)將符號(hào)地址轉(zhuǎn)化成所需的地址。訪問ARRAY、STRUCT、數(shù)據(jù)塊、本地?cái)?shù)據(jù)、邏輯塊以及用戶數(shù)據(jù)類型( UDT)時(shí),優(yōu)先選用符號(hào)尋址。使用符號(hào)尋址前,必須先將符號(hào)分配給地址,才能以符號(hào)的形式應(yīng)用他們。
STEP 7中的符號(hào)分為全局符號(hào)和局域符號(hào)。全局符號(hào)是在整個(gè)STEP 7中可以使用的符號(hào),而局域符號(hào)是在某個(gè)塊中可以使用的符號(hào)。
【例4-2】將如圖4-3所示的尋址的起??刂铺菪螆D,換成符號(hào)尋址梯形圖。
圖4-3 尋址的梯形圖
【解】
打開STEP 7的項(xiàng)目管理器,先選中“S7程序(1)”,再雙擊“符號(hào)”,如圖4-4所示,彈出符號(hào)編輯器界面,輸入如圖4-5所示的信息,后單擊工具欄的“保存”按鈕
,將輸入的符號(hào)分配給相應(yīng)的地址,例如“起動(dòng)”分配給地址“I124.0”。
圖4-5 符號(hào)編輯器界面
圖4-6 符號(hào)尋址的梯形圖
如圖4-7所示,功能塊的IN(輸入引腳)上的“Sw_On”和“Sw_Off”數(shù)據(jù)類型為Bool,是局域變量,其有效范圍僅在FB1功能塊中。
圖4-7 局域變量
重慶西門子V90伺服驅(qū)動(dòng)器代理商