西门子300PLC的FB和fc的区别?

2024-12-02 05:29:39
推荐回答(4个)
回答1:

如果FB和FC不需要多次调用,那么这两者之间就没区别。如果多次调用,FB模块可以带数据DB,有初始值。FC不带数据DB。
举个简单的例子,有一个工艺需要多次调用,并且用到一个数据,这数据在不同的次数里有不同的数值。那么这时候使用FC就不可能实现这么个功能。用FB了,在数据区里,每一次的调用,都可以定义不同的初始值,问题也就解决了。当谈,假如多次调用的模块工艺里不携带数据的,那FB和FC也没区别,都相当于200里的子程序。

回答2:

简单一点,FB和FC都可以看做是子程序,都可以被多次调用,区别是FB需要一个背景数据块,FC不需要。当调用子程序时,FB可以保存中间运算结果不变到背景数据块中,以便下次调用时继续使用,FC不能保存中间运算结果,下次调用时中间变量被赋予随机值,不能继续使用,需要重新赋值后才可以使用

回答3:

fc功能fb功能块,区别在于功能块带数据存储,两者都是为了简化编程结构化编程设计的,目的都是用程序实现一个用户想要的功能,你的例子倒是是最好的证明了,条条大路通罗马

回答4:

FC,FB其实从根本上来说,都是一个函数。他们具有相同的功能。如同两个人,他们都会炒这一道菜。但是FC很穷,因为他们没有自己的厨房,当他需要炒菜的时候,需要向人家借用厨房,炒完之后,还要打扫干净,归还人家。如果他炒两次菜,则需要向人家借两次。
而FB则不同,他把自己的手艺传授给了DB1,DB2......DBn,一共N个这样的徒弟。并且这N个人都有自己的厨房。当需要炒菜的时候,N个徒弟可以同时开工,很快就把菜做好了。并且他们炒完之后,也不需要打扫自己的厨房。

FC就是一人形单影只的吊丝。运算的时候,需要向RAM借用空间,运行完毕后,这个空间就不属于它了。所有的数据都被清空。只把结果留给他人。则FB则是一个坐拥N套房子的高富帅。他想用那个房子炒菜,就用那个房子炒菜。每次完成之后,也不需要清理房间,因为这是他自己的房子。FB运行过程的数据,都可以在DB块中保存下来,只到下一次运算,被新的数据覆盖。