一、系统存储区
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不断地调用这些子程序或者被中断程序中断,
分块程序虽然结构复杂一些,但是可以把一个复杂的过程分解成多个简单的过程。对于具体的程序块容易编写,容易调试。从总体上看,分块程序的优势是十分明显的。