电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

FB的功能是什么?其优点是什么?

2016-12-14 22:43分类:PLC编程入门 阅读:

 

       FB(Function Block)不同于FC块的是它带有一个存储区,即有一个局部数据块被分配给FB,这个数据块称为背景数据块(lnstance Data Block)。
      当调用FB时,必须指定背景数据块的号码,该数据块将自动打开。
      背景数据块可以保存静态变量,故静态充数量只能用于FB中,并在其变量声明表中定义。当FB退出时,静态变量仍然保持。
      当FB被调用时,实际参数的值被存储在它的背景数据块中。如果在调用块时,没有实际参数分配给形式参数,则在程序执行中将采用上一次存储在背景数据块中的参数值。
      每次调用FB时可以指定不同的实际参数。当块退出时,背景数据块中的数据仍然保持。
      可以看出,FB的优点如下。
     (1)当编写FC程序时,必须寻找空的标志区保持的数据,并且要自己编写程序来保存它们。而FB的静态变量可南STEP 7的软件来自动保存。
     
 (2)使用静态变量可避免两次分配同一存储区的危险。结合前面例子,如果用FB实现FC1的功能,并用静态变量EarlYV- ast LastValuc和I。atcsiValuc来代替 原来的形式参数,将r叮省略这三个形 式参数,简化块的调用。在FBl中定 义形式参数,编写程序同7-8(a)所  示。图7 9所示为调用FI31子程序,
 
或数据区来存储需
  
   
 
         其中DBI为FBI的背景数据块,在输入时若DBI不存在,则将自动生成该背景数据块。双击背景数据块DB1将其打开,可以看到DB1中保存的是在FB的接口定义的形式参数(见表7-4)。对于背景数据块,无法进行编辑修改ER而读写其中的数据。
        调用FB块时需要为其指定背景数据块(见图7-10),这称为Fl3背景化,类似于C语言等高级有语言中的背景化,即在变量名称和数据类型下面建立一个变量。只有通过用于存储块参数和静态变量的“白有”数据区,FB才能成为可

 图7 8(b)中,调用FCI,并赋值实际参数,求得的平均值存放在MD72中。这样,通过不同的实际参数可以重复调用FCI进行多路滤波。但是,通过此例也可以看出一个问题:我们关心的只是三个数的平均值,而调用FC1子程序时,却需要为三个采集值寻找全局地址进行保存,这样做不但麻烦而且容易造成地址重叠,能不能既不用人为寻找全局地址而又能保存数值呢?通过FB就可以实现。
 

上一篇: 交叉引用表的作用是什么?

下一篇: “转移到”操作有什么功能?

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部