可优化访问的数据块
可优化访问的数据块没有固定的定义结构。
在声明中,仅为数据元素分配一个符号名称,而不分配在块中的固定地址。
这些元素将自动保存在块的空闲内存区域中,从而在内存
中不留存储间隙。
这样,可以提高内存空间的应用率。
在这些数据块中,变量使用符号名称进行标识。
要寻址该变量,则需输入该变量的符号名。
例如,可通过以下方式访问“Data”数据块中的“Fill Level”变量:
"Data".Fill Level
可优化访问的数据块具有以下优势:
∙可以使用任意结构创建数据块,而无需在意各个数据元素的物理排列方式。
∙由于数据的存储方式已优化并由系统进行管理,因此可快速访问经优化的数据。
∙不会放生访问错误,如,间接寻址或 HMI 进行访问。
∙可以将指定的单个变量定义为具有保持性。
∙默认情况下,优化块具有一个预留存储区,可以在操作过程中对函数块或数据块的接口进行扩展。
无需将 CPU 设置为 STOP 模式,即可下载已修改的块,而不会影
响已加载变量的值。
可标准访问的数据块
可标准访问的数据块具有固定的结构。
数据元素在声明中分配了一个符号名,并且在块
中有固定地址。
地址将显示在“偏移量”(Offset) 列中。
这些数据块中的变量既可以使用符号寻址,也可以使用绝对地址进行寻址。
"Data".Fill Level
DB1.DBW2
为优化访问或标准访问设置保持性
如果将数据定义为具有保持性,则在发生电源故障或网络断开时,也可以保留这些数据的值。
在热启动后也不会对保持型变量进行初始化,而是保持电源发生故障之前的值。
如
果将一个数据块变量定义为具有保持性,则该变量将存储在数据块的保持性存储器区域中。
设置保持性的选项取决于块的访问类型。
∙对于可标准访问的数据块,不能定义各变量的保持性。
保持性设置对于该数据块的所有变量均有效。
∙对于可优化访问的数据块,可以定义各个变量的保持性。
对于结构化数据类型的变量,保持性设置将始终应用于整个结构。
无法对数据类型中的各个元素进行任何单独的保持特性设置。
为优化访问或标准访问设置寻址选项
可优化访问的数据块只能进行“类型安全”访问。
类型安全访问只能通过变量的符号名称进行寻址。
这意味着即使块或块接口发生更改,也不会导致程序中存在不一致或发生访问错误。
下表列出了经优化数据所允许的寻址方式:
寻址可标准访问的块可优化访问的块符号寻址√√
ARRAY 的索引寻址√
片段访问√√
使用 AT 进行覆盖√-
绝对寻址√-
通过 ANY 进行间接寻址√-
通过 POINTER 和 VARIANT 进行间接寻址√仅使用符号表示。