在西门子博图中,根据生产工艺的不同,采用结构化编程,不同的控制功能,可以编在不同的函数块FB中。但每个函数块FB对应一个背景数据块DB,这样在项目中就会出现大量的背景数据 "碎片",影响程序的执行效率。使用多重背景,可以减少背景数据块的个数,提高程序的执行效率。
多重背景的使用,就是在一个总FB块内,调用多个不同的FB块或相同的块多次调用,最后共享这个总FB块的背景数据块DB。
每建一个FB块,则数据类型就增加一个带双引号的与FB同名的数据类型,如FB块名称叫【AAA】,则数据类型中就有一个"AAA"
举例说明:一台天车总电气控制
在博图中分别添加FB1、FB2、FB3块。
小车运行控制程序写在FB1内,名称叫【小车运行控制】
大车运行控制程序写在FB2内,名称叫【大车运行控制】
升降运行控制程序写在FB3内,名称叫【升降运行控制】
如下图
再添加一个FB4函数块,在FB4参数接口表的静态变量Static下,建立三个变量如下图,各数据类型选用带引号与FB同名的类型
在FB4内分别调用FB1、FB2、FB3,产生选用背景数据块时,点"取消"如图
生成的块名点<???>号,分别选用各自名称,如下图
在OB1中调用FB4,生成一个总数据块DB1
以上FB1、FB2、FB3没有产生各自的背景数据块,所有接口参数都在FB4的数据块DB1内,从而实现了共用了一个DB块,这就是多重背景的应用。