看完這篇文章搞懂S7-300/400PLC的寄存器和累加器
有讀者反饋說(shuō)搞不清楚西門子S7-300/400PLC的寄存器和累加器有什么區(qū)別?今天這篇文章我們就來(lái)談?wù)勥@個(gè)話題。

首先,我們說(shuō)的寄存器和累加器,都是屬于S7-300/400的CPU模塊內(nèi)部的組成部分。
寄存器,英文名稱:Register,是CPU的高速存儲(chǔ)單元,用來(lái)暫時(shí)存儲(chǔ)CPU運(yùn)算時(shí)所需要的指令、數(shù)據(jù)、地址等信息。CPU中有各種各樣的寄存器,比如狀態(tài)字寄存器,地址寄存器,數(shù)據(jù)塊寄存器等等,而今天的主角:累加器,其實(shí)也是寄存器的一種。
累加器,英文名稱:Accumulator,簡(jiǎn)寫:ACCU,是用于處理字節(jié)、字或雙字的寄存器,其長(zhǎng)度為32位(4個(gè)字節(jié))。在S7-300中有兩個(gè)累加器,ACCU1和ACCU2;在S7-400中有四個(gè)累加器,ACCU1~ACCU4;絕大多數(shù)的語(yǔ)句表指令的執(zhí)行都需要累加器的參與,將操作數(shù)放入到累加器,進(jìn)行運(yùn)算(保存中間結(jié)果),然后再將運(yùn)算結(jié)果從累加器傳送到某個(gè)存儲(chǔ)區(qū)。
說(shuō)到這里,不得不說(shuō)兩個(gè)指令:裝載(L)和傳送(T);
裝載(L)指令用來(lái)將一個(gè)字節(jié),字或者雙字裝載到累加器1(ACCU1)中,而累加器1(ACCU1)中原來(lái)的數(shù)據(jù),將保存到累加器2(ACCU2)中。如果使用兩次裝載指令,則累加器2(ACCU2)中將存儲(chǔ)第一次的操作數(shù),比如下面這兩條指令:

執(zhí)行完第一條后,ACCU1的值為MW100的值;執(zhí)行完第二條后,ACCU1的值為MW102的值,ACCU2的值為MW100的值;
傳送(T)指令用來(lái)將累加器1(ACCU1)中的值保存到相應(yīng)的存儲(chǔ)區(qū),比如下面的指令:

裝載(L)指令將MW100的值裝載到累加器1中(ACCU1)中,然后傳送指令(T)將累加器1(ACCU1)中的值保存到MW104中,從而實(shí)現(xiàn)了MW100值的復(fù)制功能。
本章小結(jié):寄存器是CPU的高速存儲(chǔ)單元,用來(lái)暫時(shí)存儲(chǔ)CPU運(yùn)算時(shí)所需要的指令、數(shù)據(jù)、地址等信息,CPU中有各種各樣的寄存器;累加器是寄存器的一種,其主要功能是用來(lái)對(duì)操作數(shù)進(jìn)行運(yùn)算(保存中間結(jié)果)并處理運(yùn)算的結(jié)果。
相關(guān)參考文章:
S7-1200硬件篇之讀懂CPU的內(nèi)部存儲(chǔ)區(qū)
官網(wǎng)提供本文PDF版本下載:
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計(jì)算焓和比熱容 2020-08-31
-
CAD外部參照無(wú)法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
