S7-300/400進階筆記5:CPU存儲器的知識彙總及相關概念簡介

前言

S7-300/400 PLC實現各種複雜控制任務的根本是數據處理,為了更好的明白PLC的程序執行原理,我們有必要弄清楚以下幾個問題:

  • CPU是怎樣進行數據存取和處理的?
  • 我們編程及監視程序時,各種數據到底存放在哪裡?

本文旨在深入認識以下S7-300/400PLC的存儲區,總體來說,S7-300共用4類存儲器;S7-400則有3類存儲器,如圖1所示。

S7-300/400進階筆記5:CPU存儲器的知識彙總及相關概念簡介

圖1 S7-300/400存儲器彙總


一、各類存儲器簡介

1、裝載存儲器(Load Memory)

  • 裝載存儲器用於存放不包含符號地址分配和程序註釋的用戶程序。
  • 裝載存儲器可以是存儲器卡、內部集成的RAM或EPROM

2、工作存儲器(Work Memory)

  • 工作存儲器中僅存放與運行相關的程序和數據。
  • 類型為RAM,集成在CPU中。保存在其中的數據需通過電源模塊供電或後備電池來保持;
  • 除了CPU417-4外,每一款CPU的工作存儲器的大小是固定的,不能擴展。如果工作內存對於一個工程應用來說不夠大,則必須選用帶有更大內存的CPU。(CPU417-4可以通過插入專用的存儲器卡來擴展工作存儲器)

3、系統存儲器(System Memory)

系統存儲器用於存放以下數據:

  • 輸入/輸出過程映像區PII、PIQ
  • 位存儲區M
  • 定時器T
  • 計數器C
  • 本地數據堆棧L堆棧
  • 塊堆棧
  • 中斷堆棧

4、保持存儲器(Non-Volatile Memory)

  • 類型為:非易失性的RAM,通過組態可以在PLC掉電後即使沒有安裝後備電池的情況下,保存一部分數據。
  • 可組態到保存存儲器的數據有:位存儲器(M)、定時器(T)、計數器(C)和數據塊(DB),如圖1所示。
  • 僅300系列PLC有保持存儲器。
S7-300/400進階筆記5:CPU存儲器的知識彙總及相關概念簡介

圖2 保持存儲器及數據組態


二、各類存儲器的具體用法

S7-300/400進階筆記5:CPU存儲器的知識彙總及相關概念簡介

圖3 S7-300的存儲器概念

如圖3為S7-300的存儲器及其數據存取方法,具體如下:

1. 當在step7中執行下裝(download)時,首先將PG/PC或電腦中工程項目下的用戶程序下裝到裝載存儲器

,同時,把與運行相關的程序和數據加載到工作存儲器

2. PLC執行工作存儲器中的程序,並根據需要和系統存儲器進行數據交互,如讀位存儲區的數據、寫數據到輸出過程映像區等;

3. 若CPU沒有後備電池,當系統斷電時,除了定義在保持存儲器中的數據外,工作存儲器中的數據及系統存儲器的數據都會丟失;

4. 重新上電後,系統會做兩件事:一是將裝載存儲器中與運行相關的程序和數據重新加載到工作存儲器中;二是將保持存儲器中的數據重新寫入相應的存儲區,保證關鍵的運行數據不丟失。

S7-300/400進階筆記5:CPU存儲器的知識彙總及相關概念簡介

圖4 S7-400的存儲器概念

如圖4位S7-400的存儲器及其數據存取方法,與S7-300不同的是,它沒有保持存儲器,有興趣的小夥伴可以認真分析一下各存儲器的讀寫過程。


分享到:


相關文章: