• {{item.name}}
自动化系统 {{item.name}}
{{item2.name}}
更多

存储区

star star star star star
0 分
  • 使用操作
  • 综合介绍
  • 基础理论
  • 产品推广
  • S7-1200 G2
发布时间:2026年01月13日
  • 0
  • 129
本章节介绍 S7-1200 G2 存储区

1.存储区分类和功能

S7-1200 G2 CPU 提供了用于存储用户程序、数据和组态的存储器。存储器的类型和特性,参考表1,各个 S7-1200 G2 的存储区参数见表2。

表1 存储器类型及功能

类型描述
装载
存储器
    •  是非易失性存储器,用于存储用户程序、数据和组态等。
    •  也可以使用外部存储卡作为装载存储器。
工作
存储器
    •  分为代码工作存储区和数据工作存储区。
    •  是易失性存储器,用于存储与程序执行有关的内容。
    •  无法扩展工作存储器。
    •  CPU 将与运行相关的程序内容从装载存储器复制到工作存储器中。
保持性存储器     •  是非易失性存储器。
    •  如果发生断电或停机时,CPU 使用保持性存储器存储所定义的保持性数据,在启动运行时恢复这些保持性数据。

表2. S7-1200 G2 存储区参数

CPU 类型装载存储区代码工作存储区数据工作存储区保持性存储区
1212 C集成8 MB
可选卡
150 KB500 KB20 KB
1214 C250 KB750 KB
1216300 KB1.5 MB50 KB
1217600 KB2.5 MB

2.程序信息查询存储区使用情况

可以在 TIA Portal 软件“程序信息”->“资源”窗口查看目前用户程序需要使用的存储区大小。在项目树中展开 PLC 程序,打开“程序信息”,如图1所示。

图1. 程序信息

在“资源”选项卡中显示了 CPU 硬件资源的使用信息,如图2所示。这些信息包括如下内容:

  • CPU 中所用的编程对象(如 OB、FC、FB、DB、运动工艺对象、数据类型和PLC变量)
  • CPU 中所用的存储器(装载存储器、工作存储器、保持性存储器),存储器的最大存储空间以及编程对象使用的情况。装载存储器总计大小根据使用的 CPU 或者 SIMATIC 存储卡的容量选择。
  • CPU 组态和程序中使用的模块通道数(数字量输入模块、数字量输出模块、模拟量输入模块和模拟量输出模块)。PROFINET IO 智能设备作为通信的 I、Q 区也会统计。

A screenshot of a computer

Description automatically generated

图2. 程序资源

注意:

由于装载存储器显示仅统计用户程序空间,对于硬件组态、连接组态等数据占用的空间并未统计,因此不能仅凭装载存储器栏显示的数值来选择 SIMATIC 存储卡。

3.在线和诊断查看实际使用情况

S7-1200 G2 项目在线时在“在线和诊断”窗口,选择“诊断->存储器”,可查看“装载存储器”、“编码工作存储器”、 “数据工作存储器”以及“保持存储器”的使用情况,如图3所示。

日程表

AI 生成的内容可能不正确。

图3. 存储器使用大小

4. 数据的保持

需要被断电保持的数据必须被保持到保持性寄存器中。保持性寄存器中不需要超级电容供电维持,其中的数据可以永久保持。总共可以有20K (1212C 和 1214 C) / 50K (1216 和 1217) 的数据具有保持特性。CPU 暖启动或者断电再上电后,保持性存储区中的数据会保持为暖启动或者断电之前的数值,保持性存储区之外的数据会丢失,即恢复初始值。

CPU 的 M 存储区、FB 的背景数据块和全局数据块中的数据可以使用保持性存储区存储。

(1)M 区保持性设置

用户可以在“ PLC  变量” 标签页中,对保持性进行设置,如图4所示。

image.png

图4. M 区保持性设置

“保持”按钮来打开 M 存储区的保持范围

从 MB0 开始的连续字节数,例如设置 8,则保持范围为 MB0-MB7 共 8 个字节,无法设置多个保持区

③ MD6 地址范围 MB6~MB9,其中 MB6 和 MB7 在设置的数据保持范围内,MB8 和 MB9 不在保持范围内,所以会有橙色警告提示

④ 可以查看保持性存储区剩余可用的字节数,当前 CPU 保持性存储区为 20 KB=20480 字节

  20472 字节(剩余可用) = 20480 字节(总字节数) - 8 字节(已设置为保持)

(2)FB 块背景数据块

FB 块可以是优化的块或者非优化的块,新建的 FB 默认优化 FB,可以在 FB 右键属性中修改,如图5所示。而系统 FB,例如 PID、运动控制、通讯等通常都是优化 FB,无法修改优化属性。

image.png

图5. FB 块属性

优化 FB 的背景数据块是优化 DB,非优化 FB 的背景数据块是非优化 DB。

1)优化 FB 块的保持性设置

背景数据块中的每个变量都可以单独指定断电保持特性。打开 FB,在上方的接口区,用户可以在“保持”列中修改每个变量的保持特性,如下图6所示。可以将每个变量单独设置保持或者不保持。如果选择在 IDB 中设置,则该变量的保持性可以在背景数据块中设置,也就是说同一个变量可能在不同的背景数据块中设置不同的保持性。

image.png

图6. 优化 FB 块接口设置保持性


2)非优化 FB 块的保持性设置

只能整体地指定其背景数据块的保持特性,不能每个变量单独指定。打开 FB 的一个背景数据块,用户可以在“保持”列中修改每个变量的保持特性,如图7所示。

image.png

图7.  非优化背景数据块保持性设置

如果多次调用经过上述设置的 FB, 每次调用分配不同的背景数据块,用户可以分别指定每个背景数据块的保持特性。

(3)全局数据块

与 FB 的背景数据块相同,全局数据块的也分为优化和非优化两种。新建的 DB 默认优化 DB。

使用优化 DB 块能够最优化地利用 CPU 内部的数据存储区。全局数据块的断电保持特性也与 FB 的背景数据块相同:

  • 使用优化的全局数据块可以分别指定其内部每个变量的保存特性,如图8所示。
  • 使用非优化的全局数据块,只能对其整体指定一种保持特性,如图9所示。

image.png

图8. 优化数据块保持性设置


image.png

图9. 非优化数据块保持性设置

注意:FB、DB 中的 UDT、STRUCT 内部的变量无法设置独立的保持性,也就是说 UDT、STRUCT 内部的变量的保持性是一致的。

  • 评论
更多
  • 分享

    扫码分享

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。