S7-1500CPU下载函数块、数据块无需初始化功能

n

1功能介绍
S7-1500产品系列的CPU支持在运行期间扩展函数块的接口,或者增加全局数据块的变量。此过程无需将CPU设置为STOP模式,既可下载已修改的块,此时也不会影响已经加载变量的过程值。这是一种简单的程序更改实施方式,这一加载过程(无需重新初始化的加载)不会对受控对象造成负面影响。
原理:被激活为“优化块访问”(Optimized block access)属性的函数块或者数据块已经默认包含一个预留存储区间,该预留区间在初期并未使用,可用于后续的函数块接口的扩展或者数据块变量的增加。预留功能会占用更多的存储区。如果希望已经带有存储区预留的程序块用于下载无需重新初始化功能,那么新声明的所有变量都将保存到存储器预留的区域中,所以所有新增变量的大小必须小于预留的存储区的大小。执行无需重新初始化的下载不会影响任何已经加载的变量或对运行造成不利影响。n

2功能实现

2.1要求
要实现下载函数块或者数据块无需重新初始化功能,需要满足以下条件:
1) 项目是博途V12版本创建的
2) 使用S7-1500产品系列的CPU
3) 函数块在LAD、FBD、STL、或SCL中创建
4) 块由用户创建,即这些块不能是博途 V12安装后自身带有的块
5)这些块设置为优化访问方式n

2.2应用举例
下面以DB为例,来说明怎样实现下载无需重新初始化功能。n

序号 操作 图示
1. 首先打开博途 V12 软件,切换至项目视图,添加一款S7-1500CPU。 S7-1500CPU下载函数块、数据块无需初始化功能
2. 添加一个新的数据块,数据块名称和编号使用缺省值即可。 S7-1500CPU下载函数块、数据块无需初始化功能
3. 默认情况下,数据块已经被设置为优化的块访问方式,如果不是,手动设置为优化的块访问方式。 S7-1500CPU下载函数块、数据块无需初始化功能
4. 默认预留存储空间大小为100字节,可以修改这一存储预留区域以适应用户的需求,最大可以设置为2M。这部分预留存储空间由装载存储器提供。
保持存储区中默认情况下没有设置预留区域,这是因为保持型存储区由CPU提供,这一存储区是有限的(例如CPU1516为484000个字节)。如果增加的变量需要设置为保持属性,那么就需要设置预留可保持性存储器的大小。
S7-1500CPU下载函数块、数据块无需初始化功能
5. 接下来在在数据块中建立变量,本例中建立以下三个变量“Variable1”、“Variable2”和“Variable3”,数据类型分别为Bool,Real和Int。 S7-1500CPU下载函数块、数据块无需初始化功能
6. 在OB1中对这些变量赋值,此赋值过程为使用上升沿与跳转指令赋值,只持续一个周期 S7-1500CPU下载函数块、数据块无需初始化功能
7. 在线监视赋值结果。 S7-1500CPU下载函数块、数据块无需初始化功能
8. 点击下载无需初始化功能图标,弹出提示对话框,点击确定。 S7-1500CPU下载函数块、数据块无需初始化功能
9. 注意:一旦激活了下载无需初始化按钮,则无法再删除现有变量。 除了“默认值”、“起始值”和“注释”属性之外,其它属性均不得再进行更改。同时,也不能再次修改步骤4中保留存储器的大小。 S7-1500CPU下载函数块、数据块无需初始化功能
10. 可以在现有变量标签上选择“插入行”或者“添加行”来增加变量,本例增加了两个变量,分别是“Variable4”和“Variable5”,并且修改了“Variable3”的启动值。 S7-1500CPU下载函数块、数据块无需初始化功能
11. 在编译期间,新声明的变量将插入到预留存储器中。 如果预留存储器过小,编译将终止,并显示一条错误消息,通知发生错误。
点击下载,将数据块下载到CPU中,下载预览中的“消息”栏中,没有出现下载需要初始化选项,说明成功实现下载程数据块无需重新初始化功能。
S7-1500CPU下载函数块、数据块无需初始化功能
12. 查看增加新变量后的块属性,可以观测到保留存储区的剩余资源。 S7-1500CPU下载函数块、数据块无需初始化功能
13. 下载后监视数据块,原有变量的过程值保留原来的值,并没有被重新初始化为启动值,新增加的变量被初始化为启动值。 S7-1500CPU下载函数块、数据块无需初始化功能

3其它注意事项

3.1修改缺省预留存储区大小
如果要在项目中为所有新创建的块设置预留存储器的大小,请按以下步骤操作:
1) 在“选项”(Options) 菜单中,选择“设置”(Settings) 命令。选择后将在工作区中显示“设置”(Settings) 窗口。
2) 在区域导航中选择“PLC 编程 > 常规”(PLC programming > General) 组。
3) 在“无需重新初始化设置下载的预留存储器”(Reserved memory for download without reinitialization) 组中,在“存储器预留区域”(Memory reserve) 的输入框中输入为函数块或者数据块进行后续扩展而分配的预留存储区的字节数。
设置完成后,当新建一个优化的函数块或者数据块时,步骤4中缺省的预留存储空间变为新指定的大小。而已经存在的块不受此次更改的影响。
设置界面如图3-1所示。n

S7-1500CPU下载函数块、数据块无需初始化功能
图3-1修改系统缺省预留存储区大小n

3.2取消下载无需初始化功能
如果取消下载无需初始化功能,可以将之前位于预留区域的所有变量都移动到常规区域。 因此,需要对块进行编译并再次加载。 CPU 中变量的值在加载期间重新初始化。预留存储器仍然存在,可供之后进行扩展时使用, 并再次具有块属性中所定义的空间大小。
3.3重至预留存储区
要重置一个或多个块的预留存储器,请按以下步骤操作:
1) 选择“程序块”(Program blocks) 文件夹,或该文件夹中的特定块。
2) 在快捷菜单中,选择“编译 > 软件(重置预留存储器)”(Compile > Software (Reset memory reserve))命令。
此操作的结果是,之前位于预留存储器中所选块的所有变量,都从此区域移动到常规区域中,并且块重新被编译。变量在下一次加载期间将重新初始化。块中所组态的预留存储器将保留,且继续保持活动状态。

注意:取消下载无需初始化功能和重置预留存储器时,在预留存储器中之前设置的所有变量都将在下次加载时重新初始化。这适用于保持性和非保持性变量。在工厂运行期间,更改变量值将导致严重的财产损失和人身伤害! 因此,在重置预留存储器后必须先在测试环境中进行全面彻底地检查之后,才能使用。

关键词
函数块,数据块,重新初始化

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326708.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论