天天看点

西门子博途数据块优化的块访问与不优化的块访问有何区别

作者:一个发芽的土豆

西门子博途软件一个新建的数据块 “优化的块访问”的勾选和不勾选有什么区别呢?如下图:

西门子博途数据块优化的块访问与不优化的块访问有何区别

块访问的基本知识

优化访问的数据块没有固定的定义结构。 在声明中,仅为数据元素分配一个符号名称,而不分配在块中的固定地址。 这些元素将自动保存在块的空闲内存区域中,从而在内存中不留存储间隙。 这样,可以提高内存空间的应用率。

在这些数据块中,变量使用符号名称进行标识。要寻址该变量,则需输入该变量的符号名。例如,可通过以下方式访问“优化数据块”数据块中的“INT1”变量:“优化数据块”.INT1,此数据并不对应实际的数据地址。如下图所示:

西门子博途数据块优化的块访问与不优化的块访问有何区别

优化访问的数据块具有以下优势:

1、可以使用任意结构创建数据块,而无需在意各个数据元素的物理排列方式。

2、由于数据的存储方式已优化并由系统进行管理,因此可快速访问经优化的数据。

3、不会发生访问错误,如间接寻址或 HMI 进行访问。

4、可以将指定的单个变量定义为具有保持性。

5、默认情况下,优化块具有一个预留存储区,可以在操作过程中对函数块或数据块的接口进行扩展。无需将 CPU 设置为 STOP 模式,即可下载已修改的块,而不会影响已加载变量的值。

STEP 7 提供具有不同访问选项的数据块:

  • 可优化访问的数据块 (S7-1200/S7-1500)
  • 可标准访问的数据块 (S7-300 / S7-400 / S7-1200 / S7-1500)

并且在一个程序中,可以包含两种不同类型的块。

标准访问的数据块具有固定的结构。数据元素在声明中分配了一个符号名,并且在块中有固定地址。地址将显示在“偏移量”(Offset) 列中。

这些数据块中的变量既可以使用符号寻址,也可以使用绝对地址进行寻址,如下图所示:

西门子博途数据块优化的块访问与不优化的块访问有何区别

比较两次的数据变化会发现:可标准访问的数据块多了一个“偏移量”数据都有一个地址符。

为优化访问或标准访问设置保持性

如果将数据定义为具有保持性,则在发生电源故障或网络断开时,也可以保留这些数据的值。在热启动后也不会对保持型变量进行初始化,而是保持电源发生故障之前的值。如果将一个数据块变量定义为具有保持性,则该变量将存储在数据块的保持性存储器区域中。

设置保持性的选项取决于块的访问类型:

  • 对于标准访问的数据块,不能定义各变量的保持性。保持性设置对于该数据块的所有变量均有效。
西门子博途数据块优化的块访问与不优化的块访问有何区别
  • 对于优化访问的数据块,可以定义各个变量的保持性。
西门子博途数据块优化的块访问与不优化的块访问有何区别

对于结构化数据类型的变量,保持性设置将始终应用于整个结构。无法对数据类型中的各个元素进行任何单独的保持特性设置。