如何生成和更新多重背景?

说明:

如果在结构化编程时经常使用功能块,那么在每次调用 FB 时都要为其指定一个单独的背景数据块。对于非常小的FB, 它的背景数据块经常由很少的几个字组成。当频繁调用和指定背景数据块给这些小的 FB 时,程序会变得非常不清晰,或者 DB 块的数量会达到 CPU 所支持的最大数量。n

由于一个背景数据块可以长于 FB 实际需要的长度,因此多个背景数据块可以合并成一个多重背景。但是,这种合并必须在一个 FB 中通过编程完成。n

  1. 表1:编程多重背景和更新修改过的背景n
  2. 表2: 对已经存在的 FB 多重背景能力的后续声明

表1:编程多重背景和更新修改过的背景

步骤 过程:
1

在 SIMATIC Manager 中,打开你希望生成多重背景的 FB。在静态变量定义部分,输入多重背景的名字,数据类型为 FB 或 SFB。n

如何生成和更新多重背景?
图 1

2

在程序中调用多重背景,可以在多重背景中的目录中选择托拽它到 NETWORK 中,也可以用 CALL 指令调用它。n

如何生成和更新多重背景?
图 2n

在STEP 7 V5.4 SP2 中请注意:

如果在LAD/FBD编辑器的目录视图中多重背景未被列出,推荐在静态变量声明中先插入一个功能块,然后再删除它。这样多重背景就再次可以被选择。

3

现在设置程序块的输入和输出并保存。就可以在程序(例如 OB1)中使用多重背景来调用 FB。创建一个背景数据块以供监控。n

注意:
当生成多重背景时,如其在 FB 中作为一个多重背景被调用,注意要首先生成它,然后再指定一个多重背景调用。如果不遵从这个顺序,程序中将会出现不一致的情况,这种不一致的情况也有可能在修改多重背景后出现。

4

一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出现一个消息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调用在 LAD/STL/FBD 编辑器中将会以亮红色显示。n

为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call...”。n

如何生成和更新多重背景?
图 3

5

在后续的对话框中,点击 OK 来执行接口更新。n

如何生成和更新多重背景?
图 4n

在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

如何生成和更新多重背景?
图 5

当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图6)。也可以改变此设置:n

如何生成和更新多重背景?
图 6n

一旦已经生成了功能块,多重背景功能就不可以被重新设置,是否具有多重背景的属性只可以显示,除非按照一个冗长的过程来修改它。n

表 2 描述了如何声明一个已经生成的 FB 是否具有多重背景的能力:

步骤 过程:
1

为了声明一个已经生成的 FB 是否具有多重背景的能力,打开 LAD/STD/FBD 编辑器,通过“File > Generate source...”在对话框中生成一个 FB 的源文件。在后续的对话框中选择项目并存储源文件到 S7 程序的源文件目录。

2

在“Generate source <name_block>”对话框中(图7),在左边列表中选择你希望使能或取消多重背景能力的功能块,然后点击箭头将其添加到右边的列表中。点击“OK”关闭对话框。n

如何生成和更新多重背景?
图 7

3

关闭 LAD/FBD/STL 编辑器,打开在 SIMATIC Manager 生成的源文件。多重背景的能力依赖于在“Version : 0.1”后面输入的代码。

如何生成和更新多重背景?
图 8

  • 如果希望 FB 具备多重背景的能力,删除“CODE_VERSION1”属性。
  • 如果希望 FB 不具备多重背景的能力,按照图8中添加“CODE_VERSION1”属性。

保存并编译源文件,现在功能块即被使能或取消了多重背景的能力。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论