[西门子] 无需重新初始化进行块扩展加载的基本信息

[复制链接]
查看330 | 回复0 | 2024-6-25 08:09:27 | 显示全部楼层 |阅读模式

说明
为了可以编辑已经过调试且在系统上正常运行的 PLC 程序,S7-1200 V4 及更高版本和 S7-1500 系列的 CPU 支持在运行时对函数块或数据块接口进行扩展。
无需将 CPU 设置为 STOP 模式,即可下载已修改的块,而不会影响所加载变量的值。
这是一种简单的更改程序的方式。这一加载过程(无需重新初始化的下载)不会对所控制的过程造成负面影响。
工作原理
原则上,每个函数块或数据块都默认有一个存储器预留区域,用于后续的接口更改。在初期并未使用该存储器中所预留的区域。如果该块已编译且已加载,且确定稍后再加载接口更改,则可激活存储器预留。之后声明的所有变量都将保存到存储器预留区域中。后续的下载不会影响已经加载变量的值。
如果决定稍后在工厂没有运转时修改程序,那么还可以一次性重置一个或多个块的存储器布局。通过该操作,可以将所有变量从预留区域移动到常规区域。存储器预留区域现已清除,可用于进行接口扩展。
要求
如果满足以下要求,则可使用“无需重新初始化的下载”功能:

  • 项目为“TIA Portal V12”格式,或更高版本。
  • 正在使用 S7-1200 V4 及更高版本或 S7-1500 系列的 CPU。
  • 块使用 LAD、FBD、STL 或 SCL 创建。
  • 块由用户创建,即,这些块不包含在交付包中。
  • 这些块可进行“优化访问”。


以下块不支持下载块扩展而不重新初始化功能:

  • GRAPH 块
  • ARRAY 数据块
  • ProDiag 块
  • CEM 块


说明
使用存储器预留的限制条件
如果两个数据块中的一个进行了存储器预留,则无法将全局数据块中的内容分配给一个结构相同的数据块,如使用移动框。


基本步骤
如果希望扩展函数块或数据块的接口,请执行以下步骤,然后在不重新初始化的情况下加载块。有关各个步骤的详细说明,将在随后的章节中进行说明:

  • 在默认情况下,所有块在非保持性存储器中都预留有一个 100 个字节的空间。并在需要时,可以调节存储器预留区域的大小或在保持性存储器中定义其它存储器预留区域。
  • 激活存储器预留区域。
  • 扩展块接口。
  • 编译块。
  • 照常将块下载到 CPU。
存储器预留区域的设置概览
通过项目树的概览,可以快速浏览所有程序块的存储器预留区域的设置:
要显示此概览,请按以下步骤操作:

  • 在项目树中选择“程序块”(Program blocks) 文件夹。
  • 单击“最大化/最小化概览”(Maximizes/minimizes the Overview)。


设置块扩展的预留存储器

简介
基本上,每个函数块或数据块在默认情况下都预留了 100 个字节的区域。这一预留区域不在块的保持型存储区中。默认情况下,保持型存储区中没有提供预留区域,这是因为保持型存储器仅限 CPU 使用。
可以更改默认值 100 个字节,这适用于项目中所有新创建的块。此外,还可以单独更改特定块中预留区域的大小,并在保持型存储区中为特定块定义一个预留区域。


设置新块中预留存储器的大小
如果要在项目中为所有新创建的块设置预留存储器的大小,请按以下步骤操作:

  • 在“选项”(Options) 菜单中,选择“设置”(Settings) 命令。
    将在工作区中显示“设置”(Settings) 窗口。
  • 在区域导航中选择“PLC 编程 > 常规”(PLC programming > General) 组。
  • 在“无需重新初始化设置下载的预留存储器”(Reserved memory for download without reinitialization) 组中,在“存储器预留区域”(Memory reserve) 的输入框中输入为块接口进行后续扩展而分配的所需字节数。
    新创建的函数块和全局数据块现在获得了一个具有指定大小的预留存储器。已经存在的块不受此次更改的影响。


    说明
    此设置仅对支持“无需重新初始化的下载”功能的块有效。其它块不受此设置的影响。


设置现有块中预留存储器的大小
如果要设置现有块中预留存储器的大小,请按以下步骤操作:

  • 在项目树中选择该块。
  • 在快捷菜单中选择“属性”(Properties) 命令。
    将打开“属性”(Properties) 对话框。
  • 在浏览区中选择“无需重新初始化的下载”(Download without reinitialization) 组。
  • 在“存储器预留区域”(Memory reserve) 输入框中输入所需的字节数。
  • 如果要在保持型存储器中定义一个预留区域,请选择“为保持型变量启用无需重新初始化的下载”(Enable download without reinitialization for retentive tags) 复选框并在“保持型预留存储器”(Retentive reserved memory) 输入框中输入所需的字节数。


    说明
    请注意以下事项:



    • 如果已为当前块激活了预留存储器,那么无法再更改预留存储器的大小。
    • 在存储器中,数据元素根据特定规则进行排序,这样在程序运行时可以最快的速度进行访问。这就是在添加新数据元素之后,可用存储器的减少量有时会超过数据元素实际大小的原因。
      例如,在添加“WORD”类型和“BYTE”类型的元素时,可用存储区将减少 4 个字节,这是因为所有数据元素的限制与 WORD 类型的相同。





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

本帖子中包含更多资源

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

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

本版积分规则