×
Siemens Industry Online Support
Siemens AG
文档类型 常问问题 文档编号 91144144, 文档发布日期 2014年4月16日
(0)
评估

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

推荐文档: 西门子工程师推荐本文档!
  • 文档
  • 涉及产品

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. 下载后监视数据块,原有变量的过程值保留原来的值,并没有被重新初始化为启动值,新增加的变量被初始化为启动值。


3其它注意事项

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


图3-1修改系统缺省预留存储区大小

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

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

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

安全性信息
为了保护技术基础设施、系统、机器和网络免受网络威胁,有必要实施并持续维护一个全面、最先进的IT安全方案。西门子的产品和解决方案构成了这一方案的一个要素。有关网络安全的更多信息,请访问
https://www.siemens.com/cybersecurity#Ouraspiration.
评估文档
无评估
请求和反馈
您想要做什么?
注意:反馈总是与当前的条目/产品相关。您的消息将被转发给我们在线支持团队的技术编辑们。如果我们需要就您的反馈提供答复,您将在几天内收到答复。如果没有其它问题,您将不会收到答复。