跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
合金电阻捷比信 · 专业器件主题站

西门子PLC的一个背景数据块用于某个FB的多个背景

一个背景数据块用于某个FB的多个实例(多个实例)。用户还可以将多个电机的背景数据同时传输到一个背景数据块。为此,用户必须添加一个FB来管理电动机控制器的多个调用,并且用数据类型为“ FB”的静态变量来定义每个背景。在调用FB的定义表中。如果用户仅使用一个背景数据库来存储某个FB的多个背景,则可以节省存储空间,并且可以最佳地使用数据块。在此示例中,FB22不需要其自己的背景数据块,因为其背景数据存储在调用FB的背景数据块中。一个背景数据块用于不同FB的多个实例(多个实例)。在功能块中,用户可以调用其他现有FB的背景。为此,用户可以将所需的实例数据分配给调用FB的实例数据块,这意味着在这种情况下,用户无需将任何数据块添加到被调用FB。为了在一个实例数据块中实现这些多个实例,用户必须在调用功能块的变量声明表部分中为每个独立实例定义一个称为FB的静态变量作为数据类型。功能块内部的调用不再需要背景数据块,仅需要变量的符号名。变量声明表中有多个实例;使用多个实例:如果用户希望或不得不使用有限数量的数据块来存储后台数据以提高S7CPU的性能(例如存储容量),则是可能的。如果在功能块中调用其他功能块(FB),则它们不需要自己的(额外)实例数据块。解决方案如下:•在调用功能块的变量声明表中,将被调用功能块用作静态变量参数。 •在该功能块中,调用没有(额外)背景数据块的其他功能块。 •这样可以将背景数据压缩到一个背景数据块中,并且用户可以更有效地使用该数据块的资源。唯一的要求:用户必须“告诉”用户身份。调用功能块,需要调用哪个背景以及这些背景的类型(FB是什么?)。这些详细信息必须在调用功能块的参数声明窗口中输入。被调用的功能块在数据区域中必须至少具有一个变量或参数(不能使用VAR_TEMP)。声明多个实例的规则:声明多个实例具有以下规则:•只有在STEP 2版本2及更高版本中生成的功能块(请参见功能块属性中的块特征)才能声明多个实例。 •为了声明多个实例,必须将功能块设置为具有多个实例功能(STEP7中的默认设置),可以通过编辑器中的“选项”>“自定义”将其取消。 •必须有一个分配给该功能块的实例数据块,该数据块声明了多个实例。 •多个实例只能声明为静态变量(声明类型为“ Stat”)。在变量声明窗口中输入多个实例:1.打开功能块,将在其中调用下一级功能块。 2.如果不想将背景数据块用于要调用的功能块,则可以在调用它们的功能块的变量声明表中为这些功能块定义一个静态变量。 -选择“ STAT”。在变量表中。 -在“名称”(Name)中输入用于FB呼叫的名称。变量窗口的列。 -在“ DataType(数据类型)”中;列中,输入要称为绝对地址的功能块或使用其符号名称。 -您可以在评论字段中输入所需的任何评论。如果声明了多个实例,则在程序部分中调用,您可以调用FB,而无需指定背景数据块。例如:如果静态变量“ Name:Motor_1,Datatype:FB20”定义后,可以调用以下背景:CallMotor_1 //调用FB20,没有实例数据块注意:l FB2在FB1中定义为多个实例,并且FB2的时间戳比FB1的时间戳新。 l修改FB接口后,必须刷新现有的多个实例和实例数据块。 l调用FB(一个或多个实例)时,地址寄存器AR2被重写。