黑龍江西門子S7-1200PLC代理經(jīng)銷優(yōu)勢(shì)價(jià)格

西門子S7-200 PLC的尋址方式
指令中如何提供操作數(shù)或操作數(shù)地址,處理器根據(jù)指令中給出的地址信息來(lái)尋找物理地址的方式稱為尋址方式。S7-200 PLC的尋址方式有立即尋址、直接尋址、間接尋址。
1.立即尋址
指令直接給出操作數(shù),操作數(shù)緊跟著操作碼,在取出指令的同時(shí)也就取出了操作數(shù),立即有操作數(shù)可用,這種方式稱為立即操作數(shù)尋址或立即尋址。立即尋址方式可用來(lái)提供常數(shù)、設(shè)置初始值等,常數(shù)值可分為字節(jié)、字、雙字型等數(shù)據(jù)。CPU以二進(jìn)制方式存儲(chǔ)所有常數(shù),指令中可用十進(jìn)制、十六進(jìn)制、ASCII碼或浮點(diǎn)數(shù)形式來(lái)表示,其書寫格式見表2-28。
2.直接尋址
指令直接給出操作數(shù)的地址的尋址方式稱為直接尋址。直接在指令中使用存儲(chǔ)器或寄存器的元件名稱和地址編號(hào),根據(jù)這個(gè)地址可以立即找到該數(shù)據(jù)。必須注意的是,操作數(shù)的地址應(yīng)符合規(guī)定的格式,指令中數(shù)據(jù)類型應(yīng)與指令標(biāo)識(shí)符相匹配。
不同數(shù)據(jù)長(zhǎng)度的尋址指令舉例如下。
位尋址:AQ5.5
字節(jié)尋址:OB= VB33,LB21
字尋址:MOVW AC0,AQW2
雙字尋址:MOVD AC1,VD200
3.間接尋址
間接尋址方式是指數(shù)據(jù)存放在存儲(chǔ)器或寄存器中,在指令中只出現(xiàn)所需數(shù)據(jù)所在單元的內(nèi)存地址的地址,即指令給出的是存放操作數(shù)地址的存儲(chǔ)單元的地址,此存儲(chǔ)單元地址的地址又稱為地址指針,這種間接尋址方式與計(jì)算機(jī)的間接尋址方式相同。間接尋址在處理內(nèi)存中地址連續(xù)的數(shù)據(jù)時(shí)非常方便,而且可以縮短程序生成的代碼的長(zhǎng)度,使編程更加靈活。S7-200 CPU以變量存儲(chǔ)器(V)、局部存儲(chǔ)器(L)或累加器(AC)中的內(nèi)容值為地址進(jìn)行間接尋址??砷g接尋址的存儲(chǔ)器區(qū)域有:I、Q、V、M、S、T(僅當(dāng)前值)、C(僅當(dāng)前值);不可以對(duì)獨(dú)立的位值或模擬量進(jìn)行間接尋址。

(1)建立指針。間接尋址前,應(yīng)先建立指針,指針為雙字長(zhǎng),指針中存放存儲(chǔ)單元的32位物理地址,以指針中的內(nèi)容值為地址就可以進(jìn)行間接尋址。只能使用變量存儲(chǔ)器(V)、局部存儲(chǔ)器(L)或累加器(AC1、AC2、AC3)作為指針,ACO不能用作間接尋址的指針。建立指針時(shí),將存儲(chǔ)器的某個(gè)地址移人另一存儲(chǔ)器或累加器中作為指針;建立指針后,就可把從指針處取出的數(shù)值傳送到指令輸出操作數(shù)的位置。例如:執(zhí)行指令MOVD&VB200,AC1把地址“VB200”送入AC1,建立指針。這里的地址“VB200”要用32位表示,它只是一個(gè)直接地址編號(hào),指針中的內(nèi)容為雙字型數(shù)據(jù),因而必須使用雙字傳送指令(MOVD)。指令操作數(shù)“&VB200”中的“&”符號(hào),與單元編號(hào)組合表示所對(duì)應(yīng)存儲(chǔ)器的32位物理地址,而不是存儲(chǔ)器中的內(nèi)容。
(2)用指針間接存取數(shù)據(jù)。將指針中的內(nèi)容值作為地址存取數(shù)據(jù),使用指針可存取字節(jié)、字、雙字型的數(shù)據(jù),執(zhí)行指令MOVW*AC1,AC0將指針中的內(nèi)容值(VB200)作為地址,由于指令MOVW的標(biāo)識(shí)符是“W”,因而指令操作數(shù)的數(shù)據(jù)長(zhǎng)度應(yīng)是字型,把地址VB200、VB201處兩個(gè)字節(jié)的內(nèi)容(1234)傳送到AC0。指針處的值(即1234)為字型數(shù)據(jù),如圖2-53所示,操作數(shù)(AC1)前面的“*”號(hào)表示該操作數(shù)(AC1)為指針。

