Skip to main content

持久化通道

持久性通道定义一组或多组持久性变量的存储设置。可以使用以下命令将其添加到 Persistence Manager 节点 添加子模块实例。在持久性管理器节点下,最多可以创建 64 个通道。

坚持

29. 持久组
持久组


在此对话框中,可以定义由该通道管理的一个或多个组。默认情况下,通道模块实例的实例名称在列表中可用。要创建新组,必须输入唯一名称并添加 添加 按钮。 消除 可用于删除选定的组。

可以通过属性将变量分配给组 ac_persist。欲了解更多信息,请参阅: 持久变量、属性的定义 'ac.persist'

持久变量:此列表显示分配给上面列出的持久性组之一的所有持久性变量。

范围

参数 选项卡提供与变量存储相关的选项列表:

30. 持久通道参数
持久通道参数


t定期保存:经过此间隔后,变量将被存储。输入值 t#0s 将关闭此定期保存。

x保存更改:如果设置为TRUE,当前值将不断与上次保存的值进行比较,如果不同,则存储当前值。已设置的持久化通道 xSaveOnChange=FALSE,将在控制器关闭以及重置(热、冷、原点)时存储。此外,可以进行定期保存。

xReadVarsDuringInit:如果设置为 TRUE,将在应用程序初始化期间读取持久变量值。否则,它们将在第一个应用程序周期中加载。

x压缩标签:如果设置为 TRUE,变量的实例路径将以压缩格式保存。欲了解更多信息,请参阅: 存储格式、压缩档案

xConstantCopyInHighPrioTask:如果设置为 TRUE,变量从最高优先级任务复制并保存在较低优先级任务中。该选项用于避免在高优先级任务中更改变量时出现数据不一致。

xConvertVarsWithDifferentType:如果设置为 TRUE,持久化通道将尝试将从归档中读取的值转换为目标数据类型(如果该值的数据类型与目标的数据类型不同)。如果成功,存档中的值将被接受;如果不是,该值将被拒绝。该函数支持以下转换:

存档中的数据类型

目标数据类型

描述

任意整数

任意整数

仅当该值在当前数据类型覆盖的范围内时

任意整数

真实的

任意整数

真实

所有数据类型

细绳

真实的

真实

真实的

任意_INT

仅当归档值是正确范围内的整数时

真实

真实的

仅当该值在 REAL 覆盖的范围内时

真实

任意_INT

仅当归档值是正确范围内的整数时

x阅读前完整性检查:如果设置为 TRUE,检查数据库的完整性。

xSeparateArchivePerToplevelInstance: 当设置为 TRUE 时,将为每个顶层实例创建一个单独的存档。此类存档的名称为其自身名称(与数据存储中的配置一致),后跟顶层实例的名称: <archive name>_<instance name>;对于所有不低于顶层模块实例的实例(例如:应用程序变量),则为 <archive name>。此选项默认禁用。

警告

如果事后修改参数(TRUE <-> FALSE),存档名称将被更改,持久变量可能会丢失!

xMakeDataCRC一致性检查:如果设置为 TRUE,在保存操作的开始和结束时计算 CRC 值。这两个值必须相同才能成功完成保存操作。

uiSavingRetriesIfCRCConsistencyCheckFails:指定重复存储的次数 xMakeDataCRCConsistencyCheck失败 被设定为 TRUE 并且 CRC 值不匹配。

xLogSaveTime启用:如果设置为 TRUE,记录写入所需的时间。

e自动操作在线更改:在线更改期间变量值是否存储以及如何存储的行为。

  • 没有任何:无存储

  • 节省: 值被保存。因此,对配置的更改也会被接管到持久性内存中(例如添加或重命名变量)。

  • 加载:从持久性内存加载值。因此,可能的初始化(例如 FB_INIT, IModule.Init和模块参数)被持久值覆盖。

  • 加载并保存:从持久性内存中加载和写入值。

eAutomaticActionPlcStop:确定复位期间是否存储变量值。

  • 没有任何:无存储

  • 节省: 值被保存。

人机界面、信息

有关这些对话框的详细信息,请参阅以下内容: 输入/输出人机界面信息