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

在此对话框中,可以定义由该通道管理的一个或多个组。默认情况下,通道模块实例的实例名称在列表中可用。要创建新组,必须输入唯一名称并添加 添加 按钮。 消除 可用于删除选定的组。
可以通过属性将变量分配给组 ac_persist
。欲了解更多信息,请参阅: 持久变量、属性的定义 'ac.persist'
持久变量:此列表显示分配给上面列出的持久性组之一的所有持久性变量。
范围
这 参数 选项卡提供与变量存储相关的选项列表:

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:确定复位期间是否存储变量值。
没有任何:无存储
节省: 值被保存。