圖2-53 使用指針間接尋址
(3)修改指針。處理連續(xù)存儲(chǔ)數(shù)據(jù)時(shí),可以通過(guò)修改指針很容易地存取其他相臨的數(shù)據(jù),簡(jiǎn)單的數(shù)學(xué)運(yùn)算指令,如加法、減法、自增和自減等指令可以用來(lái)修改指針。在S7-200 PLC中,指針中的內(nèi)容為雙字型數(shù)據(jù),應(yīng)使用雙字指令來(lái)修改指針值。如圖2-54所示,用兩次自增指令INCD AC1將AC1指針中的值(VB200)修改為VB202后,指針即指向新地址VB202。執(zhí)行指令MOVW *AC1,AC0就可在變量存儲(chǔ)器(V)中連續(xù)地存取數(shù)據(jù),將VB202、VB203處兩個(gè)字節(jié)的數(shù)據(jù)(5678)傳送到AC0。

圖2-54 存取字?jǐn)?shù)據(jù)值時(shí)指針的修改
修改指針值時(shí),應(yīng)根據(jù)存取的數(shù)據(jù)長(zhǎng)度來(lái)進(jìn)行調(diào)整。若對(duì)字節(jié)進(jìn)行存取,則指針值加1(或減1);若對(duì)字(或?qū)Χ〞r(shí)器、計(jì)數(shù)器的當(dāng)前值)進(jìn)行存取,則指針值加2(或減2);若對(duì)雙字進(jìn)行存取,則指針值加4(或減4)。圖2-54中存取的數(shù)據(jù)長(zhǎng)度是字型數(shù)據(jù),因而指針值加2。
高速計(jì)數(shù)器用來(lái)累計(jì)高速脈沖信號(hào),當(dāng)高速脈沖信號(hào)的頻率比CPU掃描速率快時(shí),必須要用高速計(jì)數(shù)器計(jì)數(shù)。高速計(jì)數(shù)器的當(dāng)前值寄存器為32位,讀取高速計(jì)數(shù)器當(dāng)前值應(yīng)以雙字(32位)來(lái)尋址,高速計(jì)數(shù)器的當(dāng)前值為只讀值。

高速計(jì)數(shù)器地址格式為:HC[高速計(jì)數(shù)器號(hào)],如HC1。
CPU 226模塊高速計(jì)數(shù)器的有效地址范圍為:HC(0~5)。
累加器是用來(lái)暫時(shí)存儲(chǔ)計(jì)算中間值的存儲(chǔ)器,也可向子程序傳遞參數(shù)或返回參數(shù)。S7-200 CPU提供了4個(gè)32位累加器(AC0、AC1、AC2、AC3)。
累加器的地址格式為:AC[累加器號(hào)],如AC0。
CPU 226模塊累加器的有效地址范圍為:AC(0~3)。
累加器是可讀寫單元,可以按字節(jié)、字、雙字存取累加器中的數(shù)值,由指令標(biāo)識(shí)符決定存取數(shù)據(jù)的長(zhǎng)度。例如,MOV_B指令存取累加器中的字節(jié),DECW指令存取累加器中的字,INCD指令存取累加器中的雙字。按字節(jié)、字存取時(shí),累加器只存取存儲(chǔ)器中數(shù)據(jù)的低8位、低16位;以雙字存取時(shí),則存取存儲(chǔ)器的32位。
CPU運(yùn)算的相關(guān)結(jié)果存放在模擬量輸出映像寄存器(AQ)中,供D/A轉(zhuǎn)換器將1個(gè)字長(zhǎng)(16位)的數(shù)字量轉(zhuǎn)換為模擬量,以驅(qū)動(dòng)外部模擬量控制的設(shè)備,模擬量輸出映像寄存器(AQ)中的數(shù)字量為只寫值。
模擬量輸出映像寄存器(AQ)的地址格式為:AQW[起始字節(jié)地址],如AQW60。
模擬量輸出映像寄存器(AQ)的地址必須使用偶數(shù)字節(jié)地址來(lái)表示,如AQW0、AQW2、AQW4等。
CPU 226模塊模擬量輸出映像寄存器(AQ)的有效地址范圍為:AQW(0~62)。
模擬量輸入模塊將外部輸入的模擬信號(hào)的模擬量轉(zhuǎn)換成1個(gè)字長(zhǎng)(16位)的數(shù)字量,存放在模擬量輸入映像寄存器(AI)中,供CPU運(yùn)算處理,模擬量輸入(AI)的值為只讀值。
模擬量輸入映像寄存器(AI)的地址格式為:AIW[起始字節(jié)地址],如AIW60。
模擬量輸入映像寄存器(AI)的地址必須使用偶數(shù)字節(jié)地址來(lái)表示,如AIW0、AIW2、AIW4等。
CPU 226模塊模擬量輸入映像寄存器(AI)的有效地址的范圍為:AIW(0~62)。

黑龍江西門子S7-1200PLC代理經(jīng)銷優(yōu)勢(shì)價(jià)格