在 在 RUN 模式下修改和下载现有块
利用“在 RUN 模式下下载”功能,您可以在数据块和函数块中添加和修改变量,然后在RUN 模式下将更改的块下载到 CPU。
下载而不重新初始化
每个数据块和函数块都有一定大小的预留存储器,可用来向随后在 RUN模式下下载的块中添加变量。 默认情况下,存储器预留区域的初始大小为 100 字节。
您可以向数据中添加其它变量,直至达到存储器预留区域的大小,并在 RUN模式下将扩展块下载到 CPU。
如果需要在块中为附加变量提供更多存储空间,也可以增大存储器预留区域。
如果添加的变量**过了已分配的存储空间,则无法在 RUN 模式下将扩展块下载到 CPU中。
下载而不重新初始化
每个数据块和函数块都有一定大小的预留存储器,可用来向随后在 RUN模式下下载的块中添加变量。 默认情况下,存储器预留区域的初始大小为 100 字节。
您可以向数据中添加其它变量,直至达到存储器预留区域的大小,并在 RUN模式下将扩展块下载到 CPU。
如果需要在块中为附加变量提供更多存储空间,也可以增大存储器预留区域。
如果添加的变量**过了已分配的存储空间,则无法在 RUN 模式下将扩展块下载到 CPU中。
利用“下载而不重新初始化”功能,您可以通过添加更多的数据块变量来扩展数据块并在RUN 模式下下载扩展数据块。
这样,您便可向数据块中添加变量并下载该数据块而不重新初始化程序。 CPU将保留现有数据块变量的值并将新添加的变量初始化为其起始值。
要为 CPU 处于 RUN 模式的在线项目启用该功能,请按照以下步骤操作:
1. 在 STEP 7 项目树的“程序块”(Program blocks) 文件夹中,打开块。
2. 单击块编辑器中的“下载而不重新初始化”(Download without reinitialization)切换按钮启用该功能。 (启用后,图标周围会出现一个框: ) )
3. 单击提示中的“确定”(OK) 以确认选择。
4. 向块接口添加变量并在 RUN 模式下下载该块。
存储器预留区域允许多少新变量,您就可以添加并下载多少新变量。
如果向块中添加的字节数**过为存储器预留区域组态的字节数,则尝试在 RUN模式下下载块时,STEP 7 会显示错误。 您必须编辑块属性,增大存储空间。
在启用“下载而不重新初始化”功能时,不能删除现有条目或修改块的“存储器预留区域”。
要禁用“下载而不重新初始化”功能,请按照以下步骤操作:
1. 单击块编辑器中的“下载而不重新初始化”(Download without reinitialization)切换按钮禁用该功能。 (禁用后,图标周围的框会消失: ) )
2. 单击提示中的“确定”(OK) 以确认选择。
3. 下载该块。 在下载对话框中,必须选择“重新初始化”(reinitialize) 以下载该扩展块。
下载过程随即将所有的现有块变量和新块变量重新初始化为其起始值。
下载保持性块变量
在 RUN 模式下下载保持性块变量需要分配保持性存储器预留区域。
要组态该保持性存储器预留区域,请按照以下步骤操作:
1. 在 STEP 7 项目树的“程序块”(Program blocks)文件夹中,右键单击该块并在上下文菜单中选择“属性”(Properties)。
2. 选择“下载而不重新初始化”(Download without reinitialization) 属性。
3. 选中“启用下载而不重新初始化保持性变量”(Enable download without reinitializationfor retentive tags) 复选框。
4. 组态为保持性存储器预留区域提供的字节数。
5. 单击“确定”(OK) 保存更改。
6. 向数据块中添加保持性数据块变量并在 RUN 模式下下载该数据块。
保持性存储器预留区域允许多少新保持性数据块变量,您就可以添加并下载多少新保持性数据块变量。
如果向块中添加的保持性字节数**过为保持性存储器预留区域组态的字节数,则尝试在RUN 模式下下载块时,STEP 7 会显示错误。
您向保持性存储器预留区域中添加的保持性块变量不能**过区域大小,这样才能在 RUN模式下下载这些变量。
下载扩展的保持性块变量时,变量将包含其当前值。
为新块组态保留存储空间大小
新数据块的默认存储器预留区域的大小为 100 字节。 创建新块时,预留区域提供 100个字节。 如果要更改新块的存储器预留区域大小,则可在 PLC 编程设置中
更改设置:
1. 在 STEP 7 中选择 “ “ 选项 > 设置 ”(Options > Settings) 菜单命令。
2. 在“设置”(Settings) 对话框中,展开“PLC 编程”(PLC programming)并选择“常规”(General)。
3. 在“下载而不重新初始化”(Download without reinitialization)部分,输入存储器预留区域的字节数。
创建新块时,STEP 7 使用为新块输入的存储器预留区域组态。
限制
在 RUN 模式下编辑和下载块时,以下限制适用:
● 通过添加新变量扩展块接口并在 RUN 模式下下载仅适用于优化块 。
● 如果不重新初始化,则无法在 RUN 模式下更改块结构并下载已更改的块。
将新成员添加到 Struct 变量、更改变量名称、数组大小、数据类型或保持性状态都需要重新初始化该块才能在 RUN 模式下下载该块。 对于现有块变量,可以执
行并且在 RUN模式下下载而不重新初始化的一修改是对起始值(数据块)、默认值(函数块)或注释的更改。
说明
修改块并在 RUN 模式下下载这些块是 S7-1200 CPU V4.0 的新功能。 在 V4.0之前,只能在 STOP 模式下下载已修改的块。
● 在 RUN 模式下下载的新块变量数不能**过存储器预留区域可容纳的数目。
● 在 RUN模式下下载的新的保持性块变量数不能**过保持性存储器预留区域可容纳的数目。
下载失败时的系统响应
执行“在 RUN 模式下下载”的过程中,如果出现网络连接故障,则 STEP 7将显示以下“加载预览”(Load preview) 对话框:
在 在 RUN 模式下下载的考虑事项
在 RUN 模式下下载程序之前,如果发生以下情况,则需考虑 RUN 模式下进行修改对CPU 运行的影响:
● 如果删除一个输出的控制逻辑,则在下一次上电循环或切换到 STOP 模式之前,CPU将始终保持该输出的较终状态。
● 如果删除了正在运行的高速计数器或脉冲输出函数,则该高速计数器或脉冲输出将继续运行,直至下一次上电循环或切换到 STOP 模式。
● 在下一次上电循环或者从 STOP 切换到 RUN模式之前,任何以**扫描位状态为条件的逻辑都不会执行。**扫描位只会因切换到 RUN 模式而置位,不受 RUN
模式下下载的影响。
● 不能覆盖数据块 (DB) 的当前值和/或变量。
说明
CPU 必须支持在 RUN 模式下进行更改,程序的编译必须没有错误,CPU 必须能与STEP 7 通信,并且 CPU 必须无错误,这样才能在 RUN 模式下下载程序。
可在 RUN 模式下对程序块和变量进行以下更改,并将其下载到 CPU 中:
? 创建、覆盖和删除函数 (FC)、函数块 (FB) 和变量表。
? 创建和删除数据块 (DB);但是,不会覆盖 DB 的结构更改。 只能覆盖 DB初始值。 无法在 RUN 模式下下载 Web 服务器 DB(控件或片段)。
? 覆盖组织块 (OB);但是,不能创建或删除 OB。
在 RUN 模式下,您一次较多可下载二十个块。 如果要下载的块多于二十个,必须将CPU 置于 STOP 模式。
下载一旦启动,在其完成前将无法在 STEP 7 中执行其它任务。
由于“ “ 在 RUN 模式下下载” ” ,可能导致出错的指令CPU 中激活了“在 RUN 模式下下载”后,以下指令可能会发生临时错误。 如果 CPU
正准备激活已下载的更改,那么初始化指令时将出现错误。 在此过程中,CPU将暂停用户程序访问加载存储器的初始化过程,同时完成正在进行的用户程序对加载
存储器的访问。 完成后,将统一激活所下载的更改。
无论何种情况,只要发生错误,指令的 RLO 输出都将失败。 该错误是临时错误。
如果出现错误,则需稍后重试该指令。
说明
而不能在执行 OB 的过程中重试该操作。