您好!欢迎光临工博士商城

西门子工控专卖

   产品:7670    

咨询热线:18500649881

QQ QQ
您当前的位置:首页 » 新闻中心 » 西门子PLC项目中的FB和FC有什么区别
产品分类
新闻中心
西门子PLC项目中的FB和FC有什么区别
发布时间:2017-11-26        浏览次数:848        返回列表
       FB和FC区别
FB--功能块,带背景数据块  FC--功能,相当于函数
FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。

       他们之间的主要区别是:
1. FB使用背景数据块作为存储区,FC没有独立的存储区,使用全局DB或M区
2. FB局部变量有STAT和TEMP,FC由于没有自己的存储区因此不具有STAT,TEMP本身不能设置初始值。
本质上,FB,FC的实现目的是相同的;无论何种逻辑要求,FB,FC均可实现。只是实现方式效率不同,这也和工程师个人编程习惯有关。

       FB块优点:
1. 易于移植性,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景DB,同一个FB块就可以方便
2. 多重背景,减少重复工作,提高效率
3. 多次调用时,参数修改方便
4. 有独立的存储区
       
       FC块优点:
1. 小巧灵活,对于非多次调用的程序更易理解
2. 不占用额外的存储资源、
 
       FB有静态变量,可以将运算值存在静态变量中;FC没有静态变量,只能直接将运算结果输出。
 
       FB自带背景数据块,FC不带背景数据块。使用FB时需要指定该FB的背景数据块。你可以新建一个FB,在接口里新建一个static型变量就明白了
 
       FB.FC主要的不同就是,FB只要调用就会为它分配一个背景数据块(DB"X"),用来存放这个FB中变量声明表里的四个变量(Input,Ouput,Inout,Static)接口中的每个变量所产生的数据地址。

       FC中用到Temp变量时,容易造成数据区重复利用,会出错,因为所有的FB,FC,OB块都是用的同一个L区,而在FB中可以用static静态变量来代替FC中的temp所起到的作用,能够避免数据区重复利用,因为调用时static静态变量DB块也会为它生成一个唯一的绝对地址。



 

联系热线:18500649881   联系人:王芯蕊 联系地址:北京市朝阳区东土城路4号3幢4层

技术和报价服务:星期一至星期六8:00-22:00 西门子工控专卖