详细介绍
西门子CPU1518-4 PN/DP4 MB 程序数据块可分配给传送参数的每个功能块调用。实际参数和FB的静态数据保存在实例DB中。在FB中声明的变量确定背景数据块的结构。实例即指功能块调用。例如,如果在S7 用户程序中调用一个功能块5次,那么有5个该块的实例。
创建实例DB
创建背景数据块之前,必须存在相应的FB。创建背景数据块时FB的编号。
每个单独实例都有一个实例DB
如果将多个背景数据块分配给控制电机的功能块(FB),那么可以使用该FB来控制不同电机。
每个特定电机的数据(例如,速度、起动时间、总操作时间)保存 在不同的数据块中。调用时与FB有关的DB决定控制哪台电机。通过该技术,只需一个功能块就可用于多个电机(参见下图)。
一个实例DB可用于一个FB的多个实例(多重背景)
可以在一个实例DB中同时给多个电机传送实例数据。为此,必须在另一个FB中编程调用电机控制器,并在调用FB的声明部分给单个实例以数据类型FB声明静态变量。
给一个FB的多个实例使用一个实例DB,可西门子CPU1518-4 PN/DP4 MB 程序以节省内存,优化使用数据块。
在下图中,调用FB为FB21"电机处理",其变量数据类型为FB22,实例由Motor_1、Motor_2和 Motor_3标识。
在该实例中,FB22不需要本身的背景数据块,因为其实例数据保存在调用FB的背景数据块中。
一个实例DB就可用于不同FB的多个实例(多重背景)
在功能块中,可以调用其它已存在的FB实例。可以将所要求的实例数据分配给调用FB的背景数据块,表示此时不需要给已调用的FB提供任何附加数据块。
对于这些在一个背景数据块中的多重背景,必须在调用功能块的声明部分给每个单独实例以已调用功能块的数据类型声明静态变量。因此,功能块内的调用不要求背景数据块,只需要变量的符号名。
在下图的实例中,已分配的实例DB保存在通用实例DB中。