PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 45|回复: 0

[西门子] 西门子博途: 可优化访问的块

[复制链接]
发表于 2024-6-9 20:44:23 | 显示全部楼层 |阅读模式
>

优化块访问
在带有优化访问功能的块变量声明中,仅包含数据元素的符号名称。系统将自动优化并管理地址。这将提高 CPU 的性能并同时有效防止来自诸如 SIMATIC HMI 的访问错误。


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

  • 可优化访问的数据块 (S7-1200/S7-1500)
  • 可标准访问的数据块 (S7-300 / S7-400 / S7-1200 / S7-1500)
在一个程序中,可以包含两种不同类型的块。
可优化访问的数据块
可优化访问的数据块没有固定的定义结构。在声明中,仅为数据元素分配一个符号名称,而不分配在块中的固定地址。这些元素将自动保存在块的空闲内存区域中,从而在内存中不留存储间隙。这样,可以提高内存空间的应用率。
在这些数据块中,变量使用符号名称进行标识。要寻址该变量,则需输入该变量的符号名。例如,可通过以下方式访问“Data”数据块中的“Fill Level”变量:
"Data".Fill Level
可优化访问的数据块具有以下优势:

  • 可以使用任意结构创建数据块,而无需在意各个数据元素的物理排列方式。
  • 由于数据的存储方式已优化并由系统进行管理,因此可快速访问经优化的数据。
  • 不会放生访问错误,如,间接寻址或 HMI 进行访问。
  • 可以将指定的单个变量定义为具有保持性。
  • 默认情况下,优化块具有一个预留存储区,可以在操作过程中对函数块或数据块的接口进行扩展。无需将 CPU 设置为 STOP 模式,即可下载已修改的块,而不会影响已加载变量的值。


说明
对于以下块,将始终启用“优化块访问”(Optimized block access) 属性,并且无法取消选中。

  • GRAPH 块
  • CEM 块
  • ARRAY 数据块


可标准访问的数据块
可标准访问的数据块具有固定的结构。数据元素在声明中分配了一个符号名,并且在块中有固定地址。地址将显示在“偏移量”(Offset) 列中。
这些数据块中的变量既可以使用符号寻址,也可以使用绝对地址进行寻址。
"Data".Fill Level
DB1.DBW2
为优化访问或标准访问设置保持性
如果将数据定义为具有保持性,则在发生电源故障或网络断开时,也可以保留这些数据的值。在热启动后也不会对保持型变量进行初始化,而是保持电源发生故障之前的值。如果将一个数据块变量定义为具有保持性,则该变量将存储在数据块的保持性存储器区域中。
设置保持性的选项取决于块的访问类型。

  • 对于可标准访问的数据块,不能定义各变量的保持性。保持性设置对于该数据块的所有变量均有效。
  • 对于可优化访问的数据块,可以定义各个变量的保持性。
    对于结构化数据类型的变量,保持性设置将始终应用于整个结构。无法对数据类型中的各个元素进行任何单独的保持特性设置。
为优化访问或标准访问设置寻址选项
可优化访问的数据块只能进行“类型安全”访问。类型安全访问只能通过变量的符号名称进行寻址。这意味着即使块或块接口发生更改,也不会导致程序中存在不一致或发生访问错误。
下表列出了经优化数据所允许的寻址方式:






寻址
可标准访问的块
可优化访问的块
符号寻址


ARRAY 的索引寻址


片段访问


使用 AT 进行覆盖

-
绝对寻址

-
通过 ANY 进行间接寻址

-
通过 POINTER 和 VARIANT 进行间接寻址

仅使用符号表示
设置块访问




步骤
要设置块访问,请按以下步骤操作:

  • 在项目树中打开“程序块”(Program blocks) 文件夹。
  • 右键单击要更改块访问的块。
  • 在快捷菜单中,选择“属性”(Properties) 命令。
    将打开该块的属性对话框。
  • 在区域导航中,单击“属性”(Attributes)。
  • 启用或禁用“优化块访问”(Optimized block access) 选项。
  • 单击“确定”(OK),确认输入。
限制和特殊功能
作为一项原则,仅能在 S7-1200/1500 产品系列的 CPU 上转换块访问,只有这些 CPU 才支持“优化”访问模式。
以下限制或特殊功能适用于此:

  • 背景数据块
    背景数据块的块访问始终由分配的函数块决定,且无法在手动模式中更改。如果更改了函数块的访问模式,还需要更新分配的背景数据块。这一更新过程改变了背景数据块的访问模式。
  • 系统块和受专有技术保护的块
    对于系统块和受专有技术保护的块,无法手动编辑块访问。
  • 组织块
    可标准访问的 OB 的启动信息始终保存在块接口“Temp”部分的前 20 个字节中。相比之下,可优化访问的 OB 的启动信息则始终写入到“Input”部分。为此,只要转换了块访问,OB 的块接口也会发生变化。更多信息,请参见后继章节。
将块访问从“标准”转换为“优化”。
从 S7-300/400 产品系列的 CPU 中复制到 S7-1200/1500 产品系列的 CPU 中的块最初将保持“标准”访问模式。但是,使用可优化访问的块可以极大提高程序执行性能,这就是手动修改访问模式有用的原因。
块在转换期间进行了以下修改:

  • 函数块
    所有接口参数均指定了“非保持”的保持性性设置。
  • 全局数据块
    集中分配到所有数据块的保持性设置被传输到各个接口参数。现在便可以操作不同参数的保持性设置。
    但是将会有以下规则:对于结构化数据类型的变量,保持性设置将始终应用于整个结构。无法将单独的保持性设置分配到结构化数据类型中的各个元素。因此,无法向基于 PLC 数据类型的数据块变量分配特定的保持性设置。
  • 组织块
    保存在“Temp”部分前 20 个字节中的所有接口参数都将被删除。新的 CPU 特定的启动信息将被输入“Input”部分。通过重新命名用户定义的接口参数,在此过程中发生的与用户定义接口参数的命名冲突已得到解决。



小心
转换块访问后可能会有以下结果:

  • 在将块访问转换为“优化模式”之后,无法再对块的接口参数进行绝对寻址。
    示例:#L0.1 不再有效。
  • 因为转换为组织块的“优化”块访问模式也会修改 OB 接口,
由于更改,可能需要修改、重新编译并重新加载该程序。


将块访问从“优化”转换为“标准”。
如果想从 S7-300/400 产品系列的 CPU 中将块复制或移动到 S7-1200/1500 产品系列的 CPU 中,首先需要设置“标准”访问模式。
块在转换期间进行了以下修改:

  • 函数块和全局数据块。
    无法继续在函数块中设置保持性。在背景数据块中进行了相应设置。
    背景 DB 或全局 DB 中的所有接口参数都被分配了相同的保持性设置。转换受限于以下规则:

    • 如果原始块中的所有接口参数都为保持性参数,那么整个块在转换之后也具有保持性。
    • 如果原始块中的所有接口参数都为非保持性参数,那么整个块在转换之后也具有非保持性。
    • 如果原始块中的接口参数具有不同的保持性设置,那么整个块在转换之后将具有非保持性。

  • 组织块
    保存在“Input”区域中的所有接口参数都将被删除。新 CPU 特定的启动信息将输入到“Temp”部分。该数据被写入前 20 个字节。通过重新命名用户定义的接口参数,在此过程中发生的与用户定义接口参数的命名冲突已得到解决。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-6-18 20:49 , Processed in 0.049068 second(s), 26 queries .

快速回复 返回顶部 返回列表