您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > S7-300多重背景调用实例
多重背景数据块如果在结构化编程时经常使用功能块,那么在每次调用FB时都要为其指定一个单独的背景数据块。对于非常小的FB,它的背景数据块经常由很少的几个字组成,则会浪费大量没有使用的背景数据块空间。当频繁调用和指定背景数据块给这些小的FB时,程序会变得非常不清晰,或者DB块的数量会达到CPU所支持的最大数量。由于一个背景数据块可以长于FB实际需要的长度,因此多个背景数据块可以合并成一个多重背景。但是,这种合并必须在一个FB中通过编程完成。多重背景调用等同于FC的调用,在多重背景下调用的参数填写一定不能空着,必须有实际地址,否则用DB10的数据程序会混乱具体步骤:1.先建立一个FB1。符号名:三数相加。完成内容a*b*c=outcome定义形式参数IN:a,b,cOUT:outcometemp:temp_out2.在SIMATICManager中,打开你希望生成多重背景的FB2。在静态变量STAT定义部分,输入多重背景的名字,数据类型为FB,选择后要注意改成FB1。然后将左侧多重背景的数据模块拖入编程框内。3.建立FB2的多重背景数据块4.在主程序OB1里调用FB25.如果需要可以在主程序里用mov指令给相应的变量例如DB1.DBW2等赋值,或直接在DB2数据库里改变当前值。6.仿真运行多重背景刷新补充内容7.一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出现一个消息显示在FB接口声明中有一个UDT或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调用在LAD/STL/FBD编辑器中将会以亮红色显示。为了更新功能块调用,右击功能块,然后在弹出菜单中选择“UpdateBlockCall...”。8.在后续的对话框中,点击OK来执行接口更新当尝试通过“FileCheckandUpdateAccesses”来更新程序块调用时,STEP7V5.3不能发现变量间的唯一分配,调用还是保持红颜色,也无法通过“EditCallUpdate”改正调用错误。更新调用的唯一办法是删除调用,在声明中更新接口,然后再以多重背景方式调用功能块。如果已经删除了FB接口中的变量,应该通过“EditCallUpdate”来改正所有的多重背景调用,而不需使用前面的“CheckandUpdateAccesses”功能。一旦已经更新了这些多重背景,就又可以与平时一样使用“CheckandUpdateAccesses”功能了。9.推荐在更新功能块调用后进行一致性检查。在SIMATICManager中,右击S7program文件夹,选择“Checkblockconsistency...”功能,系统会显示S7程序的结构。通过工具栏中的第二个按钮或者“ProgramCompileAll”功能编译程序。在编译后,STEP7程序一致性将统一。10.当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图6)。也可以改变此设置
本文标题:S7-300多重背景调用实例
链接地址:https://www.777doc.com/doc-3556690 .html