西門子S7-300PLC的存儲區可以劃分為四個區域:裝載存儲器(LoadMemory)、工作存儲器(WorkMemory)、系統存儲器(SystemMemory)和保持存儲區(Non-Volatilememory)
1、系統存儲器:
系統存儲器用于存放輸入輸出過程映像區(PII,PIQ)、位存儲器(M)、定時器(T)和計數器(C))、塊堆棧和中斷堆棧以及臨時存儲器(本地數據堆棧)。
2、工作存儲器:
工作存儲器僅包含運行時使用的程序和數據。RAM工作存儲器集成在CPU中,RAM中的內容通過電源模塊供電或后備電池保持。除了S7417-4CPU可以通過插入專用的存儲卡來擴展工作存儲器外,其他PLC的工作存儲器都無法擴展。
3、裝載存儲器:
裝載存儲器是用于存放不包含符號地址分配或注釋(這些保留在編程設備的存儲器中)的用戶程序。裝載存儲器可以是存儲器卡、內部集成的RAM或內部集成的EPROM。
4、保持存儲器:
保持存儲器是非易失性的RAM,通過組態可以在PLC掉電后即使沒有安裝后備電池的情況下,保存一部分位存儲器(M)、定時器(T)、計數器(C)和數據塊(DB)。在設置CPU參數時一定要指定要保持的區域。(注意:由于S7-400PLC沒有非易失性RAM,即使組態了保持區域,再掉電時若沒有后備電池,也將丟失所有數據。這是S7-300PLC與S7-400PLC的重要區別)
1)當在step7中執行下載時,會把編程設備中的用戶程序下載到CPU的裝載存儲區,同時會把運行時使用的程序和數據寫入工作存儲區(如OB1和數據塊)。
2)若CPU沒有后備電池,當系統斷電時,在工作存儲器中定義了保持特性的數據塊會把數據寫入保持存儲器中,上電后保持存儲器會把斷電時的數據寫入到工作存儲區,保證了運行數據斷電不丟失。
3)若CPU沒有后備電池,當系統斷電時,系統存儲區中定義n的保持位存儲器(M)、定時器(T)和計數器(C))斷電時也會寫入保持存儲器,恢復上電時斷電時的數據重新寫入,保證了運行數據斷電不丟失。