西门子S7-1200 PLC编程及应用教程(第2版)
上QQ阅读APP看书,第一时间看更新

1.6 S7-1200的存储器及寻址

1.6.1 存储器

S7-1200 PLC提供了以下用于存储用户程序、数据和组态的存储器,S7-1200 PLC的存储区如表1-5所示。

表1-5 S7-1200 PLC的存储区

1.装载存储器

装载存储器用于非易失性地存储用户程序、数据和组态。项目被下载到CPU后,首先存储在装载存储器中。每个CPU都具有内部装载存储器。该内部装载存储器的大小取决于所使用的CPU。该内部装载存储器可以用外部存储卡来替代。如果未插入存储卡,CPU将使用内部装载存储器;如果插入了存储卡,CPU将使用该存储卡作为装载存储器。但是,可使用的外部装载存储器大小不能超过内部装载存储器的大小,即使插入的存储卡有更多空闲空间。该非易失性存储区能够在断电后继续保持。

2.工作存储器

工作存储器是易失性存储器,用于执行用户程序时存储用户项目的某些内容。CPU会将一些项目内容从装载存储器复制到工作存储器中。该易失性存储区将在断电后丢失,而在恢复供电时由CPU恢复。

3.系统存储器

系统存储器是CPU为用户程序提供的存储组件,被划分为若干个地址区域,如表1-6所示。使用指令可以在相应地地址区内对数据直接进行寻址。系统存储器用于存放用户程序的操作数据,例如过程映像输入/输出、位存储器、数据块、临时存储器,物理输入/输出区域等。

表1-6 系统存储器的存储区

(1)过程映像输入

过程映像输入在用户程序中的标识符为I,它是PLC接收外部输入的数字量信号的窗口。输入端可以接常开触点或常闭触点,也可以接多个触点组成的串并联电路。

在每次扫描循环开始时,CPU读取数字量输入模块的外部输入电路的状态,并将它们存入过程映像输入区。

(2)过程映像输出

过程映像输出在用户程序中的标识符为Q,每次循环周期开始时,CPU将过程映像输出的数据传送给输出模块,再由后者驱动外部负载。

用户程序访问PLC的输入和输出地址区时,不是去读、写数字量模块中信号的状态,而是访问CPU的过程映像区。在扫描循环中,用户程序计算输出值,并将它们存入过程映像输出区。在下一循环扫描开始时,将过程映像输出区的内容写到数字量输出模块。

I和Q均可以按位、字节、字和双字来访问,如I0.0、QB1、IW2和QD4。

(3)物理输入

在I/O点的地址或符号地址的后边加“:P”,可以立即访问物理输入或物理输出。通过给输入点的地址附加“:P”,如I0.3:P或Start:P,可以立即读取CPU、信号板和信号模块的数字量输入和模拟量输入。访问时使用I_:P取代I的区别在于前者的数字直接来自被访问的输入点,而不是来自过程映像输入。因为数据从信号源被立即读取,而不是从最后一次被刷新的过程映像输入中复制,这种访问被称为“立即读”访问。

由于物理输入点从直接连接在该点的现场设备接收数据值,因此写物理输入点是被禁止的,即I_:P访问是只读的。

I_:P访问还受到硬件支持的输入长度的限制。以被组态为从I4.0开始的2DI/2DQ信号板的输入点为例,可以访问I4.0:P、I4.1:P或IB4:P,但是不能访问I4.2:P~I4.7:P,因为没有使用这些输入点。也不能访问IW4:P和ID4:P,因为它们超过了信号板使用的字节范围。

用I_:P访问物理输入不会影响存储在过程映像输入区中的对应值。

(4)物理输出

在输出点的地址后面附加“:P”,如Q0.0:P,可以立即写CPU、信号板或信号模块的数字量和模拟量输出。访问时使用Q_:P取代Q的区别在于前者的数字直接写给被访问的物理输出点,同时写给过程映像输出。这种访问被称为“立即写”,因为数据被立即写给目标点,不用等到下一次刷新时将过程映像输出中的数据传送给目标点。

由于物理输入点直接控制与该点连接的现场设备,因此读物理输出点是被禁止的,即Q_:P访问是只写的。与此相反,可以读写Q区的数据。

Q_:P访问还受到硬件支持的输出长度的限制。以被组态为从Q4.0开始的2DI/2DQ信号板的输入点为例,可以访问Q4.0:P、Q4.1:P或QB4:P,但是不能访问Q4.2:P~Q4.7:P,因为没有使用这些输出点。也不能访问QW4:P和QD4:P,因为它们超过了信号板使用的字节范围。

用Q_:P访问物理输出同时影响物理输出点和存储在过程映像输出区中的对应值。

(5)位存储器

位存储器(或称为M存储器)用来存储运算的中间操作状态或其他控制信息。可以用位、字节、字或双字读/写存储器区,如M0.0、MB2、MW10和MD200。

(6)数据块

数据块(Data Block)简称为DB,用来存储代码块使用的各种类型的数据,包括中间操作状态、其他控制信息,以及某些指令(如定时器、计数器)需要的数据结构。可以设置数据块有写保护功能。

数据块关闭后,或有关代码的执行开始或结束后,数据块中存放的数据不会丢失。有两种类型的数据块。

● 全局数据块:存储的数据可以被所有的代码块访问。

● 背景数据块:存储的数据供指定的功能块(FB)使用,其结构取决于FB的界面区的参数。

(7)临时存储器

临时存储器用于存储代码块被处理时使用的临时数据。PLC为起动和程序循环组织块提供16KB的临时存储器;为标准的中断事件和时间错误的中断事件均提供4KB的临时存储器。

临时存储器类似于M存储器,二者的主要区别在于M存储器是全局的,而临时存储器是局部的。