保持型变量由关键字RETAIN声明,添加到范围VAR,VAR_INPUT,VAR_OUTPUT,VAR_IN_OUT,VAR_STAT或VAR_GLOBAL的编程对象中。
.声明的语法:
<范围> RETAIN
<标识符>: <数据类型> ( := <初始化> )? // ( ...)? : 可选的
END_VAR
<范围> : VAR | VAR_INPUT | VAR_OUTPUT | VAR_IN_OUT | VAR_STAT | VAR_GLOBAL
不允许使用AT关键字分配输入,输出或内存地址。
在函数的本地 | 只有变量位于保持存储区中。 信息:使用冗余时,整个程序及其所有数据都位于保留存储区中。 |
全局地在全局变量列表中 | 只有变量位于保持存储区中。 信息:使用冗余时,整个全局变量列表及其所有数据都位于保留存储区中。 |
仅在功能块中 | 功能块的整个实例及其所有数据位于保留存储区中。仅声明的保持变量受保护。 |
局部地在一个函数中 | 该变量不在保留存储区中。 这个声明没有任何作用。 |
局部和持久地在一个函数中。 | 该变量不在保留存储区中。该声明没有任何作用。 |
尽可能避免使用RETAIN标记功能块的变量。 |