剩余数据是指编程组织单元 (POU) 中被定义为“保留”或“保留持续”的变量。在发生断电、重启、复位和应用程序下载时,剩余变量要么被初始化,要么保持其值不变。
下表描述了各种情况下剩余变量的行为:
操作 |
VAR |
VAR RETAIN |
VAR GLOBAL RETAIN PERSISTENT |
---|---|---|---|
对应用程序进行在线修改 |
X |
X |
X |
在线修改,改动启动应用程序 (1) |
– |
X |
X |
停止 |
X |
X |
X |
电源重置 |
– |
X |
X |
热复位 |
– |
X (2) |
X |
冷复位 |
– |
– |
X |
初始值复位 |
– |
– |
– |
初始化设备 |
– |
– |
– |
使用 EcoStruxure Machine Expert 下载应用程序 (3) |
– |
– |
X |
使用 SD 卡下载应用程序 (3) |
– |
– |
– |
X 保持该值。
– 重新初始化该值。
(1) 如果在线修改仅改动启动应用程序的代码部分(例如 a:=a+1; => a:=a+2;
),则保持保留变量值。在所有其他情况下,则重新初始化保留变量。
(2) 关于 VAR RETAIN 的详细信息,请参阅热复位命令的作用。
(3) 如果下载的应用程序包含与现有应用程序相同的保留持久变量,现有保留变量将保持其值。
保留或保留持久变量位于专门的非易失性存储器中。每当在执行编程组织单元 (POU) 期间访问这些变量时,也会访问非易失性存储器。这些变量的访问时间比可影响性能的常规变量的访问时间慢。在写入对性能敏感的 POU 时,需要考虑这一重要因素。
如需更多地了解保持变量以及保持持久变量在 POU 执行期间对循环时间的影响,请参阅处理性能。