
一、系統存儲區
S7的系統存儲區集成在CPU中,不能被擴展。系統存儲區根據功能分為不同的區域供用戶使用。在用戶程序中使用相應的指令可以在相應的地址區內直接對數據進行尋址。
1.輸入過程暫存區(I)
2.輸出過程暫存區(Q)
3.位存儲區(M)
4.外部輸入輸出(PI/PQ)
5.計時器(T)
6.計數器(C)
7.數據塊(DB)
8.局部數據(L)
二、**地址尋址
什么是**地址尋址?
1.位尋址
2.字節尋址
3.字尋址
4.雙字尋址
三、符號地址尋址
1. 全局符號
在符號編輯器中定義的符號。
2. 局部符號
局部符號是在程序塊中變量申明區中定義,定義的對象也只限于本塊的塊參數、靜態數據和臨時數據等,且所定義的符號只在本程序塊中有效。
S7-200的程序有三種:主程序、子程序、中斷程序。
主程序只有一個,名稱為OB1。
子程序可以達到64個,名稱分別為SBR0~SBR63。子程序可以由子程序或中斷程序調用。
中斷程序可以達到128個,名稱分別為INT0~INT127。中斷方式有輸入中斷、定時中斷、高速計數中斷、通信中斷等中斷事件引發,當CPU響應中斷時,可以執行中斷程序。
由這三種程序可以組成線性程序和分塊程序兩種結構。
一、線性程序結構
_線性程序是指一個工程的全部控制任務都按照工程控制的順序寫在一個程序中,比如寫在OB1中。程序執行過程中,CPU不斷地掃描OB1,按照事先準備好的順序去執行工作,如圖:
顯然,線性程序結構簡單,一目了然。但是,當控制工程大到一定程序之后,僅僅采用線性程序就會使整個程序變得龐大而難于編制、難于調試了。
二、分塊程序結構
分塊程序是指一個工程的全部控制任務被分成多個小的任務塊,每個任務塊的控制任務根據具體情況分別放到子程序中,或者放到中斷程序中。程序執行過程中,CPU不斷地調用這些子程序或者被中斷程序中斷,
分塊程序雖然結構復雜一些,但是可以把一個復雜的過程分解成多個簡單的過程。對于具體的程序塊容易編寫,容易調試。從總體上看,分塊程序的優勢是十分明顯的。