- {{item.name}}
存储区
- 0
- 129
1.存储区分类和功能
S7-1200 G2 CPU 提供了用于存储用户程序、数据和组态的存储器。存储器的类型和特性,参考表1,各个 S7-1200 G2 的存储区参数见表2。
表1 存储器类型及功能
| 类型 | 描述 |
| 装载 存储器 | • 是非易失性存储器,用于存储用户程序、数据和组态等。 • 也可以使用外部存储卡作为装载存储器。 |
| 工作 存储器 | • 分为代码工作存储区和数据工作存储区。 • 是易失性存储器,用于存储与程序执行有关的内容。 • 无法扩展工作存储器。 • CPU 将与运行相关的程序内容从装载存储器复制到工作存储器中。 |
| 保持性存储器 | • 是非易失性存储器。 • 如果发生断电或停机时,CPU 使用保持性存储器存储所定义的保持性数据,在启动运行时恢复这些保持性数据。 |
表2. S7-1200 G2 存储区参数
| CPU 类型 | 装载存储区 | 代码工作存储区 | 数据工作存储区 | 保持性存储区 |
| 1212 C | 集成8 MB 可选卡 | 150 KB | 500 KB | 20 KB |
| 1214 C | 250 KB | 750 KB | ||
| 1216 | 300 KB | 1.5 MB | 50 KB | |
| 1217 | 600 KB | 2.5 MB |
2.程序信息查询存储区使用情况
可以在 TIA Portal 软件“程序信息”->“资源”窗口查看目前用户程序需要使用的存储区大小。在项目树中展开 PLC 程序,打开“程序信息”,如图1所示。

图1. 程序信息
在“资源”选项卡中显示了 CPU 硬件资源的使用信息,如图2所示。这些信息包括如下内容:
- CPU 中所用的编程对象(如 OB、FC、FB、DB、运动工艺对象、数据类型和PLC变量)
- CPU 中所用的存储器(装载存储器、工作存储器、保持性存储器),存储器的最大存储空间以及编程对象使用的情况。装载存储器总计大小根据使用的 CPU 或者 SIMATIC 存储卡的容量选择。
- CPU 组态和程序中使用的模块通道数(数字量输入模块、数字量输出模块、模拟量输入模块和模拟量输出模块)。PROFINET IO 智能设备作为通信的 I、Q 区也会统计。

图2. 程序资源
注意:
由于装载存储器显示仅统计用户程序空间,对于硬件组态、连接组态等数据占用的空间并未统计,因此不能仅凭装载存储器栏显示的数值来选择 SIMATIC 存储卡。
3.在线和诊断查看实际使用情况
S7-1200 G2 项目在线时在“在线和诊断”窗口,选择“诊断->存储器”,可查看“装载存储器”、“编码工作存储器”、 “数据工作存储器”以及“保持存储器”的使用情况,如图3所示。

图3. 存储器使用大小
4. 数据的保持
需要被断电保持的数据必须被保持到保持性寄存器中。保持性寄存器中不需要超级电容供电维持,其中的数据可以永久保持。总共可以有20K (1212C 和 1214 C) / 50K (1216 和 1217) 的数据具有保持特性。CPU 暖启动或者断电再上电后,保持性存储区中的数据会保持为暖启动或者断电之前的数值,保持性存储区之外的数据会丢失,即恢复初始值。
CPU 的 M 存储区、FB 的背景数据块和全局数据块中的数据可以使用保持性存储区存储。
(1)M 区保持性设置
用户可以在“ PLC 变量” 标签页中,对保持性进行设置,如图4所示。

图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,无法修改优化属性。

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

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

图7. 非优化背景数据块保持性设置
如果多次调用经过上述设置的 FB, 每次调用分配不同的背景数据块,用户可以分别指定每个背景数据块的保持特性。
(3)全局数据块
与 FB 的背景数据块相同,全局数据块的也分为优化和非优化两种。新建的 DB 默认优化 DB。
使用优化 DB 块能够最优化地利用 CPU 内部的数据存储区。全局数据块的断电保持特性也与 FB 的背景数据块相同:
- 使用优化的全局数据块可以分别指定其内部每个变量的保存特性,如图8所示。
- 使用非优化的全局数据块,只能对其整体指定一种保持特性,如图9所示。

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

图9. 非优化数据块保持性设置
注意:FB、DB 中的 UDT、STRUCT 内部的变量无法设置独立的保持性,也就是说 UDT、STRUCT 内部的变量的保持性是一致的。
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错



西门子官方商城


{{item.nickName}}