电工学习网

 找回密码
 立即注册

寻找STEP7不能生成多重背景的原因

2013-8-22 14:57| 编辑:电工学习网| 查看: 8871| 评论: 0

      我们有时需要多次调用某些功能块,每次调用都需要生成一个背景数据块,但是这些背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块“碎片”。在用户程序中使用多重背景可以减少背景数据块的数量。
S7-1200的定时器和计数器都是功能块,使用它们时也需要指定背景数据块。S7-1200也能使用多重背景。
        《S7-300/400  plc应用技术》的“发动机控制”例程中,用FB1控制汽油机和柴油机,分别使用了背景数据块DB1和DB2。在例程“多重背景”的FB10的变量声明表中声明数据类型为FB  1的两个静态变量,它们就是所谓的多重背景。它们具有FB1的全部属性,包括程序和局部变量,它们的数据存储在FB10的背景数据块DB10中。因此使用多重背景可将多次调用FB1的背景数据存放在FB10的背景数据块中。
        有个读者在学习多重背景的时候问我:“我按书中做的例子中,就是汽油机和柴油机控制的例子,在FB10中定义静态变量时,变量的数据类型为FB1,定义后变为它的符号“发动机控制”,为什么这几个字是红色的??”  他同时把有问题的项目文件发给我。
        图1:

        打开他发来的项目,发现FB10的属性有问题。
        下面是我的回答:“这几个字为红色表示定义的这个静态变量有问题。在管理器里用右键点击FB10,执行出现的快捷菜单中的“属性”命令,在“属性”对话框可以看到“无多实例能力”(无多重背景功能)。”
        图2:

为了解决这个问题,在生成FB10的时候一定要选中“多重背景功能”多选框。
图3:

        用邮件把上述回答发给了他,他来邮件说按我的建议重新生成有多重背景功能的FB10后,还是不能生成数据类型为FB1的静态变量。他把修改后的项目发给了我。
        经检查我发现他生成的FB1也没有多重背景功能,问题可能就出在这里。重新生成有多重背景功能的FB1后,就可以在FB10中生成数据类型为FB1的多重背景了。
最后可以得出结论:为了使用多重背景,有关的功能块(FB1和FB10)都必须设置为有多重背景功能!
        过去我是这样做的,但是因为做得很顺利,没有发现这个规则。“失败是成功之母”,我们的经验是在遇到问题和解决问题的过程中积累起来的,这是成为高手的必由之路,但是还必须善于总结经验教训,不然下一次又会犯同样的错误。
        最后介绍一个STEP7帮助提供的诀窍:
        如果没有创建具有多重背景功能的功能块,而又希望该功能块具有这种属性,可以根据功能块生成一个源文件,随后删除其中的块属性CODE_VERSION1,重新对功能块进行编译,该功能块就有多重背景功能了。

看过《寻找STEP7不能生成多重背景的原因》的人还看了以下文章:

发表评论

最新评论

  • PLC输入端和输出端怎么接线
  • 什么是COM端口?PLC中COM端口如何接线?
  • plc控制电动机正反转梯形图
  • 西门子S7-200系列PLC全套接线图
  • PLC十字路口的交通灯控制编程实例
  • plc基础知识指令27个
热点文章

电工学习网 ( )

GMT+8, 2023-7-25 17:44

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部