您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400PLC 功能块的组成

来源:艾特贸易2017-10-30

简介在功能块中,当访问参数时使用背景数据块中的实际参数的复制参数。当调用 FB 时,如果没有传送输入参数或没有写输出参数,则背景数据块中将始终使用以前的值。 FC 没有存储器,


    在功能块中,当访问参数时使用背景数据块中的实际参数的复制参数。当调用FB时,如果没有传送输入参数或没有写输出参数,则背景数据块中将始终使用以前的值。FC没有存储器,与FB对比,不可以选择对FC的形参赋值。当数据块的一个地址或调用块的局部变量作为实际参数时,则将一个复制的实际参数存储到调用块的局部数据区,用它来传送数据。

    注意,在这种情况下,如果没有向FC的输出参数写入一个数据,则将输出一个随机值。由于作为复制数据所保留的调用块的局部数据区没有赋值到输出参数,所有该区没有写入任何数据。因此将输出存储在该区域的随机值,因为局部数据不能自动地设置为0

    功能块(FB)为用户程序块,代表具有存储器的逻辑块。可以由OBFBFC调用。功能块可以根据需要具有足够多的输入参数、输出参数和I/O参数,以及静态和临时变量。与FC不同的是,FB是背景化了的块,也就是说,FB可以由其私有数据区域的数据进行赋值,在其私有数据区域中,FB可以记住调用时的过程状态。最简单的形式为:该专用数据区便是FB的自有DB,也就是所谓的背景DB

    功能块由两个主要部分组成:一部分是每个功能块的变量声明表,该表声明此块的局部数据;另一部分是逻辑指令组成的程序,程序要用到变量声明表中给出的局部数据。

    当调用功能块时,需要提供块执行时要用到的数据或变量,也就是将外部数据传递给功能块,这称为参数传递。参数传递的方式使得功能块具有通用性,它可被其他的块调用,以完成多个类似的控制任务。

一个程序由许多部分(子程序)组成,STEP 7将这些部分称为逻辑块,并允许块间相互调用。调用过程如图4-4所示。

 图4-4功能块的调用过程

4-4功能块的调用过程