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