FC和FB的区别

FC和FB的区别

在PLC编程时,如倍福或者西门子的编程,都会用到子程序 FC,FB的使用,可以提高程序的重复使用,减少代码量,降低代码的出错率,现在将两个的区别总结下。

FC块的全称是“Function”,即“函数”。

FB是具有DB背景块的特殊FC,也就是说FB具有FC的功能,同时拥有一个DB(DataBlock)。即FB=FC+DB.

FC没有背景数据块,也就是说它没有专门的数据存储区域,只是在运行期间分配了一个临时的数据区,由于没有一个永久的数据块来存放数据,因此它没有存储功能。 它的相关变量数据,在FC块运行结束的时候全部消失不见。
它的输入和输出数据是反应在接线端子上,在内部没有对应的存储地址。在FC的接口参数表中,各种参数也没有实际的地址,只是形式参数。只有在调用程序时,才能和实际的地址产生联系,八十几的参数地址传送到FC参数中,给予入口参数,经过逻辑运算,执行完毕后,从出口参数中读出数据,此后这个FC的功能就消失了。所以,FC的参数所传递的是数据的地址

FB所传递的则是是数据。 它将自身的数据(输入参数,输出参数,静态变量)永久的存储在背景数据块中。它的运行方式是围绕着数据块处理数据,并且将运算结果保持在数据块中。在FB被执行后,这些数据仍然可以使用。
FB在运行时,其运算时不带存储空间的,因此必须从外部加上数据中转储存区,被分配给FB的储存区叫做DB,也就是FB的背景数据块。这个DB被指定给该FB使用,不能作为其他的用途。FB每次被调用时,都会产生一个背景数据块,因此一个FB可以有若干个DB。
如果使用FB,有时可以简化编程。例如,如果要对多个参数相同的设备进行程序相同的控制,如果使用FC,每次调用时,其I/O区域必须手动输入各种变量,否则程序不能运行,有时这方面的工作量非常大。
而使用FB时,只要编制一套程序就行了。每次调用这个FB时,都会自动产生一个背景数据块,在背景数据块中,自动给IO区域的变量赋予地址,这里所指的是符号地址,如果需要使用绝对地址,仍然需要再IO端子上手动输入。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值