深度理解S7-200 Smart的數(shù)據(jù)存儲區(qū)(Data Storage)
PLC編程需要使用各種各樣的數(shù)據(jù),不同的數(shù)據(jù)存放在CPU不同的存儲區(qū)中。熟悉CPU的存儲區(qū)是編程的前提,今天這篇文章,我們來認識下西門子S7-200 Smart的存儲區(qū)。

S7-200 Smart的存儲區(qū)可以分為兩大類:(一)是跟外部物理信號相關(guān)的輸入/輸出映像區(qū)/存儲區(qū);(二)是CPU內(nèi)部的存儲區(qū);
(一)輸入/輸出映像區(qū)/存儲區(qū)包括:
-
數(shù)字量輸入映像區(qū)(DI,process-image input);
-
數(shù)字量輸出映像區(qū)(DO,process-image output);
-
模擬量輸入存儲區(qū)(AI);
-
模擬量輸出存儲區(qū)(AO);
(二)內(nèi)部存儲區(qū)的類別比較多,包括:
-
變量存儲區(qū)(V,Variable memory);
-
標志存儲區(qū)(M,F(xiàn)lag memory);
-
定時器(T,Timer);
-
計數(shù)器(C,Counter);
-
高速計數(shù)器(HC,high speed counter);
-
累加器(Accumulator);
-
特殊存儲器(SM,special memory);
-
局部存儲區(qū)(L,Local memory);
-
順序控制繼電器存儲區(qū)(Sequence Control Relay)。
CPU在每個掃描周期的初期將物理外設(shè)的數(shù)字量輸入信號掃描到數(shù)字量輸入映像區(qū)(DI)中,程序在運行過程中的數(shù)字量輸出值暫存在數(shù)字量輸出映像區(qū)(DO)中,并在掃描周期的末期將數(shù)字量輸出映像區(qū)的值刷新到物理輸出模塊。數(shù)字量輸入/輸出映像區(qū)是可讀且可寫的,在程序中對某些數(shù)字量輸入位進行寫操作,便可以模擬外部的數(shù)字量輸入信號。
CPU對模擬量的處理有所不同,模擬量的值存放在模擬量輸入/輸出存儲區(qū)中。注意,模擬量的存放區(qū)被稱為“存儲區(qū)”而不是“映像區(qū)”或者“緩存區(qū)”。對于程序中使用的模擬量,是直接從存儲區(qū)進行讀取或?qū)懭氲?。模擬輸入(AI)存儲區(qū)是只讀的(Read Only),模擬量輸出(AO)存儲區(qū)是只寫的(Write Only);(參考:深度理解PLC的工作原理(How PLC works))
變量存儲區(qū)(V)用來存放程序在運行過程中的中間變量或者需要的配方數(shù)據(jù);標志存儲區(qū)(M)用來存放邏輯運算的中間結(jié)果(標志,flag);其實,在編程時,變量存儲區(qū)和標志存儲區(qū)沒有明顯的界限,你也可以用變量存儲區(qū)來存放邏輯運算的中間結(jié)果。兩者都可以位、字節(jié)、字或者雙字的方式進行訪問,其區(qū)別在于變量存儲區(qū)(V)比標志存儲區(qū)(M)要大很多。比如,在CPU ST40中,變量存儲區(qū)的范圍為VB0到VB16383;而標志存儲區(qū)的范圍為MB0到MB31。程序運行過程中需要的配方數(shù)據(jù),需要在數(shù)據(jù)塊(Data Block)編輯器中設(shè)置并存放在變量存儲器(V)中。
定時器(Timer)用來計時。S7-200 Smart定時器的時間基準有1ms,10ms和100ms三種。定時器有兩種變量:當前值(Current value)和定時器位(Timer bit)。當前值是一個16位的無符號整數(shù),用來記錄當前的時間;定時器位是一個位(bit),用來記錄定時器是否已經(jīng)被觸發(fā)(當前值大于設(shè)定值)。以定時器的地址(T+number)既可以訪問當前值,也可以訪問定時器位,取決于訪問指令的類型。位操作指令訪問的是定時器的位,字操作指令訪問的是定時器的當前值。例如下面這張圖:
第一段程序是讀取定時器T3的當前值,并將其存放到VW10,屬于字操作;
第二段程序是讀取定時器T3的位,并將其輸出到Q0.0,屬于位操作;

計數(shù)器(Counter)用來進行計數(shù)。S7-200 Smart提供三種計數(shù)器:向上計數(shù)器、向下計數(shù)器和上下計數(shù)器。與定時器類似,計數(shù)器也有一個當前值(16位無符號整數(shù))和一個計數(shù)器位(bit),其地址是以字母C加上編號(比如C10)。使用字操作指令可以訪問計數(shù)器的當前值,使用位操作指令可以訪問計數(shù)器的位。
高速計數(shù)器(High Speed Counter)與普通的計數(shù)器不同,它不受CPU掃描周期的限制,可以用來對高速信號(比如脈沖)進行計數(shù)。高速計數(shù)器的值是一個32位的有符號整數(shù),其性質(zhì)為只讀(Read Only),可以通過高速計數(shù)器的地址(HC+number)進行訪問。
累加器(Accumulator)的訪問速度快,可以用來傳遞參數(shù)或存放指令運算的中間結(jié)果。S7-200 Smart提供4個32位的累加器(AC0,AC1,AC2和AC3),累加器可以字節(jié)、字或者雙字的方式進行訪問。
特殊存儲器(SM)存放著與系統(tǒng)運行有關(guān)的特殊變量,PLC的操作系統(tǒng)會將系統(tǒng)狀態(tài)等信息寫入到特殊存儲器中,用戶程序通過訪問特定的特殊存儲器,就可以獲取一些系統(tǒng)級的信息。比如,SM0.0始終為1,SM0.5會產(chǎn)生1s的時鐘脈沖等。S7-200 smart有非常多的特殊存儲器變量,將在以后陸續(xù)介紹??梢韵瓤纯催@篇文章:談?wù)凷7-200 Smart系列PLC的特殊存儲器(SMB0/SMB1)
局部存儲區(qū)(L)用來保存程序塊的運行信息。如果某個程序塊因為中斷或者調(diào)用其它塊的原因而被掛起時,其相關(guān)的運行信息會被存放到局部存儲區(qū)中,以便程序返回時可以從斷點處繼續(xù)執(zhí)行。S7-200 smart為每一個程序組織單元(POU,program organizational unit)分配了64個字節(jié)的局部存儲區(qū)。
順序控制繼電器存儲區(qū)(S)與順序控制繼電器相關(guān),在編寫順序控制流程圖中使用。它可以位、字節(jié)、字和雙字的方式進行訪問,其地址符號為S,比如S3.1,SB6等。
好了,關(guān)于S7-200 Smart的數(shù)據(jù)存儲區(qū)就先介紹到這里
-
Origin(Pro):學習版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
OriginPro:學習版申請及過期激活方法【數(shù)據(jù)繪圖】 2020-08-06
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復制到另一張圖中? 2020-07-03
