西门子优化块与非优化块对比

发布于 2019-09-17  148 次阅读


理论分析

存储方式对比

S7-1200

1200优化与非优化存储方式对比

  • 由于较大的标签位于块的开头,因此不会数据间不会有间隙
  • 每个变量可以单独设置是否保持
  • 优化的块不支持绝对值寻址

S7-1500


- 由于较大的标签位于块的开头,因此不会数据间不会有间隙
- ==由于处理器优化的存储,访问速度更快(S7-1500的处理器读取或写入这些标签只使用一句机器指令)==
- ==为了更快的访问,处理器将Bool存储为Byte.==
- 在DB里增加减少变量的时候,优化的块可以直接下载而不需要初始化(需要配置存储区)
- 每个变量可以单独设置是否保持
- 优化的块不支持绝对值寻址


1. 结构化的数据是单独存储的,可以整体拷贝
2. 保持的数据单独存储,可以整体拷贝


- ==因为处理器架构的改变,新的S7-1500控制器是以"小端"顺序读取的,而非优化的块是以"大端"存储的,因此S7-1500需要额外的处理==

  • ==非优化块最大64KB,优化块最大16MB.==

访问速度

  1. 非保持的变量,临时的变量,FC的基本变量接口.
  2. 访问优化块,保持的变量
  3. 访问非优化块
  4. 在运行时需要计算的索引的索引访问(例如Motor [i])
  5. 需要在运行时进行检查的访问,如
    • 访问在运行时创建或已打开的DB (例如OPN DB [i])
      • 间接内存访问
  6. 在优化和非优化块之间复制结构(除了字节数组Array of Bytes)

总结及注意 事项

总结

  1. 访问速度上,优化块是快于非优化块的
  2. 在块容量上,优化块远大于非优化块
  3. 优化块可以设置每个变量是否可保持
  4. 在DB里增加变量的时候,优化的块可以直接下载而不需要初始化

注意事项

尽量避免在优化和非优化之间复制数据。

  1. 源格式和目标格式之间所需的数据转换需要很长的处理时间
  2. 当结构化的数据作为输入/输出参数(InOut)传输到被调用块时,它们 默认情况下是以引用方式传递的.但是,如果其中一个块具有“优化”属性,另一个块是"非优化",则情况并非如此 。在这种情况下,所有 参数通常作为副本传输,==可能会造成PLC清除上位机下载的数据.==

实测

对扫描周期和存储空间的影响

以唯品会五期分区一为例,测试优化非优化对扫描周期大小和占用存储空间的影响


背景DB等DB块为非优化时,扫描周期为9.68左右,空闲存储区比例分别为092,0.45,0.96,0.91


背景DB等DB块为非优化时,扫描周期为3.47左右,空闲存储区比例分别为092,0.46,0.93,0.90

由此可见,将DB块由非优化转为优化可以显著减少扫描周期,但对存储空间影响较小.

###


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。