S71500CPU下载函数块数据块无需初始化功能.docx
《S71500CPU下载函数块数据块无需初始化功能.docx》由会员分享,可在线阅读,更多相关《S71500CPU下载函数块数据块无需初始化功能.docx(11页珍藏版)》请在冰豆网上搜索。
S71500CPU下载函数块数据块无需初始化功能
S7-1500CPU下载函数块、数据块无需初始化功能
目录
S7-1500CPU下载函数块、数据块无需初始化功能..........................1
1功能介绍...........................................................4
2功能实现...........................................................4
2.1要求.....................................................................4
2.2应用举例.................................................................4
3其它注意事项......................................................10
3.1修改缺省预留存储区大小..................................................10
3.2取消下载无初始化功能....................................................11
3.3重至预留存储区..........................................................11
1功能介绍
S7-1500产品系列的CPU支持在运行期间扩展函数块的接口,或者增加全局数据块的变量。
此过程无需将CPU设置为STOP模式,既可下载已修改的块,此时也不会影响已经加载变量的过程值。
这是一种简单的程序更改实施方式,这一加载过程(无需重新初始化的加载)不会对受控对象造成负面影响。
原理:
被激活为“优化块访问”(Optimizedblockaccess)属性的函数块或者数据块已经默认包含一个预留存储区间,该预留区间在初期并未使用,可用于后续的函数块接口的扩展或者数据块变量的增加。
预留功能会占用更多的存储区。
如果希望已经带有存储区预留的程序块用于下载无需重新初始化功能,那么新声明的所有变量都将保存到存储器预留的区域中,所以所有新增变量的大小必须小于预留的存储区的大小。
执行无需重新初始化的下载不会影响任何已经加载的变量或对运行造成不利影响。
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个字
节)。
如果增加
的变量需要设置
为保持属性,那
么就需要设置预
留可保持性存储
器的大小。
1
2
序
号
操作
图示
5.
接下来在在数据
块中建立变量,
本例中建立以下
三个变量
“Variable1”、
“Variable2”和
“Variable3”,数
据类型分别为
Bool,Real和
Int。
6.
在OB1中对这
些变量赋值,此
赋值过程为使用
上升沿与跳转指
令赋值,只持续
一个周期
7.
在线监视赋值结
果。
8.
点击下载无需初
始化功能图标,
弹出提示对话
框,点击确定。
1
2
序
号
操作
图示
9.
注意:
一旦激活
了下载无需初始
化按钮,则无法
再删除现有变
量。
除了“默
认值”、“起始
值”和“注释”
属性之外,其它
属性均不得再进
行更改。
同时,
也不能再次修改
步骤4中保留存
储器的大小。
10.
可以在现有变量
标签上选择“插
入行”或者“添
加行”来增加变
量,本例增加了
两个变量,分别
是“Variable4”和
“Variable5”,并
且修改了
“Variable3”的启
动值。
序
号
操作
图示
11.
在编译期间,新
声明的变量将插
入到预留存储器
中。
如果预留
存储器过小,编
译将终止,并显
示一条错误消
息,通知发生错
误。
点击下载,将数
据块下载到CPU
中,下载预览中
的“消息”栏
中,没有出现下
载需要初始化选
项,说明成功实
现下载程数据块
无需重新初始化
功能。
12.
查看增加新变量
后的块属性,可
以观测到保留存
储区的剩余资
源。
序
号
操作
图示
13.
下载后监视数据
块,原有变量的
过程值保留原来
的值,并没有被
重新初始化为启
动值,新增加的
变量被初始化为
启动值。
3其它注意事项
3.1修改缺省预留存储区大小
如果要在项目中为所有新创建的块设置预留存储器的大小,请按以下步骤操作:
1)在“选项”(Options)菜单中,选择“设置”(Settings)命令。
选择后将在工作区中显示“设置”(Settings)窗口。
2)在区域导航中选择“PLC编程>常规”(PLCprogramming>General)组。
3)在“无需重新初始化设置下载的预留存储器”(Reservedmemoryfordownloadwithoutreinitialization)组中,在“存储器预留区域”(Memoryreserve)的输入框中输入为函数块或者数据块进行后续扩展而分配的预留存储区的字节数。
设置完成后,当新建一个优化的函数块或者数据块时,步骤4中缺省的预留存储空间变为新指定的大小。
而已经存在的块不受此次更改的影响。
设置界面如图3-1所示。
图3-1修改系统缺省预留存储区大小
3.2取消下载无需初始化功能如果取消下载无需初始化功能,可以将之前位于预留区域的所有变量都移动到常规区
域。
因此,需要对块进行编译并再次加载。
CPU中变量的值在加载期间重新初始化。
预留
存储器仍然存在,可供之后进行扩展时使用,并再次具有块属性中所定义的空间大小。
3.3重至预留存储区要重置一个或多个块的预留存储器,请按以下步骤操作:
1)选择“程序块”(Programblocks)文件夹,或该文件夹中的特定块。
2)在快捷菜单中,选择“编译>软件(重置预留存储器)”(Compile>Software
(Resetmemoryreserve))命令。
此操作的结果是,之前位于预留存储器中所选块的所有变量,都从此区域移动到常规区
域中,并且块重新被编译。
变量在下一次加载期间将重新初始化。
块中所组态的预留存储器将保留,且继续保持活动状态。
注意:
取消下载无需初始化功能和重置预留存储器时,在预留存储器中之前设置的所有变量都将在下次加载时重新初始化。
这适用于保持性和非保持性变量。
在工厂运行期间,更改变量值将导致严重的财产损失和人身伤害!
因此,在重置预留存储器后必须先在测试环境中进行全面彻底地检查之后,才能使用。