西門子s7-300/400 plc的存儲器結構可以分為基本存儲區(qū)域與程序處理區(qū)兩大部分。
(1)基本存儲區(qū)域
s7-300/400 plc的基本存儲區(qū)域又可以分為裝載存儲區(qū)、系統(tǒng)存儲區(qū)、工作存儲區(qū)3部分,具體如下。
①裝載存儲區(qū)(load memory):相當于s7-200的程序存儲區(qū),用于plc用戶程序邏輯塊、數(shù)據(jù)塊的存儲。
②系統(tǒng)存儲區(qū)(system memory):相當于s7-200的數(shù)據(jù)存儲區(qū),用于存儲plc運算、處理的中間結果。如:輸入/輸出映像,標志、變量的狀態(tài)存儲,計數(shù)器、定時器的中間值,模擬量輸入/輸出狀態(tài)等,使用plc內部ram。
③工作存儲區(qū)(work memory):用于存儲當前處理的可執(zhí)行程序塊、程序塊所生成的局部變量l等。3個存儲器區(qū)域的作用以及相互間的關系如圖所示。
(2)程序處理區(qū)域
s7-300/400 plc的程序處理區(qū)域又可以分為累加器、地址寄存器、數(shù)據(jù)塊地址寄存器、狀態(tài)寄存器4部分,具體如下。
①累加器:s7-300/400共有2個32位累加器accu1、accu2,用來進行讀入,傳送、運算、移位等操作。
②地址寄存器:s7-300/400共有2個32位地址寄存器ar1、ar2,用于存放寄存器間接尋址時的地址指針。
③數(shù)據(jù)塊地址寄存器:s7-300/400共有2個32位數(shù)據(jù)塊地址寄存器db、di,用于存放程序中被打開的數(shù)據(jù)塊地址。程序執(zhí)行過程中允許同時被打開的數(shù)據(jù)塊最大為2個,其中一個為共享數(shù)據(jù)塊(db),在程序中可以任意使用;另一個為瞬時數(shù)據(jù)塊(di),它是與功能塊fb配套使用的數(shù)據(jù)塊,在調用fb時同時打開。
圖:s7-300/400存儲器區(qū)域的作用及相互關系
④狀態(tài)寄存器:s7-300/400共有1個16位狀態(tài)寄存器stw,狀態(tài)寄存器用于存放程序的處理結果,如:邏輯運算結果rlo、溢出標志ov、溢出記憶os、條件碼cco與cc1、二進制值br等,以顯示指令的執(zhí)行結果。