故事作者:Automann

最近创作

看看TA的故事

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

已锁定

Automann

  • 帖子

    6291
  • 精华

    139
  • 被关注

    292

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

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

1808

2

2012-02-06 07:50:01

        我们有时需要多次调用某些功能块,每次调用都需要生成一个背景数据块,但是这些背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块“碎片”。在用户程序中使用多重背景可以减少背景数据块的数量。
S7-1200的定时器和计数器都是功能块,使用它们时也需要指定背景数据块。S7-1200也能使用多重背景。
        《S7-300/400  PLC应用技术》的“发动机控制”例程中,用FB1控制汽油机和柴油机,分别使用了背景数据块DB1和DB2。在例程“多重背景”的FB10的变量声明表中声明数据类型为FB  1的两个静态变量,它们就是所谓的多重背景。它们具有FB1的全部属性,包括程序和局部变量,它们的数据存储在FB10的背景数据块DB10中。因此使用多重背景可将多次调用FB1的背景数据存放在FB10的背景数据块中。
        有个读者在学习多重背景的时候问我:“我按书中做的例子中,就是汽油机和柴油机控制的例子,在FB10中定义静态变量时,变量的数据类型为FB1,定义后变为它的符号“发动机控制”,为什么这几个字是红色的??”  他同时把有问题的项目文件发给我。
        点击下面链接查看图1:
http://www.ad.siemens.com.cn/club/bbs/upload/634641103838853750.jpg
        打开他发来的项目,发现FB10的属性有问题。
        下面是我的回答:“这几个字为红色表示定义的这个静态变量有问题。在管理器里用右键点击FB10,执行出现的快捷菜单中的“属性”命令,在“属性”对话框可以看到“无多实例能力”(无多重背景功能)。”
        点击下面链接查看图2:
http://www.ad.siemens.com.cn/club/bbs/upload/634641104125885000.jpg
为了解决这个问题,在生成FB10的时候一定要选中“多重背景功能”多选框。
点击下面链接查看图3:
http://www.ad.siemens.com.cn/club/bbs/upload/634641104985728750.jpg
        用邮件把上述回答发给了他,他来邮件说按我的建议重新生成有多重背景功能的FB10后,还是不能生成数据类型为FB1的静态变量。他把修改后的项目发给了我。
        经检查我发现他生成的FB1也没有多重背景功能,问题可能就出在这里。重新生成有多重背景功能的FB1后,就可以在FB10中生成数据类型为FB1的多重背景了。
最后可以得出结论:为了使用多重背景,有关的功能块(FB1和FB10)都必须设置为有多重背景功能!
        过去我是这样做的,但是因为做得很顺利,没有发现这个规则。“失败是成功之母”,我们的经验是在遇到问题和解决问题的过程中积累起来的,这是成为高手的必由之路,但是还必须善于总结经验教训,不然下一次又会犯同样的错误。
        最后介绍一个STEP  7帮助提供的诀窍:
        如果没有创建具有多重背景功能的功能块,而又希望该功能块具有这种属性,可以根据功能块生成一个源文件,随后删除其中的块属性CODE_VERSION1,重新对功能块进行编译,该功能块就有多重背景功能了。


寻找不能生成多重背景的原因 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3227条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。