APP下载

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

消息来源:baojiabao.com 作者: 发布时间:2024-05-15

报价宝综合消息STEP7中如何生成和更新多重背景?

说明:

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

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

一、程式设计多重背景和更新修改过的背景:

1、在 SIMATIC Manager 中,开启你希望生成多重背景的 FB。在静态变数定义部分,输入多重背景的名字,资料型别为 FB 或 SFB。

2、在程式中呼叫多重背景,可以在多重背景中的目录中选择托拽它到 NETWORK 中,也可以用 CALL 指令 呼叫它。

3、现在设定程式块的输入和输出并储存。就可以在程式(例如 OB1)中使用多重背景来呼叫 FB。建立一个背景资料块以供监控。

注意:

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

4、一旦修改过了多重背景,并开启呼叫它的功能块。当功能块被开启时,会出现一个讯息显示在 FB 界面宣告中有一个 UDT 或本地标签的被修改,并显示在功能块呼叫中至少有一个时间标签冲突。确认此资讯,修改过的背景呼叫在 LAD/STL/FBD 编辑器中将会以亮红色显示。

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

5、在后续的对话方块中,点选 OK 来执行界面更新。

在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程式的结构。

通过工具栏中的第二个按钮或者“Program > Compile All”功能编译程式。在编译后,STEP 7程式一致性将统一。

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

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

二、如何宣告一个已经生成的 FB 是否具有多重背景的能力:

1、为了宣告一个已经生成的 FB 是否具有多重背景的能力,开启 LAD/STD/FBD 编辑器,通过“File > Generate source...”在对话方块中生成一个 FB 的原始档。在后续的对话方块中选择专案并存储原始档到 S7 程式的原始档目录。

2、在“Generate source ”对话方块中(图7),在左边列表中选择你希望使能或取消多重背景能力的功能块,然后点选箭头将其新增到右边的列表中。点选“OK”关闭对话方块。

3、关闭 LAD/FBD/STL 编辑器,开启在 SIMATIC Manager 生成的原始档。多重背景的能力依赖于在“Version : 0.1”后面输入的程式码。

如果希望 FB 具备多重背景的能力,删除“CODE_VERSION1”属性。如果希望 FB 不具备多重背景的能力,按照图8中新增“CODE_VERSION1”属性。储存并编译原始档,现在功能块即被使能或取消了多重背景的能力。

4。在使能或取消了多重背景能力之后,现在不得不重新编译所有的在 FB ,为了这个工作,我们推荐执行一致性检查。

2019-07-11 20:51:00

相关文章