说明:
如果在结构化编程时经常使用功能块,那么在每次调用 FB 时都要为其指定一个单独的背景数据块。对于非常小的FB, 它的背景数据块经常由很少的几个字组成。当频繁调用和指定背景数据块给这些小的 FB 时,程序会变得非常不清晰,或者 DB 块的数量会达到 CPU 所支持的最大数量。n
由于一个背景数据块可以长于 FB 实际需要的长度,因此多个背景数据块可以合并成一个多重背景。但是,这种合并必须在一个 FB 中通过编程完成。n
- 表1:编程多重背景和更新修改过的背景n
- 表2: 对已经存在的 FB 多重背景能力的后续声明
表1:编程多重背景和更新修改过的背景
步骤 | 过程: |
1 |
在 SIMATIC Manager 中,打开你希望生成多重背景的 FB。在静态变量定义部分,输入多重背景的名字,数据类型为 FB 或 SFB。n |
2 | 在程序中调用多重背景,可以在多重背景中的目录中选择托拽它到 NETWORK 中,也可以用 CALL 指令调用它。n 在STEP 7 V5.4 SP2 中请注意: 如果在LAD/FBD编辑器的目录视图中多重背景未被列出,推荐在静态变量声明中先插入一个功能块,然后再删除它。这样多重背景就再次可以被选择。 |
3 | 现在设置程序块的输入和输出并保存。就可以在程序(例如 OB1)中使用多重背景来调用 FB。创建一个背景数据块以供监控。n 注意: |
4 | 一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出现一个消息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调用在 LAD/STL/FBD 编辑器中将会以亮红色显示。n 为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call...”。n |
5 | 在后续的对话框中,点击 OK 来执行接口更新。n 在STEP 7 V5.3中的注意事项: 当尝试通过“File > Check and Update Accesses”来更新程序块调用时,STEP7 V5.3 不能发现变量间的唯一分配,调用还是保持红颜色,也无法通过“Edit > Call > Update”改正调用错误。更新调用的唯一办法是删除调用,在声明中更新接口,然后再以多重背景方式调用功能块。如果已经删除了 FB 接口中的变量,应该通过“Edit > Call > Update”来改正所有的多重背景调用,而不需使用前面的“Check and Update Accesses”功能。一旦已经更新了这些多重背景,就又可以与平时一样使用“Check and Update Accesses”功能了。 |
6 | 推荐在更新功能块调用后进行一致性检查。在 SIMATIC Manager 中,右击 S7 program 文件夹,选择“Check block consistency...”功能,系统会显示S7程序的结构。n 通过工具栏中的第二个按钮或者“Program > Compile All”功能编译程序。在编译后,STEP 7程序一致性将统一。n |
当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图6)。也可以改变此设置:n
一旦已经生成了功能块,多重背景功能就不可以被重新设置,是否具有多重背景的属性只可以显示,除非按照一个冗长的过程来修改它。n
表 2 描述了如何声明一个已经生成的 FB 是否具有多重背景的能力:
步骤 | 过程: |
1 |
为了声明一个已经生成的 FB 是否具有多重背景的能力,打开 LAD/STD/FBD 编辑器,通过“File > Generate source...”在对话框中生成一个 FB 的源文件。在后续的对话框中选择项目并存储源文件到 S7 程序的源文件目录。 |
2 | 在“Generate source <name_block>”对话框中(图7),在左边列表中选择你希望使能或取消多重背景能力的功能块,然后点击箭头将其添加到右边的列表中。点击“OK”关闭对话框。n |
3 | 关闭 LAD/FBD/STL 编辑器,打开在 SIMATIC Manager 生成的源文件。多重背景的能力依赖于在“Version : 0.1”后面输入的代码。
保存并编译源文件,现在功能块即被使能或取消了多重背景的能力。 |
4 | 在使能或取消了多重背景能力之后,现在不得不重新编译所有的在 FB ,为了这个工作,我们推荐执行一致性检查(见表 1,步骤 6) |
下载:
下载的文件包括 3 个系统功能块 SFB3“TP”,其将在 FB1 中作为多重背景被调用。拷贝“Multiins.exe”到硬盘的一个单独目录,然后双击运行。项目会被自动解包,就可以使用 STEP 7 来编辑它了。
Multiins.exe ( 96 KB )
运行及测试环境:
程序例子可以在 SIMATIC S7-300, S7-400, C7和 WinAC 的 CPU 中使用,下表列出了在生成本条目及校验功能的过程中使用的组件。
测试环境 | 版本 |
PC 平台 | Intel(R) Pentium(R) M processor 1.73GHz |
PC操作系统 | Windows XP |
STEP 7 | V5.4 |
S7 PLCSIM | V5.3 |
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337202.html