描述:
当创建程序时,各变量的保持性能对于程序开发人员来说是很重要的。程序开发人员在他们的程序中经常使用这样一类变量,即使在断电的情况下仍要保留(保持)这些变量的内容,而其它变量的内容必须复位至一个定义值(非保持)。在 SIMATIC STEP 7 中,程序开发人员可以为数据、标志位、S7 定时器和 S7 计数器组态保持地址区,以便可以将其作为保持变量。该条目描述了 SIMATIC S7-300 CPU 和带有微存储卡(MMC)的 C7 设备的地址区的保持性能。介绍了断电/上电(POWER OFF/ON )状态切换、停止/启动(STOP/RUN)操作模式以及整机复位情况下地址区的保持性能。
该条目主要分为以下几个主题:
地址区的保持性能与以下因素有关:
- CPU
- 硬件配置中的参数
- 每一个数据块的组态(“Non-Retain”启用/禁用)(此设置并不是在所有 CPU 中都起作用)。
停止/启动(STOP/RUN)操作模式或断电/上电(POWER OFF/ON )
- 加载存储器(MMC)中的所有块都保持。
- 对于不支持“Non-Retain”块属性的 S7-300 CPU 和 C7 设备,缺省状态下 DB 一直保持。
- 对于支持 “Non-Retain”块属性的 CPU,用户可以单独设置每一个 DB 块的保持性能。
这些设置,可以在 STEP 7 从V5.2 +SP1中进行:
- 启用/禁用 DB 块的“Non-Retain”块属性(参看表 01)。
- 使用 SFC 82“CREA-DBL”创建一个 DB。当用户使用 SFC 82 创建一个 DB 时,将在 DB 属性的位 2 中定义该 DB 是否具有保持性。
如果禁用数据块的“Non-Retain”属性,则数据块是保持的。
如果启用数据块的“Non-Retain”属性,则数据块是非保持的。
注意:
对于某些 CPU,仅有部分主存储器区域可供保持 DB 使用。如果供保持数据块使用的主存储器已满,则:
- 不能使用 SFC 82 “CREA-DBL”再创建更多 DB。
- 通过 RET_VAL 返回出错代码 W#16#80B2 (主存储器不足)。
有关 CPU 中可供保持数据块使用的主存储器空间信息,可参看手册“S7-300 CPU 31xC and CPU 31x, Technical Data”的第六章和第七章,条目 ID: 12996906。
- 如果上电时没有插入 MMC 卡,则 CPU 自动执行整机复位。该过程与 CPU 先前设置的操作模式无关。
整机复位(MRES)
- 装载存储器(MMC)中的所有块都保持。
- 数据复位为装载存储器的当前值。这些值是从 PG 装载到 CPU 中的最新当前值,或使用 SFC84 或 STEP 7 功能“Copy RAM to ROM...”写入装载存储器中的最新当前值。
注意:
如果需要保存当前数据,则这些数据必须保存到 MMC (装载存储器)中。用户可以使用 SFC84 或 STEP 7 功能“Copy RAM to ROM...”完成此操作。对装载存储器的写访问不能太频繁,因为 MMC 仅允许进行 100,000 次写访问。
如何组态数据块的保持性能(仅针对支持“Non-Retain”属性的 CPU)
在 S7-300 CPU 和 C7 设备中,所有的数据块都是预设为保持的。对于支持“Non-Retain”属性的 CPU,用户可以将每一个数据块的保持属性改为非保持。下表介绍了如何 设置数据块的保持性能。
序号 | 步骤 |
1 | 标识要更改“Non-Retain”属性的数据块。在菜单栏中点击“Edit > Object Properties...”或按下组合键[Alt] + [Return]。这样将打开数据块的“Properties...”窗口。 |
2 | 在“Properties...”对话框中,点击“General - Part 2”标签页。 |
3 | 当启用“Non-Retain”选项后,数据块变为非保持性。 |
表 01
警告:
即使 CPU 不支持“Non-Retain”数据块属性仍然可以选择“Non-Retain”选项,只是这样的选择不会造成任何影响。关于 CPU 是否支持“Non-Retain”数据块属性的信息,请参看手册“S7-300 CPU 31xC and CPU 31x, Technical Data”的第六章和第七章,条目号:12996906;也可以参看这本手册中的 A5E00830173-01 产品信息。
- 可按表 02 所述的方法在“HW Config”中组态标志位、S7 定时器和 S7 计数器的保持区。
- 停止/启动(STOP/RUN)操作模式或断电/上电(POWER OFF/ON )
如果标志位、S7 定时器和 S7 计数器地址区已定义为保持,则保持它们的数值;否则,这些区域的数值将丢失且被初始化为“0”。 - 整机复位 (MRES)
整机复位时将删除标志位、S7 定时器和 S7 计数器地址区的值,而不管这些区域是否已定义为保持或非保持属性。
如果上电时没有插入 MMC 卡,则 CPU 自动执行整机复位。该过程与 CPU 先前设置的操作模式无关。
如何在STEP 7 中为标志位、S7 定时器和 S7 计数器组态保持地址区
下表介绍了如何在 S7-300 CPU 中组态保持地址区。
序号 | 步骤 |
1 | 打开 S7-300 工作站的硬件配置。 |
2 | 双击 CPU 图标,打开“Properties - CPU 31x ...”窗口,点击“Retentive Memory”标签页。 |
3 | 在“Retentive Memory”标签页中,用户可以在“Retentivity”域中组态的保持地址区有:
|
4 | 组态所需的保持区之后,可以点击“OK”按钮退出 CPU 属性对话框,或继续修改其它标签页。 |
表 02
下表概述了整机复位步骤。
S7-300 CPU和带有MMC卡的 C7设备的整机复位 | |
将删除存储器中的下列单元:
|
|
将保持下列单元的内容:
|
|
无 MMC 情况下的性能和功能顺序:
|
在插入了 MMC 时整机复位后的功能顺序:
|
重要事项: 在整机复位之后,如果用户想进行 CPU (没有 MMC 卡或是卡中的数据无效)与 PG/PC 之间的通讯,唯一的方法就是使用 MPI 或 MPI/DP 接口建立该通讯。 |
表 03
时间缓存区
下面的信息适用于所有 SIMATIC S7-300 CPU*和带有 MMC 卡的 C7设备:
- 断电后,周围环境40 ℃时,时间缓存区可以保持6周的时间。
- 超过缓存期后,重新启动,时钟从断电的时间开始计时。
- 运行时间表是保持的,但是重新启动后肯定会重启。
*不适用 CPU 312和 CPU 312C。超过缓存期后,重新启动,这两种 CPU 时间从断电的时间开始。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc334776.html