你的位置: 首页 > 工业控制 > 西门子plc

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

2017-01-11 11:32:55 | 人围观 | 评论:

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

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

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





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