《S7-300多重背景调用实例复习课程》由会员分享,可在线阅读,更多相关《S7-300多重背景调用实例复习课程(9页珍藏版)》请在金锄头文库上搜索。
1、S7-300多重背景调用实例精品文档多重背景数据块如果在结构化编程时经常使用功能块,那么在每次调用FB时都要为其指定一个单独的背景数据块。对于非常小的FB,它的背景数据块经常由很少的几个字组成,则会浪费大量没有使用的背景数据块空间。当频繁调用和指定背景数据块给这些小的FB时,程序会变得非常不清晰,或者DB块的数量会达到CPU所支持的最大数量。由于一个背景数据块可以长于FB实际需要的长度,因此多个背景数据块可以合并成一个多重背景。但是,这种合并必须在一个FB中通过编程完成。多重背景调用等同于FC的调用,在多重背景下调用的参数填写一定不能空着,必须有实际地址,否则用 DB10的数据程序会混乱具体步
2、骤:1. 先建立一个FB1。符号名:三数相加。完成内容a*b*c=outcome定义形式参数IN:a, b, cOUT:outcometemp:temp_out2. 在 SIMATIC Manager 中,打开你希望生成多重背景的 FB2。在静态变量STAT定义部分,输入多重背景的名字,数据类型为 FB,选择后要注意改成FB1。然后将左侧多重背景的数据模块拖入编程框内。3.建立FB2的多重背景数据块4.在主程序OB1里调用FB25.如果需要可以在主程序里用mov指令给相应的变量例如DB1.DBW2等赋值,或直接在DB2数据库里改变当前值。6.仿真运行多重背景刷新补充内容7. 一旦修改过了多重背
3、景,并打开调用它的功能块。当功能块被打开时,会出现一个消息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调用在 LAD/STL/FBD 编辑器中将会以亮红色显示。为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call.”。8. 在后续的对话框中,点击 OK 来执行接口更新当尝试通过“File Check and Update Accesses”来更新程序块调用时,STEP7 V5.3 不能发现变量间的唯一分配,调用还是保持红颜色,也无法通过“Edit Call Update”改正
4、调用错误。更新调用的唯一办法是删除调用,在声明中更新接口,然后再以多重背景方式调用功能块。如果已经删除了 FB 接口中的变量,应该通过“Edit Call Update”来改正所有的多重背景调用,而不需使用前面的“Check and Update Accesses”功能。一旦已经更新了这些多重背景,就又可以与平时一样使用“Check and Update Accesses”功能了。9. 推荐在更新功能块调用后进行一致性检查。在 SIMATIC Manager 中,右击 S7 program 文件夹,选择“Check block consistency.”功能,系统会显示S7程序的结构。 通过工具栏中的第二个按钮或者“Program Compile All”功能编译程序。在编译后,STEP 7程序一致性将统一。10. 当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图6)。也可以改变此设置 收集于网络,如有侵权请联系管理员删除